Portmapper troubleshooting

From Brandonhutchinson.com

(Difference between revisions)
Jump to: navigation, search
(New page: In this example, mounting a volume on an NFS server is unsuccessful. * NFS client: 10.205.0.56 * NFS server: 10.209.128.16 What happens if we try to mount the file system? # mount 10.20...)
Current revision (15:43, 15 July 2008) (edit) (undo)
 
(One intermediate revision not shown.)
Line 1: Line 1:
In this example, mounting a volume on an NFS server is unsuccessful.
In this example, mounting a volume on an NFS server is unsuccessful.
-
* NFS client: 10.205.0.56
+
* NFS client (Solaris 10 x86): 10.205.0.56
-
* NFS server: 10.209.128.16
+
* NFS server (NetApp filer): 10.209.128.16
What happens if we try to mount the file system?
What happens if we try to mount the file system?
Line 15: Line 15:
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?
From the NFS client, can we see the list of the NFS server's exported file systems?
Line 50: Line 52:
It is, but if we watch the above command with ''snoop'', we see that it is using TCP 111.
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. Once it is, we can proceed with troubleshooting if the mount is unsuccessful.
+
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.

Current revision

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