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:

Automonunt Virtualbox Folder mit autofs

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

  1. OXID hat mit einer solchen Konfiguration übrigens Probleme beim Installieren. Anscheinend stolpert das PHP-Script mit den Permission-Checks über den Symlink. ↩︎ ↩︎