Es gibt gute Gründe, warum man sich autofs ansehen sollte. Das einfachste Beispiel sind Benutzer-Verzeichnisse (z.B. /home). Normalerweise hat jeder Server seine eigenes Home-Verzeichnis und jeder Benutzer hat dort Platz um Dateien abzulegen. Wenn sich ein Benutzer aber nun auf einem weiteren Server einloggt, stehen ihm diese Dateien nicht mehr zur Verfügung. Da macht es Sinn, dass man dem User eine NFS-Freigabe konfiguriert, welche auf jedem Server automatisch gemountet wird, sobald sich der User einloggt und darauf zugreift. Der User hat somit seine Dateien überall zur Verfügung, egal wo er angemeldet ist.
Denkbar ist ein solches Szenario auch in einer skalierbaren Umgebung, wo ggf. Server dazu gestartet werden, wenn es zu einem Performance-Engpass kommt. Solche Lösungen werden gerne in public Clouds genutzt.
Natürlich wäre es möglich auch jedem Server die NFS-Freigabe statisch zu mounten (Stichwort fstab), jedoch würde das unnötige Systemressourcen kosten.
Die Einrichtung ist einfach. Zunächst muss man die notwendige Software installieren. Unter RHEL 8 funktioniert das so:
 |
| dnf install autofs |
Im ersten Beispiel soll die NFS-Freigabe
nfs-server:/share/firma-lw auf jedem weiteren Server unter
/firma/share gemountet werden, sobald ein Benutzer darauf zugreift.
Es sind zwei Konfigdateien notwendig, bevor der Automounter loslegen kann:
1. Eine MASTER-Datei unter /etc/auto.master.d/ Die Datei kann einen beliebigen Namen haben, sie muss aber die Endung .autofs haben. In diesem Beispiel verwende ich den Namen firma.autofs:
#/etc/auto.master.d/firma.autofs
/firma /etc/auto.firma.autofs
Der Inhalt der Datei ist ganz einfach aufgebaut. Die erste Spalte enthält das Verzeichnis, wo der Automounter aktiv werden soll (/firma) und die zweite Spalte enthält einen Verweis auf die dazugehörige Datei mit den Mountanweisungen.
#/etc/auto.firma.autofs
share -rw,sync nfs-server:/share/firma-lw
Auch hier ist der Aufbau nicht kompliziert. Die erste Spalte bezeichnet den Bereitstellungspunkt (in den Manpages als Key bezeichnet), dann folgen die Mountoptionen beginnend mit einem "-" und in der dritten Spalte die Freigabe die angebunden werden soll.
Zusammengefasst bedeutet das:
Unter dem Verzeichnis /firma (aus /etc/auto.master.d/firma.autofs) wird automatisch ein Unterverzeichnis share (aus /etc/auto.firma.autofs) bereit gestellt, welches die Freigabe des NFS-Servers gemounted hat. Der Server bindet die Freigabe also unter /firma/share an. Dabei muss das Unterverzeichnis share nicht existieren. Der Automounter legt es selbst an.
Im letzten Schritt muss nun der Service gestartet werden:
systemctl enable --now autofs
Ein ls auf dem Verzeichnis /firma zeigt zunächst ein leeres Verzeichnis an. Wenn ich aber jetzt in das Verzeichnis /firma/share wechsel (cd /firma/share) hat der Automounter den Mount erfolgreich ausgeführt und ich sehe die freigegeben Daten.
Und jetzt etwas mehr Dynamic bitte
Eingeleitet habe ich diesen Artikel mit dem Beispiel der User-Home-Verzeichnisse. Generell kann ich natürlich das komplette Verzeichnis /home exportieren und von den Servern mounten lassen. Aber es geht noch etwas schlanker, denn es ist ja nicht notwendig, dass gleich alle User-Home-Verzeichnisse bereitgestellt werden.
Als Beispiel erstelle ich eine neue Automounter-Datei unter /etc/auto.master.d und nenne sie home.autofs mit folgendem Inhalt:
#/etc/auto.master.d/home.autofs
/export/home /etc/home.automount
Die User-Verzeichnisse sollen also unter /export/home angebunden werden, Informationen dazu werden aus der Datei /etc/home.automount entnommen, deren Inhalt so aussieht:
#/etc/home.automount
* -rw,sync NFS-Server:/home/&
Achtet auf das "&" am Ende der Zeile. das "&" steht hier für einen Platzhalter des jeweiligen User-Verzeichnisses.
Den Service neu starten:
systemctl restart autofs
Sehen wie es funktioniert:
Zuerst sehen wir, dass der Automounter /etc/home.automount aktiv hat. Der Benutzer User1 hat als Home-Verzeichnis /export/home/user1 konfiguriert (passwd). Nachdem sich der Benutzer User1 eingeloggt hat, sehen wir das gemountete Verzeichnis /export/home/user1.
Wenn sich der User wieder abgemeldet hat, verschwindet nach einer Zeit der Mount wieder.
Keine Kommentare:
Kommentar veröffentlichen