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デーモンは問題ないようです。
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
の読み込みに失敗した)に関する明確なエラーメッセージを提供しないため、デバッグがはるかに簡単になります:-(
ここで同じ問題、rpc-stad
前回のアップデート以降に失敗しました(アップデート後にすべてのコンピュータに問題が発生しました)。
問題を解決するために、私は有効にしてrpcbindを開始しました:
Sudo systemctl enable rpcbind.service # for the next reboot
Sudo systemctl start rpcbind.service
Sudo systemctl restart rpcbind.service
/ var/lib/nfsまたは/ var/lib/nfs/statdが欠落していて、特定のNFSデーモンがエラーコードを出してメッセージを出力せずに終了する場合があります。修正は簡単です、これだけです:
$ Sudo mkdir -p /var/lib/nfs/statd
しかし、デーモンとsystemdサービスファイルがディレクトリを作成したり、ディレクトリに関するエラーメッセージを出力したりしないのは少し奇妙です。