nfs server重启之后导致client因为挂载nfs分区无法使用df问题的解决办法

问题描述

有两台服务器,其中一台向另一台通过nfs共享分区,如下:
server A: nfs server
server B: nfs Client
由于server A某种原因nfs重启,那么server B因为通过nfs挂载了Server A分区,导致df -h无响应,如下图所示:
nfs server重启之后导致client因为挂载nfs分区无法使用df问题的解决办法_第1张图片
通过strace,查看df执行卡住位置:
这里写图片描述

解决办法

重启server B nfs服务

service nfs restart

备注:
如果出现如下错误
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).

执行:

service portmap start

如果出现如下错误:
Starting NFS daemon: [FAILED]
而且查看/var/log/messages日志,发现如下记录:
localhost nfsd[8905]: nfssvc: Setting version failed: errno 16 (Device or resource busy)
执行:

ps aux|grep rpc

kill掉相关进程,然后重启nfs

此时完成了server端的nfs重启服务,那么此时应该重新挂在nfs分区,然后发现umount卡住,那么此时需要使用fuser kill掉使用原先挂载分区的进程(/baknfs1为nfs挂载分区)

fuser -mk /baknfs1

此指令可能会耗费些时间,此时重新挂载,问题解决

你可能感兴趣的:(linux)