web-dev-qa-db-ja.com

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への変換を試みましたが、エラーから「Running as 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を実行しようとしましたが、それはコード1で終了します。エラーも何もありません。マンページに記載されている詳細フラグやデバッグフラグはありません。

私も/etc/exportsを空にしようとしましたが、システムは最新です(pacman -Syu)。何も変更せず、数時間前に機能しなくなっただけです。

mount -o nolock /dataを使用しても機能することに注意してください。したがって、残りのNFS/rpcデーモンは問題ないようです。

13
Martin Tournoij

Rpcbind systemd unitファイルがなくなったように見えます:

$ 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の読み込みに失敗した)に関する明確なエラーメッセージを提供しないため、デバッグがはるかに簡単になります:-(

7
Martin Tournoij

ここで同じ問題、rpc-stad前回のアップデート以降に失敗しました(アップデート後にすべてのコンピュータに問題が発生しました)。

問題を解決するために、私は有効にしてrpcbindを開始しました:

Sudo  systemctl enable   rpcbind.service  # for the next reboot
Sudo  systemctl start    rpcbind.service   
Sudo  systemctl restart  rpcbind.service
26
humhumhum

/ var/lib/nfsまたは/ var/lib/nfs/statdが欠落していて、特定のNFSデーモンがエラーコードを出してメッセージを出力せずに終了する場合があります。修正は簡単です、これだけです:

$ Sudo mkdir -p /var/lib/nfs/statd

しかし、デーモンとsystemdサービスファイルがディレクトリを作成したり、ディレクトリに関するエラーメッセージを出力したりしないのは少し奇妙です。

1
mulad