Automatisches Mounten

Willemers Informatik-Ecke

Automatisches Mounten

In vielen Fällen ist es unsinnig, alle NFS Dateisysteme eingebunden zu halten, da sie nur selten benötigt werden. In manchen Fällen ist kann es zu Schwierigkeiten kommen, wenn zuviele Verbindungen bestehen. Ein Beispiel ist eine Konfiguration, in der ein Anwender sein Heimatverzeichnis auf seiner Workstation hat und dieses auf anderen Maschinen in der aktuellen Version zur Verfügung haben möchte, wenn er sich einloggt. Das löst man recht einfach, indem man das Heimatverzeichnis auf fremden Rechnern einfach jeweils von der Heimatworkstation per NFS mountet.

Querverbindungen stören Boot

In der meisten Zeit wird der Benutzer auf seiner Workstation arbeiten. Wenn er sich schon einmal auf einer Maschine einloggt, wird er es aber nie auf allen Maschinen gleichzeitig tun. Ist der Benutzer im Urlaub, fährt er die Workstation vielleicht sogar herunter. Soll dann eine Maschine im Netz rebootet werden, kann sie die NFS-Verbindung nicht aufbauen, der Boot verzögert sich unsinnigerweise.

Solche und vergleichbare Situationen lassen sich mit dem automount in den Griff bekommen. Es wird festgelegt, welche Verzeichnisse von wo einzubinden sind. Sie werden aber erst dann wirklich angefordert, wenn diese Verzeichnisse angesprochen werden,

Konfigurationsdateien

/etc/auto_master

automount verwendet mehrere Konfigurationsdateien. Die zentrale Steuerung erledigt /etc/auto_master bzw. auto.master. Hier sind die Verzeichnisse aufgelistet, für die später je ein Automountdämon zuständig sein wird. Dabei geht der Automount recht rigoros in der Umsetzung seiner Kontrolle vor. In diesem Verzeichnis darf anschließend kein anderer Prozess mehr Verzeichnisse anlegen und vorher angelegte Verzeichnisse werden durch Automount unsichtbar.

Für jeden der Aufsetzpunkte wird in der Masterdatei eine weitere Konfigurationsdatei genannt. Konventionsgemäß steht sie ebenfalls im Verzeichnis /etc und der Name beginnt mit auto und schließt mit dem Aufsetzpunkt. In ihr steht beschrieben, welche Unterverzeichnisse zur Verfügung stehen, die Optionen des Befehls mount und das Device oder die NFS-Quelle, also ähnlich wie in der fstab.

Prozesse und Hintergründe

AutoFS

Der Automounter basiert auf einem virtuellen Dateisystem namens AutoFS. Daraus resultiert der Name des Startskripts autofs im Verzeichnis /etc/init.d. Unter Solaris dient er nur dem Start und Stop der Automounterdämons automountd. Unter Linux wird er auch mit der Option reload zum Neueinlesen der Konfigurationsdateien aufgerufen. Das Programm automount dient unter Solaris der Kommunikation mit dem Dämon, während es unter Linux der Dämon selbst ist.

Beispiel: Dynamisches Heimatverzeichnis

Heimatverziechnis automatisch einbinden

Um das oben erwähnte Heimatverzeichnis per Automount einzurichten, wird unter dem Verzeichnis /home ein extra Verzeichnis auto für den Automounter eingerichtet. Man könnte natürlich direkt das Verzeichnis /home einbeziehen, aber dann ist es nicht möglich, direkt und lokal ein Heimatverzeichnis anzulegen.

# /etc/auto.master
/misc   /etc/auto.misc
/home/auto      /etc/auto.home

Nun wird in der Datei auto.home für den Benutzer andrea definiert, dass das eigentliche Heimatverzeichnis auf dem Rechner gaston liegt und von dort per NFS zu mounten ist.

# /etc/auto.home
andrea          -fstype=nfs             gaston:/home/andrea

Tatsächlich ist die Option nicht nötig, da der Automounter normalerweise davon ausgeht, dass es sich um ein NFS-Verzeichnis handelt.

Bei dieser Konfiguration befindet sich das Heimatverzeichnis von andrea in /home/auto/andrea. Das könnte man natürlich bei der Benutzerverwaltung so eintragen. Elegant ist das allerdings nicht. Um dennoch den Pfad /home/andrea verwalten zu können, legen Sie einfach einen symbolischen Link.

ln -s /home/auto/andrea /home/andrea

Wenn der Benutzer andrea auf silver angelegt wird, muss man einerseits darauf achten, dass die gleiche UID wie auf gaston verwendet wird. Als Heimatverzeichnis wird /home/andrea verwendet. Loggt man sich von außen ein, wird sofort das Verzeichnis von gaston eingehängt und andrea hat die gleiche Umgebung wie auf gaston.

Perspektiven im LAN

Man kann die Konfigurationsdateien auch dem NIS unterstellen und dann alle Heimatverzeichnisse von allen Rechnern im Netz über einen dedizierten Heimatverzeichnisserver versorgen. Da die Workstations der einzelnen Benutzer keine spezifischen Daten mehr verfügen, sind sie auch relativ leicht austauschbar. Der weitere Vorteil ist, dass die Datensicherung wesentlich vereinfacht wird.

Automount einer CD

Mit Hilfe von automount kann man sogar das lästige Einbinden von CDs in den Verzeichnisbaum umgehen. In der Masterdatei von oben war ein Eintrag für das Verzeichnis /misc. Die entsprechende Konfigurationsdatei hat folgenden Inhalt:

# /etc/auto.misc
cd              -fstype=iso9660,ro      :/dev/cdrom
#floppy         -fstype=auto,sync       :/dev/fd0

Und tatsächlich, ein einfacher ls auf das Verzeichnis /misc/cd lässt das CD-Laufwerk durchstarten und zeigt den Inhalt der gerade erst eingelegten CD.

Schwieriger ist da schon das Entnehmen der CD. Da ein automatischer Mount stattgefunden hat, sperrt der Entnahmemechanismus. Allerdings kann man mit Hilfe des Befehls eject oder durch den Befehl umount an die CD wieder heran. Alternativ kann man warten, bis die automatische Freigabe durch den Automount erfolgt. Dies ist standardmäßig 5 Minuten. Mit dem Paramter -t ist diese Zeitspanne zu manipulieren.

MacOS X

MacOS X verwendet Automount für alle Wechselmedien. Da ein Wechselmedium beim Mac durch Ziehen auf den Papierkorb ausgeworfen wird, gibt es so keine Umgewöhnung für den Anwender. Im Hintergrund wird einfach ein eject ausgelöst.

Diese Seite basiert auf Inhalten aus dem Buch Arnold Willemer: Wie werde ich UNIX-Guru
Verlagsrechte bei galileo computing


Homepage (C) Copyright 2002 Arnold Willemer