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.masterangegebenem 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.masterebenfalls 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 - automountauf 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. - cdoder- ls) und versuchen Sie, die automatisch einzuhängenden Dateisysteme einhängen zu lassen.
- Ermitteln Sie anhand der Ausgabe von - automountauf 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.masteran:- /nfs /etc/auto.nfs --timeout=10 - Hiermit erhält - autofsdie folgenden Informationen: Der Basiseinhängepunkt lautet- /nfs, die NFS-Freigaben sind in der Zuordnung- /etc/auto.nfsangegeben 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.nfsenthä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/exportauf dem Host- jupiter.combei Bedarf automatisch in das Verzeichnis- /nfs/exportauf dem lokalen Host eingehängt (- /nfswird aus der- auto.master-Zuordnung entnommen). Das Verzeichnis- /nfs/exportwird automatisch durch- autofsangelegt.
- Falls Sie dieselbe NFS-Freigabe bereits statisch eingehängt haben, kommentieren Sie optional die zugehörige Zeile in - /etc/fstabaus. Ein Beispiel für diese Zeile:- #jupiter.com:/home/geeko/doc/export /nfs/export nfs defaults 0 0 
- Laden Sie - autofsneu 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 - autofseinwandfrei.
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