nfs server重啟之後導致client因為掛載nfs分割槽無法使用df問題的解決辦法
阿新 • • 發佈:2019-02-14
問題描述
有兩臺伺服器,其中一臺向另一臺通過nfs共享分割槽,如下:
server A: nfs server
server B: nfs Client
由於server A某種原因nfs重啟,那麼server B因為通過nfs掛載了Server A分割槽,導致df -h無響應,如下圖所示:
通過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
此指令可能會耗費些時間,此時重新掛載,問題解決