Output for portmap on older SLES version
XXX:~ # lsof -p 4046 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME portmap 4046 nobody cwd DIR 8,1 24576 2 / portmap 4046 nobody rtd DIR 8,1 24576 2 / portmap 4046 nobody txt REG 8,1 17568 687066 /sbin/portmap portmap 4046 nobody mem REG 8,1 132847 1733314 /lib64/ld-2.4.so portmap 4046 nobody mem REG 8,1 36736 1733389 /lib64/libwrap.so.0.7.6 portmap 4046 nobody mem REG 8,1 14646 1733355 /lib64/libutil-2.4.so portmap 4046 nobody mem REG 8,1 1570331 1733321 /lib64/libc-2.4.so portmap 4046 nobody mem REG 0,0 0 [heap] (stat: No such file or directory) portmap 4046 nobody 0u CHR 1,3 3763 /dev/null portmap 4046 nobody 1u CHR 1,3 3763 /dev/null portmap 4046 nobody 2u CHR 1,3 3763 /dev/null portmap 4046 nobody 3u IPv4 13208 UDP *:sunrpc portmap 4046 nobody 4u IPv4 13220 TCP *:sunrpc (LISTEN) XXX:~ #
Output for rpcbind on SLES11
XXX:~ # lsof -p 9909 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 9909 root cwd DIR 8,1 4096 2 / rpcbind 9909 root rtd DIR 8,1 4096 2 / rpcbind 9909 root txt REG 8,1 56536 6185085 /sbin/rpcbind rpcbind 9909 root mem REG 8,1 61467 7405594 /lib64/libnss_files-2.11.1.so rpcbind 9909 root mem REG 8,1 19114 7405583 /lib64/libdl-2.11.1.so rpcbind 9909 root mem REG 8,1 39712 7405649 /lib64/libgssglue.so.1.0.0 rpcbind 9909 root mem REG 8,1 108213 7405588 /lib64/libnsl-2.11.1.so rpcbind 9909 root mem REG 8,1 1661454 7405577 /lib64/libc-2.11.1.so rpcbind 9909 root mem REG 8,1 135646 7405603 /lib64/libpthread-2.11.1.so rpcbind 9909 root mem REG 8,1 160248 7405669 /lib64/libtirpc.so.1.0.10 rpcbind 9909 root mem REG 8,1 42016 7405618 /lib64/libwrap.so.0.7.6 rpcbind 9909 root mem REG 8,1 149797 7405570 /lib64/ld-2.11.1.so rpcbind 9909 root 0u CHR 1,3 0t0 2376 /dev/null rpcbind 9909 root 1u CHR 1,3 0t0 2376 /dev/null rpcbind 9909 root 2u CHR 1,3 0t0 2376 /dev/null rpcbind 9909 root 3r REG 8,6 0 563076 /var/run/rpcbind.lock rpcbind 9909 root 4u sock 0,6 0t0 18570 can't identify protocol rpcbind 9909 root 5u unix 0xffff88042b8b63c0 0t0 18543 /var/run/rpcbind.sock rpcbind 9909 root 6u IPv4 18545 0t0 UDP *:sunrpc rpcbind 9909 root 7u IPv4 18549 0t0 UDP *:690 rpcbind 9909 root 8u IPv4 18550 0t0 TCP *:sunrpc (LISTEN) rpcbind 9909 root 9u IPv6 18552 0t0 UDP *:sunrpc rpcbind 9909 root 10u IPv6 18554 0t0 UDP *:690 rpcbind 9909 root 11u IPv6 18555 0t0 TCP *:sunrpc (LISTEN) XXX:~ #
rpcbind uses an additional UDP port, in this case it is port 690. Unfortunately there is no way to control on which port rpcbind will get when it requests a free UDP port.
On a typical NFS server mountd/nfsd/statd are configured to start on specified ports, this is to assist in configuring the firewall. On our machines, statd was configured to start on port 690, but as rpcbind was started before statd, statd could not start with error 'address already in use'
XXX:~ # grep statd /var/log/messages | tail -10
2011 May 10 11:45:38 XXX_01 rpc.statd[27766]: Version 1.2.1 Starting 2011 May 10 11:45:38 XXX_01 rpc.statd[27766]: Could not bind name to socket: Address already in use
This happens occasionally during reboots, when rpcbind acquires the same port on which statd was configured to start. Since this is a UDP port, it does not show up in 'netstat' and will only show up in lsof
XXX:~ # netstat -atn | grep 690 XXX:~ #
No comments:
Post a Comment