1

Setup

I've set up a thin client running gentoo according to these instructions. It seems to work quite nicely except that every once in a while it freezes.

I've found that I can duplicate the issue by pulling the network, running ls, and then plugging the network back in. For whatever reason it's not recovering from the loss of network. I would assume that the OS should be able to handle momentary I/O loss (let's say that a hard drive takes a second or two to respond), so I think it can't be just a glitch in the filesystem, but rather that the nfs connection isn't coming back at all. The filesystem is mounted as nfs4 with the following options:

rw,relatime,vers=4.0,rsize=4096,wsize=4096,namlen=255,hard,proto=udp,port=0,timeo=11,retrans=3,sec=sys,clientaddr=xxx.xxx.xxx.xxx,local_lock=none,addr=yyy.yyy.yyy.yyy

Previously, I was using no proto spec (defaulting to tcp) and that didn't work any better. I've found that after removing the udp flag from boot it still boot as udp, so now I think I may have been looking at the /home mount instead of the / mount.

I figure what's happening when I'm not pulling the cord is that the network glitches for a second, something's trying to access a file (seems to be freezing when I'm compiling some software), and then it doesn't recover.

Information from dmesg

I have run a bunch of tests, and found that apparently disconnecting/reconnecting the cable doesn't always cause a problem, but sometimes does. In the dmesg log, when this happens, the last line is:

nfs: server yyy.yyy.yyy.yyy not responding, still trying

Question

What can I do to make the system robust to network problems?

  • NFS should resume working once the network comes back, so you should investigate the possibility that the network isn't coming back, due to hardware failure or some other cause. Try pinging the server continuously and disconnecting/reconnecting your network cable. If ping resumes working, you've ruled that out. – Kyle Jones Sep 5 '14 at 17:14
  • I can already tell you from prior experience that I can ping the system even after it's "frozen". So the network is definitely up. – CrazyCasta Sep 5 '14 at 20:54
  • More to add, I've replicated, by running ping before the connection is lost I can confirm that the client can ping the server and the server can ping the client after the connection loss/reconnection. Also I'm getting a message nfs: server xxx.xxx.xxx.xxx not responding, still trying, however it never seems to actually reconnect. – CrazyCasta Sep 5 '14 at 22:07
  • I just found out that perhaps I was never actually running in tcp mode (I booted up without the udp flag and it was still going udp, I had been looking at a different mount (the /home mount) which was getting mounted with tcp. Maybe that that was all that was up. – CrazyCasta Sep 6 '14 at 2:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.