Chaque fois que j'essaie de commencer un mont NFS, je reçois:
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
J'ai essayé de chown
/var/lib/nfs
à rpc
, qui me donne simplement l'erreur moins la ligne "fonctionnant en tant que 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
J'ai essayé de réinstaller NFS-Utils:
$ pacman -R nfs-utils
$ rm -r /var/lib/nfs
$ pacman -S nfs-utils
Il re-crée ensuite le répertoire avec la permission de l'utilisateur root. Je ne suis même pas sûr que cette erreur est même liée à rpc.statd
ne pas commencer.
J'ai aussi essayé de courir rpc.statd -F --no-notify
Dans ma coquille, mais cela ferme juste avec code 1. Aucune erreur, non rien. Il n'y a pas de drapeau verbeux ou de débogage documenté dans le MANPAGE.
J'ai aussi essayé de vider mon /etc/exports
, et mon système est à jour (pacman -Syu
). Je n'ai rien changé, cela vient d'arrêter de travailler il y a quelques heures.
Notez que l'utilisation mount -o nolock /data
travaux; Donc, le reste des démons NFS/RPC semblera bien.
Il semblerait que les fichiers de l'unité RPCBind SystemD ont disparu:
$ find /usr/lib/systemd -name 'rpcbind*'
# no output
Réinstaller cela a résolu le problème:
$ 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
Je ne sais pas comment ces fichiers manquaient; Peut-être un FS CORRUPTION?
L'étrange chose est que NFSD était toujours en cours d'exécution, mais Statd n'était pas. Après un redémarrage, NFSD n'a également pas fonctionné (car il a besoin de rpcbind
). C'est presque comme si ces fichiers ont disparu pendant que le système était en cours d'exécution.
Malheureusement systemd
_ _ _ _ _ ne donne pas un message d'erreur clair sur ces types d'erreurs (c'est-à-dire une dépendance rpcbind
_ _ Échec de la charge), ce qui faciliterait cela plus facile de déboguer :-(
Même problème ici, rpc-stad
Échec de la dernière mise à jour (tous mes ordinateurs avaient le problème après la mise à jour).
Pour résoudre le problème, je viens d'être activé et démarré RPCBind:
Sudo systemctl enable rpcbind.service # for the next reboot
Sudo systemctl start rpcbind.service
Sudo systemctl restart rpcbind.service
J'ai rencontré des instances où/var/lib/nfs ou/var/lib/nfs/statut a été manquante, ce qui provoque certains démons NFS de quitter avec un code d'erreur mais sans imprimer aucun message. Le correctif est simple, juste ceci:
$ Sudo mkdir -p /var/lib/nfs/statd
Mais il est un peu étrange que les daemons et les fichiers de service SystemD ne tentent pas de créer les répertoires ni d'imprimer des messages d'erreur à ce sujet.