I have an nfs-server that halfway hangs now and then. On server l this works:
# uname -a Linux l 3.2.0-0.bpo.1-amd64 #1 SMP Sat Feb 11 08:41:32 UTC 2012 x86_64 GNU/Linux # showmount -e l Export list for l: /disk/l 192.168.0.0/16 # mount l:/disk/l /mnt/disk/ # ls /mnt/disk
So it seems nfs works from server l to server l.
On server e:
# uname -a Linux e 3.2.0-0.bpo.1-amd64 #1 SMP Sat Feb 11 08:41:32 UTC 2012 x86_64 GNU/Linux # showmount -e l Export list for l: /disk/l 192.168.0.0/16 # mount l:/disk/l /mnt/disk/ <<hangs>>
I have stop-started the
/etc/init.d/nfs-kernel-server on server l, and mounting l:/disk/l on another dir still hangs on server e.
After booting server l I can mount on server e and everything is fine. But I would like to avoid the reboot as that disturbs users.
How can I kick the nfs-kernel-server so hard that it actually restarts completely and not just half-way restarts as seen above?
I have also restarted portmap.
When I restart nfs-kernel-server it spends a lot of time after printing 'nfsd'. It seems it is hanging at: /usr/bin/rpcinfo -u localhost nfs 3
# /usr/bin/rpcinfo -u localhost nfs 3 rpcinfo: RPC: Timed out program 100003 version 3 is not available
My other NFS servers say:
program 100003 version 3 ready and waiting
So that could be related to the problem.
I tried removing and re-installing portmap and nfs-kernel-server. No luck.
So I mucked around with
rpcinfo and did
rpcinfo -d <<all services>> <<all versions>> so the output is now:
# rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100024 1 udp 58796 status 100024 1 tcp 48139 status 100005 1 udp 48989 mountd 100005 1 tcp 52848 mountd 100005 2 udp 48989 mountd 100005 2 tcp 52848 mountd 100000 2 udp 111 portmapper
Restarting nfs-kernel-server no longer pauses during /usr/bin/rpcinfo -u localhost nfs 3:
# /usr/bin/rpcinfo -u localhost nfs 3 rpcinfo: RPC: Program not registered program 100003 version 3 is not available
Also I can no longer mount the local nfs on the local machine. I imagine that I some how need to register nfs in rpcinfo. Restarting nfs-kernel-server does not do that (or if it does, it does not work).
showmount -e still works.