Serwer NFS: nie uruchamia się: portmapper nie działa

12

Próbuję skonfigurować Raspberry Pi z Wheezy Raspbian 2013-02-09 jako serwer NFS (klient to Ubuntu 12.10). Postępowałem zgodnie z tymi instrukcjami .

Nie mogę uruchomić usługi i wyświetlić następujący komunikat:

$ sudo service nfs-kernel-server restart
[ ok ] Stopping NFS kernel daemon: mountd nfsd.
[ ok ] Unexporting directories for NFS kernel daemon....
[ ok ]   Exporting directories for NFS kernel daemon....
[....] Starting NFS kernel daemon: nfsd
[warn] Not starting: portmapper is not running ... (warning).
$ rpcinfo -p
<br>rpcinfo: can't contact portmapper: RPC: Remote system error - No such file or directory

Nie wiesz, czego brakuje?

d2le
źródło

Odpowiedzi:

9

Moderator tego postu na forum powiedział, że to polecenie zadziała:

sudo update-rc.d rpcbind enable && sudo update-rc.d nfs-common enable
syb0rg
źródło
1
potwierdzone jako działające rozwiązanie. z myślą o przejściu na systemowe polecenie równoważne to sudo systemctl enable rpcbind && sudo systemctl enable nfs-common(chociaż wydaje się, że obie te usługi nadal używają uruchamiania w stylu init.d).
ben_wing
myślę, że musiałem również wyraźnie uruchomić usługi, i że zamówienie było ważne, ponieważ nfs-common musiał być na pierwszym miejscu. użyłem sudo systemctl start nfs-commonwtedysudo systemctl start rpcbind
ben_wing
10

Musiałem zrestartować usługę rpcbind do pracy:

$ sudo service rpcbind restart

Znalazłem to w tym wątku

Bubu
źródło
1
Jakoś nie masz linku do wątku, naprawiłem to dla ciebie. Miło widzieć nowych użytkowników! Od czasu do czasu
wejdź
To sprawiło, że NFS działa dla mnie, a nie inna odpowiedź.
Mauvis Ledford,
8
$ sudo service rpcbind restart

... działa, ale problem „Portmapper nie działa” pojawi się ponownie przy następnym uruchomieniu.

U dołu tej strony znajduje się poprawka, która przetrwa ponowne uruchomienie, ale pamiętaj, że usunie twój / etc / export. Krótko mówiąc, wykonaj kopię zapasową pliku / etc / export, a następnie:

sudo apt-get purge rpcbind
sudo apt-get install nfs-kernel-server

Następnie przywróć / etc / export.

Stacey Campbell
źródło
używając twojej odpowiedzi w połączeniu z tym: pihomeserver.fr/en/2013/06/21/… załatwił sprawę dla mnie.
Chasester,
To rozwiązało dla mnie. Z jakiegoś powodu serwer jądra NFS został nieprawidłowo zainstalowany. Dzięki.
hgf
Widziałem takie same problemy na innych dystrybucjach Debiana (uruchamiam je na moich komputerach domowych) - jakoś rpcbindto zastępuje, portmapperale aliasing nie wydaje się być zakończony (lub jest to powierzchowny problem maskujący głębszy! ) Prowadzę również systemdbezpłatne gospodarstwo domowe - więc init.dprawdopodobnie mam wadliwe skrypty.
SlySven
6

Używam Raspbian Jessie Lite (wydanej 18 marca 2016 r.) I dostałem ten sam problem. Oto moje kroki, aby całkowicie rozwiązać ten problem, nawet po ponownym uruchomieniu .

Najpierw spójrz na plik init /etc/init.d/nfs-kernel-server, powinieneś zauważyć, że jego początkowy poziom działania to 2,3,4,5 .

Zobacz także poziom uruchamiania następujących plików, który jest tylko S. Zmieniłem poziom działania na 2,3,4,5 .

/etc/init.d/nfs-common
/etc/init.d/rpcbind

Następnie spróbuj update-rc.dzmienić skrypty inicjujące z domyślnymi . Pierwsza próba kończy się niepowodzeniem. Sztuką jest usunięcie i dodanie ich ponownie.

update-rc.d -f rpcbind remove
update-rc.d rpcbind defaults

update-rc.d -f nfs-common remove
update-rc.d nfs-common defaults

update-rc.d -f nfs-kernel-server remove
update-rc.d nfs-kernel-server defaults

Następnie sprawdź kolejność usług. Powinno być rpcbind, nfs-commoni nfs-kernel-server.

Wysłałem również blog na ten temat. Możesz go również znaleźć tutaj .

lesca
źródło
Po miesiącach prób naprawy tego za pomocą innych środków zrezygnowałem z ręcznego restartowania NFS przy starcie systemu. To rozwiązanie działa. Dziękuję Ci!
boneskull
To jest poprawka. Wszystkie pozostałe opublikowane nie rozwiązały problemu. Dziękuję bardzo za opublikowanie tego!
chaoticslacker
2

Podstawowym problemem jest to, że dowiązania symboliczne w /etc/rc*.d są nieco rozproszone. Niektóre z powyższych sugestii polegają na przerobieniu tych linków i być może są one tworzone w bardziej odpowiedniej kolejności. Czasami. Próbować -

for i in rpcbind nfs-common nfs-kernel-server ; do find /etc/rc* -name "S*$i*"; done

aby zobaczyć, kiedy zostaną uruchomione. W rzeczywistości potrzebujesz ich tylko na poziomie 3, więc edytowałem /etc/init.d/rcpbind, /etc/init.d/nfs-common i /etc/init.d/nfs-kernel-server, więc "# Default-Start: 3 "i uruchomiłem to w celu wymuszenia -

for i in rpcbind nfs-common nfs-kernel-server ; do update-rc.d -f "$i" remove; update-rc.d "$i" defaults; done

Zauważ, że update-rc.d nie zmieni istniejącego wpisu i po cichu nie usunie wpisu (jeśli skrypt nadal istnieje), chyba że dodasz -f. Idealnie skończy się z czymś takim -

/etc/rc3.d/S01rpcbind
/etc/rc3.d/S02nfs-common
/etc/rc3.d/S03nfs-kernel-server

I uruchomi się teraz czysto. Aktualizacja NFS może nadpisać twoją dobrą pracę ...

David Bannon
źródło
To najlepsza odpowiedź IMHO. Daje bezpośrednie podejście do zrozumienia problemu.
Daan
1

Walczyłem również z tym samym problemem. Powyższe rozwiązania nie działały. W moim przypadku wynikało to z problemu z moimi lokalizacjami . Poniższa linia pojawiła się w terminalu podczas instalacji: nfs-kernel-server nfs-common rpcbind.

perl: ostrzeżenie: Ustawienie regionalne nie powiodło się.

Upewnij się, że nie widzisz błędu dotyczącego ustawień narodowych podczas instalacji tych pakietów. Poprawiłem swoje ustawienia regionalne, ponownie zainstalowałem pakiety i teraz działa.

Rotareti
źródło
Wydaje mi się możliwe, że dwukrotne zainstalowanie tych pakietów mogło rozwiązać ten problem, zamiast porządkować ustawienia regionalne - choć oczywiście dobrze jest tak czy inaczej wyprostować!
SlySven
Zgadzam się. W każdym razie po naprawieniu ustawień regionalnych druga instalacja wyglądała na bezpieczniejszą bez wszystkich błędów.
Rotareti
1

To działa dla mnie. Wyczyść i nie uruchamia się ponownie.

Musisz skonfigurować systemd, aby poprawnie wykonać zamówienie

cat <<EOF | sudo tee -a /etc/systemd/system/nfs-common.services
[Unit]
Description=NFS Common daemons
Wants=remote-fs-pre.target
DefaultDependencies=no

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/nfs-common start
ExecStop=/etc/init.d/nfs-common stop

[Install]
WantedBy=sysinit.target
EOF

cat <<EOF | sudo tee -a /etc/systemd/system/rpcbind.service
[Unit]
Description=RPC bind portmap service
After=systemd-tmpfiles-setup.service
Wants=remote-fs-pre.target
Before=remote-fs-pre.target
DefaultDependencies=no

[Service]
ExecStart=/sbin/rpcbind -f -w
KillMode=process
Restart=on-failure

[Install]
WantedBy=sysinit.target
Alias=portmap
EOF

sudo systemctl enable nfs-common
sudo systemctl enable rpcbind
sudo reboot

zabrane stąd

https://github.com/geerlingguy/raspberry-pi-dramble/issues/65#issuecomment-283046966

nachoparker
źródło
0

Naprawiłem to za pomocą: $ sudo service portmap start Następnie zrestartuj usługę nfs: $ sudo service nfs-kernel-server restart

i to działa.

Francesco
źródło
0

Przetestowałem większość poprzednich rozwiązań, nie działają one po ponownym uruchomieniu Raspberry Pi (polecenie rpcinfo -p | grep nfsnic mi nie dało).

Rozwiązanie :

echo service nfs-kernel-server restart | sudo tee -a /etc/rc.local

lub

sudo vi /etc/rc.local
service nfs-kernel-server restart

Do weryfikacji :

> sudo shutdown -r now

> rpcinfo -p | grep nfs

Testowane na Raspian 8 (jessie)

STB Land
źródło