NFS ne monte plus: rpc-statd ne démarre pas

13

Chaque fois que j'essaie de démarrer un montage NFS, j'obtiens:

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 le chown /var/lib/nfsfaire rpc, ce qui me donne juste l'erreur moins la ligne "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

J'ai essayé de réinstaller nfs-utils:

$ pacman -R nfs-utils
$ rm -r /var/lib/nfs
$ pacman -S nfs-utils 

Il recrée ensuite le répertoire avec l'autorisation de l'utilisateur root. Je ne suis même pas sûr que cette erreur soit liée au fait de rpc.statdne pas démarrer.

J'ai également essayé de fonctionner rpc.statd -F --no-notifydans mon shell, mais cela se termine avec le code 1. Aucune erreur, rien. Aucun indicateur détaillé ou de débogage n'est documenté dans la page de manuel.

J'ai également essayé de vider mon /etc/exports, et mon système est à jour ( pacman -Syu). Je n'ai rien changé, ça a juste cessé de fonctionner il y a quelques heures.

Notez que l'utilisation des mount -o nolock /dataœuvres; donc le reste des démons NFS / rpc semble bien.

Martin Tournoij
la source

Réponses:

26

Même problème ici, rpc-stadéchoué depuis la dernière mise à jour (tous mes ordinateurs ont eu le problème après la mise à jour).

Pour résoudre le problème, je viens d'activer et de démarrer rpcbind:

sudo  systemctl enable   rpcbind.service  # for the next reboot
sudo  systemctl start    rpcbind.service   
sudo  systemctl restart  rpcbind.service
humhumhum
la source
7

Il semblerait que les fichiers d'unité rpcbind systemd aient disparu:

$ find /usr/lib/systemd -name 'rpcbind*'
# no output

La réinstallation 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 étaient manquants; peut-être un problème de corruption FS?

Ce qui est étrange, c'est que nfsd était toujours en cours d'exécution, mais statd ne l'était pas. Après un redémarrage, nfsd ne fonctionnait pas non plus (car il en avait besoin rpcbind). C'est presque comme si ces fichiers avaient disparu pendant le fonctionnement du système.

Malheureusement, systemdne donne pas de message d'erreur clair sur ce type d'erreurs (c'est-à-dire que la dépendance rpcbindn'a pas pu se charger), ce qui rendrait le débogage beaucoup plus facile :-(

Martin Tournoij
la source
Bizarre. Je viens de rencontrer exactement le même problème (impossible de monter un volume NFS3, a systemctl start rpc-statdéchoué avec le message " Impossible de créer des écouteurs RPC, en sortant") sur un système Arch Linux. L'installation, l'activation et le démarrage du service rpcbind ont résolu le problème. Je me demande si cela fonctionnait auparavant comme socket plutôt que comme service, mais quelque chose s'est mal passé quelque part. J'ai malheureusement échoué à vérifier a priori s'il y avait des fichiers rpcbind. * Dans le répertoire / usr / lib / systemd.
pgoetz
Vous voulez probablement dire «systemctl» au lieu de «systemd» dans les trois dernières lignes de votre exemple ci-dessus?
jeremiah
1
Oups, oui, corrigé. Merci @ jeremiah.
Martin Tournoij
1

Je suis tombé sur des cas où / var / lib / nfs ou / var / lib / nfs / statd manquait, ce qui provoque la fermeture de certains démons NFS avec un code d'erreur mais sans afficher de message. La solution est simple, juste ceci:

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

Mais il est un peu étrange que les démons et les fichiers de service systemd n'essaient pas de créer les répertoires ou d'imprimer des messages d'erreur à ce sujet.

mulade
la source
J'ai eu un problème similaire et cela fonctionne pour moi. Je ne sais toujours pas comment les services ne créent pas les répertoires ni pourquoi le répertoire est supprimé.
ftrujillo
0

De même, je voyais ces erreurs:

Starting NFS status monitor for NFSv2/3 locking....
Version 1.3.3 starting
Flags: TI-RPC
Failed to access local netconfig database: Netconfig database not found
failed to create RPC listeners, exiting
rpc-statd.service: Control process exited, code=exited status=1
rpc-statd.service: Failed with result 'exit-code'.
Failed to start NFS status monitor for NFSv2/3 locking..

Dans mon cas, j'avais rompu les autorisations sur /etc/netconfiglesquelles doit être lisible par le monde (comme le fait /etc/)

Définir les autorisations de fichier sur:

chmod 644 /etc/netconfig

résolu mon problème.

KurtB
la source