Portmapper troubleshooting

From Brandonhutchinson.com

Revision as of 15:43, 15 July 2008 by Hutch (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

In this example, mounting a volume on an NFS server is unsuccessful.

  • NFS client (Solaris 10 x86): 10.205.0.56
  • NFS server (NetApp filer): 10.209.128.16

What happens if we try to mount the file system?

# mount 10.209.128.16:/vol/fs /tmp/mnt
nfs mount: 10.209.128.16: : RPC: Rpcbind failure - RPC: Timed out
nfs mount: retrying: /tmp/mnt

snoop output:

...
10.205.0.56 -> 10.209.128.16 PORTMAP C GETPORT prog=100005 (MOUNT) vers=3 proto=UDP
10.205.0.56 -> 10.209.128.16 PORTMAP C GETPORT prog=100005 (MOUNT) vers=3 proto=UDP (retransmit)
10.205.0.56 -> 10.209.128.16 PORTMAP C GETPORT prog=100005 (MOUNT) vers=3 proto=UDP (retransmit)
...

The NFS client is attempting to contact the portmapper on the NFS server to get the UDP port for RPC program number 100005 (mountd). The attempt is unsuccessful.

From the NFS client, can we see the list of the NFS server's exported file systems?

$ showmount -e 10.209.128.16
showmount: 10.209.128.16: RPC: Rpcbind failure - RPC: Timed out

snoop output:

10.205.0.56 -> 10.209.128.16 PORTMAP C GETPORT prog=100005 (MOUNT) vers=1 proto=TCP

We can't. Is the portmap service on the NFS server reachable?

$ rpcinfo -p 10.209.128.16
  program vers proto   port  service
   100024    1   tcp   4047  status
   100024    1   udp   4047  status
   100011    1   udp   4049  rquotad
   100021    4   tcp   4045  nlockmgr
   100021    3   tcp   4045  nlockmgr
   100021    1   tcp   4045  nlockmgr
   100021    4   udp   4045  nlockmgr
   100021    3   udp   4045  nlockmgr
   100021    1   udp   4045  nlockmgr
   100005    3   tcp   4046  mountd
   100005    2   tcp   4046  mountd
   100005    1   tcp   4046  mountd
   100005    3   udp   4046  mountd
   100005    2   udp   4046  mountd
   100005    1   udp   4046  mountd
   100003    3   tcp   2049  nfs
   100003    2   tcp   2049  nfs
   100003    3   udp   2049  nfs
   100003    2   udp   2049  nfs
   100000    2   tcp    111  rpcbind
   100000    2   udp    111  rpcbind

It is, but if we watch the above command with snoop, we see that it is using TCP 111.

Based on the above output, the likely problem is that UDP 111 is not being allowed to or from the NFS server by a firewall; the mount command apparently attempts to query the remote portmapper using UDP 111 instead of TCP 111. Once UDP 111 is allowed from the NFS client to NFS server, we can proceed with troubleshooting if the mount is unsuccessful.

Personal tools