30 Bedarfsweises Einhängen mit autofs #
Das Programm autofs
hängt automatisch festgelegte Verzeichnisse bedarfsweise ein. Das Programm beruht auf einem Kernel-Modul, das für hohe Effizienz sorgt, und kann sowohl lokale Verzeichnisse als auch Netzwerkfreigaben verwalten. Diese automatischen Einhängepunkte werden nur dann eingehängt, wenn auf sie zugegriffen wird; nach einem bestimmten Zeitraum ohne Aktivität werden sie wieder ausgehängt. Dieses bedarfsweise Verfahren spart Bandweite und bewirkt höhere Leistungen als das statische Einhängen mit /etc/fstab
. autofs
ist das Steuerungsskript und automount
das Kommando (der Daemon), mit dem das automatische Einhängen ausgeführt wird.
30.1 Installation #
autofs
ist nicht standardmäßig in SUSE Linux Enterprise Server installiert. Um die Funktionen für das automatische Einhängen zu nutzen, installieren Sie das Programm zunächst mit
sudo zypper install autofs
30.2 Konfiguration #
autofs
muss manuell konfiguriert werden. Bearbeiten Sie hierzu die Konfigurationsdateien mit einem Texteditor, z. B. vim
. Die Konfiguration von autofs
umfasst zwei grundlegende Schritte: die master-Zuordnungsdatei und bestimmte Zuordnungsdateien.
30.2.1 Die Master-Zuordnungsdatei #
Die standardmäßige Master-Konfigurationsdatei für autofs
ist /etc/auto.master
. Soll der Speicherort dieser Datei geändert werden, bearbeiten Sie den Wert der Option DEFAULT_MASTER_MAP_NAME
in /etc/sysconfig/autofs
. Beispiel für SUSE Linux Enterprise Server:
# # Sample auto.master file # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # For details of the format look at autofs(5).1 # #/misc /etc/auto.misc2 #/net -hosts # # Include /etc/auto.master.d/*.autofs3 # #+dir:/etc/auto.master.d # # Include central master map if it can be found using # nsswitch sources. # # Note that if there are entries for /net or /misc (as # above) in the included master map any keys that are the # same will not be seen as the first read key seen takes # precedence. # +auto.master4
Auf der man-Seite zu | |
Diese einfache Syntax für die Automounter-Zuordnung ist standardmäßig auskommentiert (#), liefert jedoch ein gutes Beispiel. | |
Falls die Master-Zuordnung in mehrere Dateien aufgeteilt werden muss, heben Sie die Auskommentierung der Zeile auf und platzieren Sie die Zuordnungen (mit dem Suffix | |
|
Die Einträge in auto.master
enthalten drei Felder mit der folgenden Syntax:
mount point map name options
- Einhängepunkt
Basisspeicherort, an dem das
autofs
-Dateisystem angehängt wird, z. B./home
.- Zuordnungsname
Name einer Zuordnungsquelle für das Einhängen. Weitere Informationen zur Syntax der Zuordnungsdateien finden Sie in Abschnitt 30.2.2, „Zuordnungsdateien“.
- Optionen
Diese Optionen (sofern angegeben) werden als Standardeinstellungen für alle Einträge in der Zuordnung angewendet.
Weitere Informationen zu den einzelnen Werten für die optionalen Angaben map-type
(Zuordnungstyp), format
(Format) und options
(Optionen) finden Sie auf der man-Seite zu (man 5 auto.master
).
Der folgende Eintrag in auto.master
weist autofs
an, in /etc/auto.smb
nachzuschlagen und Einhängepunkte im Verzeichnis /smb
zu erstellen.
/smb /etc/auto.smb
30.2.1.1 Direktes Einhängen #
Beim direkten Einhängen wird ein Einhängepunkt im Pfad erstellt, der in der entsprechenden Zuordnungsdatei angegeben ist. Geben Sie in auto.master
nicht den Einhängepunkt an, sondern ersetzen Sie den Eintrag im Feld für den Einhängepunkt durch /-
. Die folgende Zeile weist autofs
beispielsweise an, einen Einhängepunkt im Pfad zu erstellen, der in auto.smb
angegeben ist:
/- /etc/auto.smb
Wenn die Zuordnungsdatei nicht mit dem vollständigen lokalen Pfad oder Netzwerkpfad angegeben ist, wird die Datei über die NSS-Konfiguration (Name Service Switch) ermittelt:
/- auto.smb
30.2.2 Zuordnungsdateien #
Dateien sind der häufigste Zuordnungstyp für das automatische Einhängen mit autofs
, es gibt jedoch noch weitere Typen. Eine Zuordnungsspezifikation kann beispielsweise die Ausgabe eines Kommandos oder auch das Ergebnis einer LDAP- oder Datenbankabfrage sein. Weitere Informationen zu Zuordnungstypen finden Sie auf der man-Seite man 5 auto.master
.
Zuordnungsdateien bestimmen den Speicherort der Quelle (lokal oder im Netzwerk) sowie den Einhängepunkt, an dem die Quelle lokal eingehängt werden soll. Für die Zuordnungen gilt ein ähnliches allgemeines Format wie für die Master-Zuordnung. Der Unterschied ist, dass die Optionen zwischen dem Einhängepunkt und dem Speicherort angegeben sind, also nicht am Ende des Eintrags:
mount point options location
Die Zuordnungsdateien dürfen nicht als ausführbar markiert sein. Mit chmod -x ZUORDNUNGSDATEI
entfernen Sie die ausführbaren Teile.
- Einhängepunkt
Gibt an, wo der Quellspeicherort eingehängt werden soll. Dies kann entweder der Name eines einzelnen Verzeichnisses sein (indirektes Einhängen), das dem in
auto.master
angegebenem Basiseinhängepunkt hinzugefügt werden soll, oder der vollständige Pfad des Einhängepunkts (direktes Einhängen, siehe Abschnitt 30.2.1.1, „Direktes Einhängen“).- Optionen
Zeigt eine optionale, durch Kommas getrennte Liste der Einhängeoptionen für die entsprechenden Einträge an. Wenn
auto.master
ebenfalls Optionen für diese Zuordnungsdatei enthält, werden diese Optionen an das Ende der Liste angehängt.- location
Gibt den Pfad an, von dem aus das Dateisystem eingehängt werden soll. Dies ist in der Regel ein NFS- oder SMB-Volume mit dem üblichen Format
Hostname:Pfadname
. Wenn das einzuhängende Dateisystem mit einem Schrägstrich (/) beginnt (z. B. lokale/dev
-Einträge oder smbfs-Freigaben), muss ein Doppelpunkt (:) vorangestellt werden, z. B.:/dev/sda1
.
30.3 Funktionsweise und Fehlersuche #
In diesem Abschnitt wird erläutert, wie Sie die Funktionsweise des autofs
-Dienstes steuern und weitere Fehlersuchinformationen durch zusätzliche Einstellungen für die Automounter-Funktionsweise abrufen.
30.3.1 Steuern des autofs
-Dienstes #
Die Funktionsweise des autofs
-Dienstes wird mit dem Kommando systemd
gesteuert. Die allgemeine Syntax für das Kommando systemctl
für autofs
lautet
sudo systemctl SUB_COMMAND autofs
SUB_COMMAND steht hierbei für:
- enable
Startet den Automounter-Daemon beim Booten.
- start
Startet den Automounter-Daemon.
- stop
Stoppt den Automounter-Daemon. Automatische Einhängepunkte sind nicht verfügbar.
- status
Gibt den aktuellen Status des
autofs
-Dienstes zusammen mit einem Teil einer zugehörigen Protokolldatei aus.- restart
Stoppt und startet den Automounter, wobei alle laufenden Daemons beendet und neue Daemons gestartet werden.
- reload
Prüft die aktuelle
auto.master
-Zuordnung, startet die Daemons neu, deren Einträge geändert wurden, und startet neue Daemons für neue Einträge.
30.3.2 Fehlersuche bei Automounter-Problemen #
Falls Probleme beim Einhängen von Verzeichnissen mit autofs
auftreten, führen Sie den automount
-Daemon manuell aus und beachten Sie die Ausgabemeldungen:
Stoppen Sie
autofs
.sudo systemctl stop autofs
Führen Sie
automount
auf einem Terminal manuell im Vordergrund aus und aktivieren Sie die ausführliche Ausgabe.sudo automount -f -v
Greifen Sie auf einem anderen Terminal auf die Einhängepunkte zu (z. B.
cd
oderls
) und versuchen Sie, die automatisch einzuhängenden Dateisysteme einhängen zu lassen.Ermitteln Sie anhand der Ausgabe von
automount
auf dem ersten Terminal, warum das Einhängen nicht erfolgt ist oder gar nicht erst versucht wurde.
30.4 Automatisches Einhängen als NFS-Freigabe #
Das nachfolgende Verfahren zeigt, wie Sie autofs
für das automatische Einhängen einer NFS-Freigabe konfigurieren, die sich im Netzwerk befindet. Hierbei werden die oben aufgeführten Informationen verwendet und es wird vorausgesetzt, dass Sie mit NFS-Exporten vertraut sind. Weitere Informationen zu NFS finden Sie in Kapitel 28, Verteilte Nutzung von Dateisystemen mit NFS.
Bearbeiten Sie die Master-Zuordnungsdatei
/etc/auto.master
:sudo vim /etc/auto.master
Fügen Sie einen neuen Eintrag für den neuen NFS-Einhängepunkt am Ende von
/etc/auto.master
an:/nfs /etc/auto.nfs --timeout=10
Hiermit erhält
autofs
die folgenden Informationen: Der Basiseinhängepunkt lautet/nfs
, die NFS-Freigaben sind in der Zuordnung/etc/auto.nfs
angegeben und alle Freigaben in dieser Zuordnung werden nach 10 Sekunden Inaktivität automatisch ausgehängt.Erstellen Sie eine neue Zuordnungsdatei für NFS-Freigaben:
sudo vim /etc/auto.nfs
/etc/auto.nfs
enthält in der Regel je eine separate Zeile pro NFS-Freigabe. Das Format wird in Abschnitt 30.2.2, „Zuordnungsdateien“ beschrieben. Fügen Sie die Zeile ein, in der der Einhängepunkt und die Netzwerkadresse der NFS-Freigabe aufgeführt sind:export jupiter.com:/home/geeko/doc/export
Mit der obigen Zeile wird das Verzeichnis
/home/geeko/doc/export
auf dem Hostjupiter.com
bei Bedarf automatisch in das Verzeichnis/nfs/export
auf dem lokalen Host eingehängt (/nfs
wird aus derauto.master
-Zuordnung entnommen). Das Verzeichnis/nfs/export
wird automatisch durchautofs
angelegt.Falls Sie dieselbe NFS-Freigabe bereits statisch eingehängt haben, kommentieren Sie optional die zugehörige Zeile in
/etc/fstab
aus. Ein Beispiel für diese Zeile:#jupiter.com:/home/geeko/doc/export /nfs/export nfs defaults 0 0
Laden Sie
autofs
neu und prüfen Sie die Funktionsweise:sudo systemctl restart autofs
# ls -l /nfs/export total 20 drwxr-xr-x 6 1001 users 4096 Oct 25 08:56 ./ drwxr-xr-x 3 root root 0 Apr 1 09:47 ../ drwxr-xr-x 5 1001 users 4096 Jan 14 2013 .images/ drwxr-xr-x 10 1001 users 4096 Aug 16 2013 .profiled/ drwxr-xr-x 3 1001 users 4096 Aug 30 2013 .tmp/ drwxr-xr-x 4 1001 users 4096 Oct 25 08:56 SLE-12-manual/
Wenn die Liste der Dateien auf der entfernten Freigabe angezeigt wird, funktioniert
autofs
einwandfrei.
30.5 Weitere Themen #
Dieser Abschnitt befasst sich mit Themen, die über die grundlegende Einführung in autofs
hinausgehen: automatisches Einhängen von NFS-Freigaben, die sich im Netzwerk befinden, Verwenden von Platzhalterzeichen in Zuordnungsdateien sowie spezielle Informationen für das CIFS-Dateisystem.
30.5.1 /net
-Einhängepunkt #
Dieser Helper-Einhängepunkt ist nützlich, wenn zahlreiche NFS-Freigaben vorhanden sind. Mit /net
werden bei Bedarf alle NFS-Freigaben im lokalen Netzwerk automatisch eingehängt. Dieser Eintrag ist in der auto.master
-Datei bereits vorhanden. Kommentieren Sie diesen Eintrag aus und starten Sie autofs
neu:
/net -hosts
systemctl restart autofs
Wenn Sie beispielsweise einen Server mit dem Namen jupiter
nutzen, auf dem sich eine NFS-Freigabe mit dem Namen /export
befindet, hängen Sie es mit folgendem Kommando
# cd /net/jupiter/export
an der Befehlszeile ein.
30.5.2 Verwenden von Platzhalterzeichen beim automatischen Einhängen von Unterverzeichnissen #
Wenn ein Verzeichnis mit Unterverzeichnissen vorliegt, die einzeln automatisch eingehängt werden sollen – beispielsweise das Verzeichnis /home
mit den Benutzerverzeichnissen der verschiedenen Benutzer –, dann bietet autofs
eine geschickte Lösung.
Für Benutzerverzeichnisse fügen Sie die folgende Zeile in auto.master
ein:
/home /etc/auto.home
Ergänzen Sie nun die Datei /etc/auto.home
mit der richtigen Zuordnung, so dass die Benutzerverzeichnisse der einzelnen Benutzer automatisch eingehängt werden. Erstellen Sie beispielsweise separate Einträge für die Verzeichnisse:
wilber jupiter.com:/home/wilber penguin jupiter.com:/home/penguin tux jupiter.com:/home/tux [...]
Dies ist äußerst umständlich, da Sie die Liste der Benutzer in auto.home
verwalten müssen. Statt des Einhängepunkts können Sie ein Sternchen (*) angeben und statt des einzuhängenden Verzeichnisses das Und-Zeichen (&):
* jupiter:/home/&
30.5.3 Automatisches Einhängen des CIFS-Dateisystems #
Soll eine SMB/CIFS-Freigabe automatisch eingehängt werden (weitere Informationen zum SMB/CIFS-Protokoll siehe Kapitel 29, Samba), müssen Sie die Syntax der Zuordnungsdatei bearbeiten. Fügen Sie -fstype=cifs
in das Optionsfeld ein und stellen Sie dem Speicherort der Freigabe einen Doppelpunkt (:) voran.
mount point -fstype=cifs ://jupiter.com/export