Hallo,
ich bin jetzt nicht ganz sicher ob die Frage wirklich in diese Rubrik gehört, denn streng genommen funktioniert der NFS-Server problemlos, nur die Clients warten beim Mounten nicht bis der Netzwerkdienst gestartet ist ...
Ich habe hier diverse Clients (Ubuntu 20.04), die beim Booten NFS-Verzeichnisse vom Server (Ubuntu 20.04) mounten sollen. Das hat mit 16.04 alles problemlos funktioniert.
Aber seit der Umstellung auf 20.04 klappt das Mounten beim Booten nur noch in ca. 60% der Fälle. Dann „hilft“ meistens ein Neustart des Clients, manchmal braucht es auch 3-4 Neustarts, aber irgendwann klappt es dann.
(Hinweis: „Natürlich“ sind die Einträge in fstab in Ordnung und der Server läuft auch: Ein manuelles "mount -a" führt immer zum Erfolg).
Hier ein Auszug aus der Client-fstab:
1 | 192.168.0.1:/export/files/team /import/Team nfs x-systemd.requires=network-online.target,rw 0 0 |
(Wie gesagt, mit "mount -a" klappt es sofort!)
Der Fehler ist wohl ganz einfach, daß beim Mounten nicht darauf gewartet wird, daß der Netzwerk-Dienst vorher gestartet wurde.
Es werden im Web ja so diverse Möglichkeiten angeboten, wie dieses Warten-auf-Netzwerk mittels Eintrag bestimmter Optionen in fstab realisiert werden kann. Erfolglos probiert habe ich bereits die Optionen „_netdev“, „ x-systemd.requires=network.target“ und „ x-systemd.requires=network-online.target“
Was mir aufgefallen ist: Auf den Clients läuft systemd-Network offensichtlich garnicht, sondern NetworkManager:
1 2 3 | systemctl is-enabled NetworkManager-wait-online.service systemd-networkd-wait-online.service enabled disabled |
Heißt das jetzt, daß „x-systemd.requires=…“ sowieso sinnlos ist, da der Dienst garnicht läuft?? (Und falls ja, wie "warte" ich den auf den entsprechenden NetworkManager-Dienst?)
Oder hat irgend jemand eine andere Idee, wie das NFS-Mounten zuverlässig beim Booten klappt?