[CentOS] CentOS 7.1 NFS Client Issues - rpc.statd / rpcbind

Mon Aug 31 02:45:26 UTC 2015
Rob Kampen <rkampen at kampensonline.com>

On 08/31/2015 01:39 PM, Mark Selby wrote:
> I have seen some talk about this but have not seen any answers. I know 
> this is a problem on CentOS 7.1 and I also think it is a problem on 
> CentOS 7.0.
>
> Basically if I have an NFS client only config - meaning that the 
> nfs-server.service is not enabled then I have to wait 60 seconds after 
> boot for the 1st NFSV3 mount to succeed.
>
> What I can surmise is the following. I attempt to perform a NFS mount 
> a newly booted machine and systemd via listening sockets
>
> (1) starts rpc.statd (fails)
> (2) starts rpcbind
> (3) rpc.statd timesout after 60 seconds and then starts sucessfully
> (3) performs the nfs mount
>
> I see that rpc.statd is attempted to start at the time that I perform 
> the mount request - it just takes 60 seconds to start. I think this is 
> because it tries to start before rpcbind is really stated and then 
> waits a full 60 seconds before retying. It then succeeds because 
> rpcbind is really started
>
why doesn't rpc.statd have rpcbind as a pre-requisite - i.e. must have 
rpcbind up and running b4 rpc.statd is allowed to start - surely the all 
singing dancing wonder systemd has such capability
> I can fix the delay by running 'systemctl start rpcbind' after I 
> reboot which causes rpcbind to start and not just be socket activated.
>
> I see in the systemd manifest for rpc-statd that it does require 
> rpcbind but I think systemd is trying to start rpc.statd before 
> rpcbind which makes sense that this would not work.
>
> If I enable nfs-server.service then rpcbind does really get started 
> but I loathe to start this on all clients
>
> Anyone have any ideas how to get rpcbind started before rpc.statd in a 
> NFS client only config
>
> root /root 103# systemd-analyze blame
>        1min 87ms rpc-statd.service
>
> root at ls2 /root 79# systemctl list-units | grep rpc
> rpcbind.socket loaded active listening RPCbind Server Activation Socket
>
> Aug 30 18:17:14 ls2.tokenrain.name systemd: Starting NFS status 
> monitor for NFSv2/3 locking....
> Aug 30 18:17:14 ls2.tokenrain.name rpc.statd[1938]: Version 1.3.0 
> starting
> Aug 30 18:17:14 ls2.tokenrain.name rpc.statd[1938]: Flags: TI-RPC
> Aug 30 18:17:14 ls2.tokenrain.name systemd: Starting RPC bind service...
> Aug 30 18:17:14 ls2.tokenrain.name systemd: Started RPC bind service.
> Aug 30 18:18:14 ls2.tokenrain.name systemd: Started NFS status monitor 
> for NFSv2/3 locking..
>
> USER       PID  PPID %CPU %MEM    VSZ   RSS TT       STAT START     
> TIME COMMAND
> root      1935  1924  0.0  0.0 115212  1436 ?        S 18:17 00:00:00 
> /bin/bash -p /usr/sbin/start-statd
> root      1936  1935  0.0  0.0 132520  1196 ?        S 18:17 00:00:00 
> systemctl start rpc-statd.service
> root      1937     1  0.0  0.0  44288  1676 ?        Ss 18:17 00:00:00 
> /usr/sbin/rpc.statd --no-notify
> root      1938  1937  0.0  0.0  44484  1340 ?        Ss 18:17 00:00:00 
> /usr/sbin/rpc.statd --no-notify
>
> USER       PID  PPID %CPU %MEM    VSZ   RSS TT       STAT START     
> TIME COMMAND
> rpcuser   1938     1  0.0  0.0  44484  1600 ?        Ss 18:17 00:00:00 
> /usr/sbin/rpc.statd --no-notify
>
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> https://lists.centos.org/mailman/listinfo/centos