autofs als robuste Alternative zu fstab für mounts
Unlängst startete eine meiner VM's nicht mehr, da ein Eintrag in der fstab nicht korrekt war und diese für den Boot-Vorgang benötigt wird.
Es gibt zwar Wege, wie man wieder ins System kommt, um die Konfiguration wieder in Ordnung zu bringen, doch es gibt mit autofs eine wunderbare und vor allem sehr robuste Alternative zur Einbindung von Netzwerk-Ressourcen über die fstab.
Warum der ganze Aufwand?
Ab und an kommt es mal vor, dass Virtuelle Maschinen aufgrund von fehlenden Shares, die in der fstab eingetragen sind, nicht mehr starten.
Durch die Verwendung von autofs kann man dies umgehen, da autofs im Gegensatz zur fstab nicht für den Bootvorgang benötigt wird.
Geht es mit der fstab doch mal schief, habe ich eine Lösung parat, wie man die fstab beim booten umgehen kann.
Systemkomponenten vorbereiten
WICHTIG! (wird gerne vergessen)
Die Virtualbox GuestAdditions müssen auf der Guest Maschine installiert sein, sonst kennt diese das zu mountende Filesystem nicht.
Zunächst muss autofs
installiert werden.
apt-get install autofs
autofs Einrichten
Beispielhafte Einrichtung eines Virtualbox Shared Folders auf Ubuntu. Hier verwendet habe ich den Namen eines aktuellen Projektes verwendet; dev_cairo_autofs kann natürlich beliebig benannt werden. Sinnvoll ist es, überall den gleichen Namen zu verwenden, um nicht durcheinander zu kommen.
Die auto.master
Datei bekommt folgende Zeile verpasst [1]:
vim /etc/auto.master
/mnt /etc/auto.dev_cairo_automount --timeout=30 --ghost
+auto.master
Wichtiger Hinweis
Das Protokoll file: vor dem Pfad in der auto.master
führte teilweise dazu, dass autofs nicht direkt mounten konnte. Es war dann notwendig den Service 1x neu zu starten. Fragt mich nicht, warum...
Die darin referenzierte Datei auto.dev_cairo_automount
erstellen wir und fügen diese Zeilen ein:
dev_cairo_autofs -fstype=vboxsf,rw dev_cairo_autofs
Damit der Share über Virtualbox verfügbar ist, muss er dort auch noch eingestellt werden:
Für mein Projekt habe ich nun noch einen Symlink auf das durch autofs nach /mnt gemountete Share des Hosts-Systems erstellt, da die Webserver-Config dort die Dateien erwartet [1:1].
ln -s /mnt/dev_cairo_autofs /var/www/dev_cairo
Fix für autostart Probleme nach dem booten
Sollten die über autofs
gemounteten Verzeichnisse nach einem reboot des Systems nicht zur Verfügung stehen, schafft dieser Befehl Abhilfe (Debian-System):
update-rc.d autofs defaults
NFS Shares mounten
Möchte man auf NFS-Shares zugreifen, benötigt man dazu auf der ein oder anderen Distribution noch das Paket nfs-common
apt-get install nfs-common
In dessen Config diese Einstellung tätigen:
vim /etc/default/nfs-common
NEED_IDMAPD=yes
Eine Beispielhafte Config für das mounten von NFS-Shares schaut wie folgt aus:
serverbackups -fstype=nfs,rw,retry=0 192.168.0.60:/volume1/serverbackups