Wie kann ich eine NFS-Freigabe in Ubuntu 16.04 bereitstellen?

9

Ich habe kürzlich eine Neuinstallation von Xubuntu 16.04 durchgeführt. Bevor ich 14.04 verwendet und eine NFS-Freigabe mit der folgenden Zeile in der Datei / etc / fstab bereitgestellt habe

192.168.178.66:/media/user/drive /media/user/banana nfs rw 0 0

Was soll passieren?

Die NFS-Freigabe sollte beim Start an dem angegebenen Speicherort bereitgestellt werden.

Was geschieht?

Das Booten dauert sehr lange und die NFS-Freigabe ist nicht gemountet. Auf meinem Desktop wird ein graues Symbol für die Freigabe angezeigt. Wenn ich darauf klicke, steht so etwas wie "Nur root kann mounten". Wenn ich während des Startvorgangs einen Pfeil drücke, kann ich das Systemd-Protokoll sehen (ich nehme an), in dem steht ~ "Startjob for /media/user/banane (30s/1,31s)"Es wartet die ganzen 91er und es startet schließlich. Das manuelle Mounten des NFS funktioniert. Aber dann endet das Herunterfahren nicht. Betrachten Sie die systemd-Ausgabe erneut: " Stop job for /media/netzwerkfreigabe (30s/2m)" Das Herunterfahren endet nicht an der angegebenen Grenze. Stattdessen wird ein weiteres längeres Limit angezeigt. Mindestens dreimal.

zusätzliche Information

  • Das Paket nfs-commonwird auf dem Client-Computer installiert
  • Der NFS-Server ist ein BananaPi, auf dem BananianLinux ausgeführt wird (ein modifizierter Debian Jessy).
  • Ich kann die nfs-Freigabe mit derselben / etc / fstab-Zeile von einem anderen Computer mit Xubuntu 14.04 mounten

Soweit ich weiß, wird systemd in Ubuntu 16.04 eingeführt. Dies kann ein Systemproblem sein. Sollte meine fstab-Konfiguration funktionieren? Mounten Sie nfs heutzutage anders? Ich habe in anderen Foren mehrere Berichte über ähnliche Probleme anderer Benutzer gefunden. Soll ich einen Fehler melden?

Vielen Dank für Ihre Antwort!

CaptainPlanet
quelle
Welche Version von NFS verwenden Sie für NFS Version 3/4?
Haben
Ich denke, Sie müssen die userOption in fstab hinzufügen
bhordupur
@bhordupur Ich verwende keine UIDs. Ich verwende die statischen IP-Adressen meines internen Netzwerks. Ich gebe die NFS-Version nicht an, daher erwarte ich, dass ich die neueste (4) verwende, da entweder Ubuntu (Client) oder Server (Client) aktuelle Systeme sind.
CaptainPlanet
@bhordupur Die userOption hat nicht geholfen.
CaptainPlanet
Ich habe genau das gleiche Problem, aber es dauert auch sehr lange, bis meine Maschine heruntergefahren ist
Rick T

Antworten:

8

Ich habe hier die folgende Lösung gefunden . Anscheinend müssen Sie in fstab bestimmte systemd-Optionen verwenden.

servername:/home   /mountpoint/on/client  nfs  noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0
Ralph
quelle
3

Hatte das gleiche Problem und habe alle Beiträge auf askubuntu.com und anderswo darauf gelesen. Ich habe endlich ein Wiki gefunden, https://wiki.ubuntu.com/systemd#Remote_filesystem_mounts , das das Problem recht gut erklärt, abgesehen von kleinen Änderungen, die für Ubuntu 16.04 erforderlich sind. Was mir nach dem Lesen nicht so klar war, war, dass es notwendig zu sein scheint, sowohl den Eintrag in fstab (ziemlich normal) als auch die .mount-Datei in / etc / systemd / system zu haben.

Eintrag in meiner fstab:

myserver:/export/work    /mnt/work       nfs     auto    0       0

Die Mount-Unit-Datei für systemd /etc/systemd/system/mnt-work.mount (erwähnen Sie die Namenskonvention / mnt / work ==> mnt-work.mount

[Unit]
Description=/mnt/work
Wants=network-online.target rpc-statd.service
After=network-online.target rpc-statd.service

[Mount]
What=myserver:/export/work
Where=/mnt/work
Type=nfs
StandardOutput=syslog
StandardError=syslog
TimeoutSec=50

Wie Sie vielleicht bemerken, musste ich statd.service in rpc-statd.service und network.target in network-online.target ändern (was ich nicht weiß, wenn es notwendig ist).

Zusätzlich habe ich eine Zeitüberschreitung von 50 Sekunden hinzugefügt. Wenn ich jedoch das Netzwerk über einen Hardware-Switch umschalte, bleibt das Herunterfahren hängen.

Mein Problem war, wenn der fstab-Eintrag fehlt, wird die Mount-Einheit beim Start nicht ausgeführt!

Wanderer
quelle
Ich glaube, ich stoße jetzt darauf. Ich verstehe nicht, warum ein fstab-Eintrag erforderlich ist, wenn systemctl die Mount-Unit-Datei bereits aktiviert hat.
Sheridp
2

Ich brauchte Ewigkeiten, um das Problem zu beheben, und in der Zwischenzeit wurde ich von meinen NFS-Freigaben ausgeschlossen. Ich habe das 4. Feld /etc/fstabvon defaultsvon geändert user. Das Problem ist, dass nur der Superuser die freigegebenen Dateien bereitstellen kann. Hinzufügen userbedeutet, dass jeder Dateien mounten kann, einschließlich nfs.

Keeto
quelle
1

Ich hatte das gleiche Problem und fand diesen sehr nützlichen Digitalocean- Artikel, der die richtigen Mount-Optionen enthält

hostname:/path /mount/path nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
Steve Lorimer
quelle
Dies funktionierte schließlich für mich auf Ubuntu 16.04 LTS
David Okwii
0

Ich hatte genau das gleiche Setup und es hat nur bei mir funktioniert. Der NFS-Export war am 14.04 und ich habe ihn mit 16.04 gemountet. Ich habe es genauso gemacht wie ältere Versionen (und wie es sich anhört, genau das, was Sie versucht haben). Stellen Sie sicher, dass Sie die neue Maschine zu Ihren Exporten hinzugefügt haben.

Trey Nolen
quelle
0

Ich habe das gleiche Problem, aber das Herunterfahren dauert auch lange. Ich verbinde meinen Desktop mit einem Rasberry Pi, auf dem NFS ausgeführt wird:

Versuchen Sie, Ihre / etc / fstab auf Ihrem Client-Computer zu bearbeiten, um:

192.168.178.66:/media/user/drive /media/user/banana nfs soft,intr,rsize=8192,wsize=8192
Rick T.
quelle
0

In Ubuntu 16.04 fügen Sie einfach die Benutzeroption zur entsprechenden Zeile in / etc / fstab hinzu und versuchen Sie, als normaler Benutzer zu mounten. Dies sollte funktionieren (auch für cifs mount).

cloud81
quelle
Wenn Sie (wie ich) / home mit verschlüsseltem lvm gemountet haben und versuchen, eine kennwortgeschützte Netzwerkfreigabe zu mounten, wenn Sie eine smbcredentials-Datei in Ihrem Home haben, ändern Sie möglicherweise den Speicherort der Anmeldeinformationsdatei außerhalb der Home-Partition Problem (für mich war es!).
Wolke81