Mounten Sie Linux NFS. rpc.statd läuft nicht

7

Ich habe Ubuntu 12.04 als NFS-Server. Die Clients sind Linux. Meine /etc/exportsDatei hat 1 Zeile,

/folderToExport *(rw,async,no_subtree_check)  

/etc/init.d/nfs-kernel-server statuszeigt, dass die NFS-Freigabe wie erwartet funktioniert. Das Problem ist, dass stdout sagt, wann immer ich versuche, die NFS-Freigabe von einem anderen Linux-Host bereitzustellen

mount.nfs: rpc.statd is not running but is required for remote locking
mount.nfs: use '-o nolock'...or start statd

ps -ef |grep statdzeigt, dass rpc.statdbereits läuft, warum sagen sie also "statd starten"?

Das Einbeziehen ihres -o nolockVorschlags ermöglicht das Auftreten des Mount-NFS, aber dann wird das gemountete NFS schreibgeschützt. Die /etc/exportsDatei fragt nach rw.

Wie fängst du statd an? Fehlt dem NFS-Client oder -Server eine Konfiguration?


Folgendes hat bei mir funktioniert. Geben Sie eine Erklärung für jeden freigegebenen Ordner in /etc/exportsz

/folderToExport *(rw,async,no_subtree_check) 

statd kann von gestartet werden

service statd stop gefolgt von

service statd start. Dann ps -ef |grep statdzeigt

statd 1994 1 0 15:23 ? 00:00:00 rpc.statd -L

Sobald Sie überprüft haben, dass statdes ausgeführt wird, führen Sie es als nächstes auf mountdem Linux-Client aus.

mount 192.168.1.3:/folderToExport /mountFolder

Es sollte keine Nachricht mehr geben rpc.statd is not running ... start statd

Stellen Sie schließlich sicher, dass Berechtigungen auf dem NFS-Server rwBerechtigungen zulassen . (Das Ändern der /etc/exportsDatei allein war unzureichend)

chmod 0777 /folderToExport -R

T. Webster
quelle

Antworten:

3

statdist Teil des Pakets nfs-common. Sie könnten das wahrscheinlich selbst finden, locate statdwomit Sie unter anderem geben /etc/init.d/statd.

Sie können beginnen statdmit:

service statd start

Normalerweise sollte es beim Systemstart gestartet sein, aber möglicherweise läuft noch etwas schief. Sie sollten Ihre Protokolldateien überprüfen, um festzustellen grep statd /var/log/*, ob es Gründe gibt, warum dies nicht gestartet wurde.

Ihr /etc/exportsAussehen ok für mich. Ich benutze:

/data0    *(rw,no_root_squash,no_subtree_check)

auf meinem Server und:

192.168.0.2:/data0 /data0   nfs  defaults,noauto,user 0 0

in der /etc/fstabauf meinem Kunden.

Anthon
quelle
Ich kann den Befehl sudo service statd startunter Ubuntu 13.10
puk
@puk hast du wahrscheinlich nicht installiert nfs-common. Wenn Sie nicht bekommen statd: unrecognized service. Nachdem apt-get install nfs-commonSie bekommenstart: Job is already running: statd
Anthon
2
Ich habe es gerade noch einmal überprüft und es funktioniert auf 2 Ubuntu-Computern, aber es funktioniert nicht auf Raspbian, obwohl nfs-common installiert ist.
Puk
@puk Ich habe nur Ubuntu 13.10 für Intel auf einer VM überprüft. Es tut mir leid, aber ich habe keinen Zugang zu Raspbian und kann Ihnen dort nicht helfen.
Anthon
6

Ich habe hier eine Antwort gefunden, die für mich auf Raspbian funktioniert hat .

Aktivieren Sie die Dienste rpcbind und nfs.

sudo update-rc.d rpcbind enable

sudo update-rc.d nfs-common enable

Starten Sie den rpcbind-Dienst neu

sudo service rpcbind restart

Verdammt Jim
quelle
2

Wenn rpcbind und statd aktiviert sind und ausgeführt werden und weiterhin diese Fehlermeldung angezeigt wird, ist der Host möglicherweise mit restriktiven TCP-Wrappern konfiguriert. Der folgende Fehler wird protokolliert:

rpc.statd: Failed to read /var/lib/nfs/state: Success

In diesem Fall sollten Sie /etc/hosts.allow Folgendes hinzufügen:

rpcbind: 127.0.0.1
Lobz
quelle
1
Vielen Dank für Ihre Eingabe Roaima, ich hoffe, dass ich es jetzt klarer gemacht habe - bitte überprüfen Sie noch einmal.
Lobz
0

In /etc/default/nfs-common, fügen Sie das yesin ein NEED_STATD=yes.

user77484
quelle
1
Solche kurzen Antworten profitieren oft stark von der Erweiterung, um Erklärungen oder relevantes Quellenmaterial hinzuzufügen.
HalosGhost
Dies hilft auch nicht auf einem Himbeer-Pi
Trevor