web-dev-qa-db-fra.com

NFS ne monte plus: RPC-StatD ne parvient pas à démarrer

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.

13
Martin Tournoij

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 :-(

7
Martin Tournoij

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
26
humhumhum

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.

1
mulad