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?
Edit:
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.
Edit 2:
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.
0 Answers