NFS wird nicht mehr bereitgestellt: rpc-statd kann nicht gestartet werden

13

Wann immer ich versuche, ein NFS-Mount zu starten, erhalte ich:

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

Ich habe versucht, chown /var/lib/nfszu rpc, was gibt mir nur den Fehler minus die „Ausführen als root“ Zeile:

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

Ich habe versucht, nfs-utils neu zu installieren:

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

Anschließend wird das Verzeichnis mit der Berechtigung des Root-Benutzers neu erstellt. Ich bin mir nicht mal sicher, ob dieser Fehler überhaupt damit zusammenhängt, rpc.statdnicht zu starten.

Ich habe auch versucht, rpc.statd -F --no-notifyin meiner Shell zu laufen , aber das wird nur mit Code 1 beendet. Kein Fehler, kein Nichts. In der Manpage ist kein ausführliches oder Debug-Flag dokumentiert.

Ich habe auch versucht, meine zu leeren /etc/exports, und mein System ist auf dem neuesten Stand ( pacman -Syu). Ich habe nichts geändert, es hat nur vor ein paar Stunden aufgehört zu arbeiten.

Beachten Sie, dass mit mount -o nolock /datafunktioniert; Der Rest der NFS / RPC-Daemons scheint also in Ordnung zu sein.

Martin Tournoij
quelle

Antworten:

25

Gleiches Problem hier, rpc-stadseit dem letzten Update fehlgeschlagen (alle meine Computer hatten das Problem nach dem Update).

Um das Problem zu lösen, habe ich gerade rpcbind aktiviert und gestartet:

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

Es scheint, dass die Unit-Dateien von rpcbind systemd verschwunden sind:

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

Das erneute Installieren löste das Problem:

$ 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

Nicht sicher, wie diese Dateien fehlten; Vielleicht ein FS-Korruptionsproblem?

Das Seltsame ist, dass nfsd noch lief, statd aber nicht. Nach einem Neustart funktionierte nfsd auch nicht (weil es benötigt wird rpcbind). Es ist fast so, als wären diese Dateien verschwunden, während das System lief.

Leider systemdgibt es bei solchen Fehlern keine eindeutige Fehlermeldung (dh die Abhängigkeit konnte rpcbindnicht geladen werden), was das Debuggen erheblich vereinfacht :-(

Martin Tournoij
quelle
Seltsam. Ich habe gerade genau das gleiche Problem systemctl start rpc-statdauf einem Arch-Linux-System festgestellt (ein NFS3-Volume konnte nicht gemountet werden, Fehlermeldung "Erstellen von RPC-Listenern fehlgeschlagen, Beenden"). Das Installieren, Aktivieren und Starten des rpcbind-Dienstes löste das Problem. Ich frage mich, ob dies früher als Steckdose und nicht als Service funktioniert hat, aber irgendwo ist etwas schief gelaufen. Leider konnte ich nicht a priori überprüfen, ob sich rpcbind. * -Dateien im Verzeichnis / usr / lib / systemd befanden.
Pgoetz
Sie meinen wahrscheinlich "systemctl" anstelle von "systemd" in den letzten drei Zeilen in Ihrem obigen Beispiel?
Jeremiah
1
Hoppla, ja, korrigiert. Danke @jeremiah.
Martin Tournoij
1

Ich bin auf einige Fälle gestoßen, in denen / var / lib / nfs oder / var / lib / nfs / statd fehlte, was dazu führte, dass bestimmte NFS-Daemons mit einem Fehlercode beendet wurden, ohne jedoch eine Meldung auszudrucken. Die Lösung ist einfach:

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

Aber es ist ein bisschen seltsam, dass die Daemons und Systemd-Servicedateien nicht versuchen, die Verzeichnisse zu erstellen oder Fehlermeldungen darüber auszudrucken.

Mulade
quelle
Ich hatte ein ähnliches Problem und das funktioniert bei mir. Ich weiß immer noch nicht, wie die Dienste die Verzeichnisse nicht erstellen oder warum das Verzeichnis gelöscht wird.
Ftrujillo
0

In ähnlicher Weise sah ich diese Fehler:

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..

In meinem Fall habe ich die Berechtigungen /etc/netconfiggeknackt, für die (wie auch für /etc/) die Lesbarkeit auf der ganzen Welt gewährleistet sein muss.

Festlegen der Dateiberechtigungen auf:

chmod 644 /etc/netconfig

behebt mein Problem

KurtB
quelle