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:
- NFS-Freigabe mounten/einhängen
- File-Server auf dem Raspberry Pi einrichten
- NFS-Server auf dem Raspberry Pi einrichten
- Samba-Freigabe auf dem Raspberry Pi einrichten
- Datenträger, Laufwerke und Dateisysteme mounten/einhängen
Teilen:
Produktempfehlungen
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-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.