NFS już nie montuje: rpc-statd nie uruchamia się

13

Za każdym razem, gdy próbuję uruchomić podłączenie NFS, otrzymuję:

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

Starałem się chown /var/lib/nfs, aby rpc, który po prostu daje mi błąd minus linię „Running” jako 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

Próbowałem ponownie zainstalować nfs-utils:

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

Następnie ponownie tworzy katalog za zgodą użytkownika root. Nie jestem nawet pewien, czy ten błąd w ogóle dotyczył rpc.statdnie uruchomienia.

Próbowałem także uruchomić się rpc.statd -F --no-notifyw mojej powłoce, ale to kończy się na kodzie 1. Bez błędu, bez niczego. Na stronie podręcznika nie ma udokumentowanej ani szczegółowej flagi debugowania.

Próbowałem również opróżnić mój /etc/exportssystem, a mój system jest aktualny ( pacman -Syu). Nic nie zmieniłem, po prostu przestało działać kilka godzin temu.

Zauważ, że za pomocą mount -o nolock /datadziała; więc reszta demonów NFS / rpc wydaje się być w porządku.

Martin Tournoij
źródło

Odpowiedzi:

26

Ten sam problem tutaj rpc-stadnie powiódł się od ostatniej aktualizacji (wszystkie moje komputery miały problem po aktualizacji).

Aby rozwiązać problem, właśnie włączyłem i uruchomiłem rpcbind:

sudo  systemctl enable   rpcbind.service  # for the next reboot
sudo  systemctl start    rpcbind.service   
sudo  systemctl restart  rpcbind.service
humhumhum
źródło
7

Wygląda na to, że zaginęły pliki jednostki systemowej rpcbind:

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

Ponowna instalacja rozwiązała 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

Nie jestem pewien, jak brakowało tych plików; może problem korupcji FS?

Dziwne jest to, że nfsd wciąż działało, ale statd nie. Po ponownym uruchomieniu nfsd również nie działało (ponieważ potrzebuje rpcbind). To prawie tak, jakby te pliki zniknęły podczas działania systemu.

Niestety systemdnie podaje wyraźnego komunikatu o błędzie przy tego rodzaju błędach (tzn. rpcbindNie udało się załadować zależności ), co znacznie ułatwiłoby debugowanie :-(

Martin Tournoij
źródło
Dziwne. Właśnie spotkałem dokładnie ten sam problem (nie mogłem zamontować woluminu NFS3, systemctl start rpc-statdnie powiodło się z „nie udało się utworzyć detektorów RPC, wychodzę z komunikatu”) w systemie Arch Linux. Zainstalowanie, włączenie i uruchomienie usługi rpcbind rozwiązało problem. Zastanawiam się, czy wcześniej działało to raczej jako gniazdo niż usługa, ale coś poszło nie tak. Niestety nie udało mi się sprawdzić a priori, czy w katalogu / usr / lib / systemd są jakieś pliki rpcbind. *
pgoetz 27.04.16
Prawdopodobnie masz na myśli „systemctl” zamiast „systemd” w ostatnich trzech wierszach powyższego przykładu?
jeremiah
1
Ups, tak, poprawione. Dzięki @jeremiah.
Martin Tournoij
1

Natknąłem się na przypadki, w których brakowało / var / lib / nfs lub / var / lib / nfs / statd, co powoduje, że niektóre demony NFS wychodzą z kodem błędu, ale nie drukują żadnego komunikatu. Poprawka jest prosta, wystarczy to:

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

Ale to trochę dziwne, że demony i pliki usług systemowych nie próbują tworzyć katalogów ani drukować żadnych komunikatów o błędach.

Mulad
źródło
Miałem podobny problem i to działa dla mnie. Nadal nie wiem, w jaki sposób usługi nie tworzą katalogów ani dlaczego katalog został usunięty.
ftrujillo
0

Podobnie widziałem te błędy:

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

W moim przypadku złamałem uprawnienia, /etc/netconfigktóre muszą być czytelne dla całego świata (jak to robi /etc/)

Ustawienie pliku pozwala na:

chmod 644 /etc/netconfig

naprawiono mój problem.

KurtB
źródło