Linux
NFS 不再掛載:rpc-statd 無法啟動
每當我嘗試啟動 NFS 掛載時,我都會得到:
Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Version 1.3.2 starting Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Flags: TI-RPC Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Running as root. chown /var/lib/nfs to choose different user Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: failed to create RPC listeners, exiting Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: rpc-statd.service: control process exited, code=exited status=1 Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: Failed to start NFS status monitor for NFSv2/3 locking.. Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: Unit rpc-statd.service entered failed state. Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: rpc-statd.service failed. Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: Version 1.3.2 starting Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: Flags: TI-RPC Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: Running as root. chown /var/lib/nfs to choose different user Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23584]: failed to create RPC listeners, exiting
我試圖這樣
chown
/var/lib/nfs
做rpc
,這只是給了我減去“以 root 身份執行”行的錯誤:Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23773]: Version 1.3.2 starting Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23773]: Flags: TI-RPC Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23773]: failed to create RPC listeners, exiting Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: rpc-statd.service: control process exited, code=exited status=1 Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: Failed to start NFS status monitor for NFSv2/3 locking.. Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: Unit rpc-statd.service entered failed state. Feb 12 00:05:09 martin-xps.lico.nl systemd[1]: rpc-statd.service failed. Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23775]: Version 1.3.2 starting Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23775]: Flags: TI-RPC Feb 12 00:05:09 martin-xps.lico.nl rpc.statd[23775]: failed to create RPC listeners, exiting
我試圖重新安裝 nfs-utils:
$ pacman -R nfs-utils $ rm -r /var/lib/nfs $ pacman -S nfs-utils
然後它使用 root 使用者的權限重新創建目錄。我什至不確定這個錯誤是否與
rpc.statd
不啟動有關。我也嘗試
rpc.statd -F --no-notify
在我的 shell 中執行,但它只是以程式碼 1 退出。沒有錯誤,沒有任何東西。手冊頁中沒有記錄詳細或調試標誌。我也嘗試清空我的
/etc/exports
,我的系統是最新的 (pacman -Syu
)。我沒有改變任何東西,它只是在幾個小時前停止工作。請注意,使用
mount -o nolock /data
有效;所以其餘的 NFS/rpc 守護程序似乎沒問題。
rpcbind systemd 單元文件似乎失去了:
$ find /usr/lib/systemd -name 'rpcbind*' # no output
重新安裝這個解決了這個問題:
$ pacman -S rpcbind # [...] $ find /usr/lib/systemd -name 'rpcbind* /usr/lib/systemd/system/rpcbind.service /usr/lib/systemd/system/rpcbind.target /usr/lib/systemd/system/rpcbind.socket $ systemctl enable rpcbind $ systemctl start rpcbind $ systemctl restart nfs-server
不確定這些文件是如何失去的;也許是FS腐敗問題?
奇怪的是 nfsd 仍在執行,但 statd 沒有。重新啟動後,nfsd 也沒有工作(因為它需要
rpcbind
)。幾乎就像這些文件在系統執行時消失了。不幸的是
systemd
,沒有給出關於這類錯誤的明確錯誤消息(即rpcbind
無法載入依賴項),這將使調試更容易:-(
同樣的問題,
rpc-stad
自上次更新以來失敗(我所有的電腦在更新後都有問題)。為了解決我剛剛啟用並啟動 rpcbind 的問題:
sudo systemctl enable rpcbind.service # for the next reboot sudo systemctl start rpcbind.service sudo systemctl restart rpcbind.service