1. 程式人生 > >nfs server重啟之後導致client因為掛載nfs分割槽無法使用df問題的解決辦法

nfs server重啟之後導致client因為掛載nfs分割槽無法使用df問題的解決辦法

問題描述

有兩臺伺服器,其中一臺向另一臺通過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

此指令可能會耗費些時間,此時重新掛載,問題解決