NFS服务器离线问题解决
NFS服务器离线问题解决
NFS服务器挂了会导致挂载的NFS客户端主机卡顿延迟,或者提示找不到文件
因为在执行一些命令的时候会自动去同步,用作同步的NFS服务端挂了,命令执行就会卡住
不过听说NFS还有一种“软挂载”的方式可以解决这个问题。这里暂不讨论。
如果遇到NFS服务器离线,那么NFS客户端主机这边怎么排查修复呢?步骤如下
当然以下是在有多个挂载的时候怎么排查的思路,如果是只挂载了一个NFS服务器,直接看step3就可以了
step1. 查看当前所有的挂载
注意,这里不要用
df -h
去查看,df -h
会卡住,只能用这个方式去看是否有服务端离线了
mount -l
也可以用过滤版的,可以过滤一些信息
mount -l | grep ":" | cut -d ":" -f 1
step2. 查看某一个在不在线
然后开始一个个排查
showmount -e 192.168.1.123
如果很快出来,那说明这个IP挂载的是正常的,我们继续排查下一个
直到一个卡住了
showmount -e 192.168.1.234
clnt_create: RPC: Port mapper failure - Unable to receive: errno 0 (Success)
那么我们就可以卸载了
step3. 卸载卡住的NFS
假设卡住的是192.168.1.234
mount -l | grep 192.168.1.234
这个optxxx
就是哪个挂载卡住的目录
sudo umount -l /opt/xxx
如果还会卡,重复上面步骤
上面卡住的目录是指本机目录。在mount -l 指令返回的on的后面,如下图是后面哪个红框的目录
其他方案
看是卡在哪一个NFS服务器
可以用,strace df -h
来看,df
的时候到底卡在了哪里
strace df -h
但是这个可能会导致进程卡住,
查看哪一个NFS出问题
lsof
挂载的目录
卸载对应的NFS目录
还有用fuser的方案,但是这个我不太了解,所以就不演示了
fuser -ck NFS挂载目录