NFS-Verzeichnis mit "autofs" automatisch mounten/einhängen

Mit Raspbian Wheezy und Raspbian Jessie geprüft.

Das Ziel ist, ein per NFS exportiertes Verzeichnis permanent auf einem Client verfügbar zu machen. Normalerweise würde man dazu die Datei "/etc/fstab" so modifizieren, dass das NFS-Verzeichnis beim Systemstart automatisch eingebunden wird. Allerdings hat "fstab" den Nachteil, dass das Mounten misslingt, wenn beim Systemstart noch kein Netzwerk verfügbar ist. Meist erstellt man dann ein Script, dass das Verzeichnis erst dann einhängt, wenn eine Netzwerkverbindung festgestellt werden konnte. Oder man trägt das Mount-Kommando in der Datei "/etc/rc.local" ein.

Wir wollen aber eine Lösung, die auch wirklich funktioniert und gleichzeitig fehlerträchtige Klimmzüge vermeiden. Die Einrichtung von NFS scheitert häufig daran, weil man die Freigaben auf den Clients nicht dauerhaft eingebunden bekommt. Deshalb binden wir das exportierte Verzeichnis mit dem Tool "autofs" ein.
Mit "autofs" lassen sich Partitionen bei Bedarf automatisch einhängen und bei längerer Nichtbenutzung auch automatisch wieder aushängen.

Hinweis: "autofs" verwendet "automount". Außerdem wird das exportierte Verzeichnis immer erst beim ersten Zugriff gemountet und nicht automatisch beim Systemstart. Das ist insofern kein Problem, wenn man akzeptiert, dass es beim ersten Zugriff eine kurze Verzögerung gibt.

Lösung: NFS-Verzeichnis dauerhaft auf einem Client mounten

Zuerst müssen wir "autofs" auf dem Client installieren:

sudo apt-get install autofs

Dann erstellen wir eine Map-Datei:

sudo nano /etc/auto.nfs

Dort tragen wir das exportierte Verzeichnis ein:

public -fstype=nfs,rw,retry=0 192.168.1.2:/home/public

Anschließend die Datei speichern und schließen.
Dann öffnen wir die Master-Datei, in der die Map-Dateien eingetragen sind.

sudo nano /etc/auto.master

Am Ende der Datei fügen wir folgende Zeile hinzu:

/home/nfs /etc/auto.nfs

Anschließend die Datei speichern und schließen.

Dann muss die veränderte Map-Datei durch einen Restart von "autofs" neu geladen werden. Sie wird beim zukünftigen Einbinden berücksichtigt.

sudo service autofs restart

Jetzt kann man testen, ob das exportierte Verzeichnis eingebunden ist.

mount

Ansicht des Verzeichnisses:

ls /home/nfs/public

Hier sollte der Inhalt des exportierten Verzeichnisses vom NFS-Server angezeigt werden. Man sollte sicherstellen, dass sich darin zumindest eine Datei befindet, damit man auf dem Client sieht, ob das Mounten funktioniert hat. Wenn das Verzeichnis auf dem Server leer ist, kann man auf dem Client den Unterschied zwischen eingehängt und nicht eingehängt nicht erkennen.

Ob "autofs" auch wirklich funktioniert, kann man nur durch den Neustart des Clients prüfen.

sudo reboot

In der Regel sollte das freigegebene Verzeichnis nach dem ersten Zugriff eingebunden zur Verfügung stehen.

ls /home/nfs/public

Troubleshooting: NFS-Client

Wenn das Einbinden der exportierten Verzeichnisse nicht funktioniert, prüft man, ob überhaupt NFS-Freigaben zur Verfügung stehen.

showmount -e 192.168.1.2

Wenn ja, dann gibt es eventuell ein Problem mit "autofs". Dazu prüft man die syslog-Datei, in der sich vielleicht Fehlermeldungen zu "automount" finden.

sudo cat /var/log/syslog | grep -i automount

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!