Debugging NFSv3 Mount Timeouts: Server Recovery and Client Connectivity Issues


2 views

After a routine hardware maintenance on our Linux fileserver running OpenSUSE, we encountered persistent NFSv3 mount timeouts from client machines. The server exports remained visible via showmount, but actual mounting attempts would hang indefinitely with kernel messages showing "server not responding, timed out".

Basic connectivity checks confirmed network access:


[root@client ~]# ping ark
PING ark.homebase (10.10.10.2) 56(84) bytes of data.
64 bytes from ark.homebase (10.10.10.2): icmp_seq=1 ttl=64 time=0.067 ms

The export configuration appeared correct:


ark:/etc # cat exports
/mnt/bigraid    *(rw,root_squash,insecure,no_subtree_check,sync)

Checking RPC services revealed all required NFS components were running:


ark:/etc/init.d # rpcinfo -p
program vers proto   port
100000    2   tcp    111  portmapper
100005    1   udp  37599  mountd
100003    2   udp   2049  nfs
[...]

The key fix involved completely restarting the NFS and RPC services:


ark:/etc/init.d # ./nfsserver stop
Shutting down kernel based NFS server: nfsd statd mountd idmapd       done
ark:/etc/init.d # ./portmap stop
Shutting down RPC portmap daemon                                      done
ark:/etc/init.d # ./portmap start
Starting RPC portmap daemon                                           done
ark:/etc/init.d # ./nfsserver start
Starting kernel based NFS server: idmapd
exportfs: Warning: /mnt/bigraid does not support NFS export.
mountd statd nfsd sm-notify                                          done

The warning about /mnt/bigraid does not support NFS export appeared misleading - the export became mountable despite this message. This suggests the filesystem may have needed proper remounting after hardware changes.

To avoid similar issues after future maintenance:

  • Consider adding explicit port definitions in /etc/sysconfig/nfs
  • Implement firewall rules for NFS ports if enabled
  • Verify filesystem consistency before exporting

Example firewall rule for NFSv3:


iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp --dport 20048 -j ACCEPT

When your NFS client can successfully list exports via showmount -e but fails to mount with timeout errors, we're typically dealing with one of these scenarios:

# Classic symptoms seen in dmesg
[ 2526.676437] nfs: server ark not responding, timed out
[ 2529.183107] nfs: server ark not responding, timed out

Before diving deep, verify basic network functionality:

# Confirm DNS resolution and basic connectivity
ping ark
nslookup ark

# Check if NFS ports are accessible
rpcinfo -p ark

Many NFSv3 issues stem from improper service initialization sequence. Here's the correct restart procedure:

# On the NFS server
service portmap stop
service nfs-common stop
service nfs-kernel-server stop

# Then start in reverse order
service portmap start
service nfs-common start
service nfs-kernel-server start

Even if you think the firewall is off, double-check these critical ports:

# Required ports for NFSv3
Port 111 (portmapper)
Port 2049 (nfsd)
Ports 32764-32769 (typically used for mountd)

The warning message about filesystem support is particularly telling:

exportfs: Warning: /mnt/bigraid does not support NFS export.

This often indicates either:

  • Filesystem wasn't properly mounted after hardware maintenance
  • Underlying storage issues preventing NFS operations
  • Filesystem corruption requiring fsck

For advanced diagnosis, capture the NFS negotiation:

tcpdump -i eth0 -s0 -w nfs_debug.pcap port 111 or port 2049 or port 32764

Look for these key patterns:

  • Initial portmapper requests
  • MOUNT protocol exchanges
  • NFS procedure calls

When standard mounts fail, try these parameters:

mount -t nfs -o soft,timeo=5,retrans=3 ark:/mnt/bigraid /raid

Key options:

  • soft: Fail instead of hanging
  • timeo: Shorter timeout period
  • retrans: Fewer retry attempts

On the NFS server, these logs often reveal the root cause:

/var/log/messages
/var/log/syslog
journalctl -u nfs-server

Look for messages about:

  • RPC service registration failures
  • Filesystem export errors
  • Permission issues