Autofs ist ein Automounter-Dienstprogramm, das Ihnen hilft, NFS-Freigaben automatisch zu mounten, wenn eine Datei oder ein Verzeichnis auf dem NFS-Mount-Punkt angefordert wird. Auto-Mounts werden nur gemountet, wenn auf sie zugegriffen wird, und werden nach einer gewissen Zeit der Inaktivität getrennt.
Im letzten Tutorial haben wir /etc/fstab verwendet, um ein Dateisystem automatisch beim Systemneustart zu mounten, aber hier werden wir autofs verwenden, um dieselbe NFS-Freigabe zu mounten.
AutoFS sehr nützlich für den Fall, dass der Client-Rechner viele Mounts gleichzeitig mounten muss, die Gesamtstartzeit wird verlängert; Mit den autofs können wir die Bootzeit beschleunigen.
Wenn der statische Mount (/etc/fstab) verwendet wird, muss das System unabhängig davon, wie selten ein Benutzer auf das über NFS gemountete Dateisystem zugreift, Ressourcen bereitstellen, um das gemountete Dateisystem an Ort und Stelle zu halten. Autofs löst das Problem, das Dateisystem gemountet zu lassen, auf das die Benutzer nicht häufig zugreifen, indem es nach einer gewissen Zeit der Inaktivität unmountet wird. Aus diesem Grund spart das automatische Mounten von NFS/Samba-Freigaben Bandbreite und bietet eine bessere Gesamtleistung im Vergleich zu statischen Mounts über fstab.
Autofs kann auch verwendet werden, um andere Dateisysteme zu mounten, einschließlich AFS, SMBFS, CIFS und lokale Dateisysteme.
Diese Anleitung hilft Ihnen bei der Installation und Konfiguration von Autofs unter CentOS 7 / Fedora 27 / Ubuntu 16.04 / Debian 9 . Dieselben Schritte gelten für frühere Versionen von CentOS , Fedora , Ubuntu , und Debian .
Umgebung
Hier sind meine Demo-Knoten im Detail, ich habe sowohl NFS als auch Client-Server in derselben Distribution.
Hostname des NFS-Servers:server.itzgeek.local (CentOS 7 / Fedora 27 / Ubuntu 16.04)
IP-Adresse des NFS-Servers:192.168.12.5/24
Freigabepfad:/nfsfileshare
Hostname des NFS-Clients:client.itzgeek.local (CentOS 7 / Fedora 27 / Ubuntu 16.04)
NFS-Client-IP-Adresse:192.168.12.7/24
Autofs-Mount-Pfad:/autofs/nfsfileshare
Voraussetzungen
Sie benötigen einen funktionierenden NFS-Server.
LESEN :So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 / Fedora 27 ein
LESEN :So richten Sie den NFS-Server unter Debian 9 / Ubuntu 16.04 ein
Autofs installieren
Lassen Sie uns das autofs-Paket installieren, das im Basis-Repository verfügbar ist. Installieren Sie es mit dem folgenden Befehl auf dem Terminal.
### CentOS 7 / RHEL 7 & Fedora 27/26 ### # yum -y install autofs ### Debain 9 / Ubuntu 16.04 / 14.04 ### $ sudo apt-get install autofs
Autofs konfigurieren
Die Hauptkonfigurationsdatei für Autofs ist /etc/auto.master Datei, die als Mastermap bezeichnet wird. Die Hauptkartendatei enthält eine Liste von Reittieren und den Ort ihrer Karte.
Beispielausgabe von /etc/auto.master , sehen Sie das Reittier und seine Karte in „Grün “.
# # Sample auto.master file # This is a 'master' automounter map and it has the following format: # mount-point [map-type[,format]:]map [options] # For details of the format look at auto.master(5). # /misc /etc/auto.misc # # NOTE: mounts done from a hosts map will be mounted with the # "nosuid" and "nodev" options unless the "suid" and "dev" # options are explicitly given. # /net -hosts # # Include /etc/auto.master.d/*.autofs # The included files must conform to the format of this file. # +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.master
/etc/auto.master bearbeiten
Gemäß unserem Szenario werden wir die NFS-Freigabe unter /autofs/nfsfileshare bereitstellen mit Autofs. Der folgende Schritt erstellt einen Einhängepunkt unter /autofs und konfiguriert es gemäß den Einstellungen in /etc/auto.nfs (die wir im nächsten Schritt erstellen werden).
### CentOS 7 / RHEL 7 & Fedora 27/26 ### # vi /etc/auto.master ### Debian 9 / Ubuntu 16.04 / 14.04 ### $ sudo nano /etc/auto.master
Fügen Sie die folgende Zeile am Ende von /etc/auto.master hinzu Datei. Das Standardzeitlimit für autofs beträgt 300 Sekunden (5 Minuten) . Nach fünf Minuten Inaktivität wird ein eingehängtes Dateisystem automatisch ausgehängt.
Hinweis: Es ist optional, das Timeout in der Datei /etc/auto.master zu definieren.
/autofs /etc/auto.nfs --timeout=60
Erstellen Sie /etc/auto.nfs
Jetzt erstellen wir die Datei, die unsere Automounter-Map enthält.
### CentOS 7 / CentOS 7 & Fedora 27/26 ### # vi /etc/auto.nfs ### Debian 9 / Ubuntu 16.04 / 14.04 ## $ sudo nano /etc/auto.nfs
Diese Datei sollte für jede NFS-Freigabe eine separate Zeile enthalten. Das Format für eine Zeile ist {Bereitstellungspunkt} [{Bereitstellungsoptionen}] {Standort} . Die hier angegebenen Mount-Punkte sind relativ zu dem in /etc/auto.master.
angegebenen Mount-Punktnfsfileshare -fstype=nfs4,rw,soft,intr 192.168.12.5:/nfsfileshare
Wo,
nfsfileshare :Mount Point
-fstype=nfs4,rw,soft,intr :Mount-Optionen
192.168.12.5:/nfsfileshare :Standort teilen
Dadurch wird ein neuer Einhängepunkt unter /autofs/nfsfileshare/ erstellt und mountet die NFS-Datei „/nfsfileshare “-Verzeichnis exportiert von „192.168.12.5 ”
Starten Sie den autofs-Dienst neu und aktivieren Sie ihn so, dass er beim Systemstart gestartet wird.
### CentOS 7 / RHEL 7 & Fedora 27/26 ### # systemctl restart autofs # systemctl enable autofs ### Debian 9 / Ubuntu 16.04 / 14.04 ## $ sudo service autofs restart $ sudo update-rc.d autofs defaults
AutoFS testen
Versuchen Sie nun, auf „/autofs/nfsfileshare zuzugreifen ” Verzeichnis.
Hinweis :Stellen Sie sicher, dass Sie die statischen Mounts aushängen und den Eintrag aus der Datei /etc/fstab entfernen.
$ ll /autofs/nfsfileshare total 0 drwxrwxrwx 4 root root 33 Sep 17 17:47 ./ drwxr-xr-x 3 root root 0 Sep 19 01:23 ../ drwxr-xr-x 2 root root 6 Sep 17 17:39 1/ drwxrwxr-x 2 raj raj 6 Sep 17 17:45 2/ -rw-rw-r-- 1 raj raj 0 Sep 17 17:47 test
Sie würden den Inhalt des freigegebenen NFS-Verzeichnisses sehen. Verwenden Sie außerdem „df ” Befehl, um die gemounteten Dateisysteme anzuzeigen, können Sie die NFS-Freigabe sehen, die automatisch gemountet wird.
Hinweis: Unten ist das Beispiel aus „df “-Befehl (Ubuntu 16.04).
$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sda1 ext4 98G 3.7G 89G 4% / none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup udev devtmpfs 478M 4.0K 478M 1% /dev tmpfs tmpfs 98M 1.5M 97M 2% /run none tmpfs 5.0M 0 5.0M 0% /run/lock none tmpfs 489M 144K 489M 1% /run/shm none tmpfs 100M 32K 100M 1% /run/user 192.168.12.5:/nfsfileshare nfs4 50G 858M 50G 2% /autofs/nfsfileshare
Führen Sie zum Testen des Unmountens 5 Minuten lang keine Aktion am gemounteten Dateisystem aus (In meinem Fall 1 Minute, da ich –timeout=60 eingestellt habe ). Die autofs werden das Dateisystem automatisch aushängen, sobald die Inaktivitätszeit verstrichen ist.
Hinweis:Bitte versuchen Sie erst gar nicht, „df“ zu verwenden “, um die gemounteten Dateisysteme als „df ” kann auf die gemounteten Dateisysteme zugreifen, was zu einer Verzögerung beim Unmounten führt.
Debugging und Fehlerbehebung für AutoFS
CentOS 7 / Fedora 27
Hinweis :Stellen Sie sicher, dass Sie LOGGING="debug" haben in „/etc/sysconfig/autofs ”
# cat /var/log/messages Sep 19 13:14:20 client automount[1891]: expire_proc_indirect: expire /autofs/nfsfileshare Sep 19 13:14:20 client automount[1891]: handle_packet: type = 4 Sep 19 13:14:20 client automount[1891]: handle_packet_expire_indirect: token 4, name nfsfileshare Sep 19 13:14:20 client automount[1891]: expiring path /autofs/nfsfileshare Sep 19 13:14:20 client automount[1891]: umount_multi: path /autofs/nfsfileshare incl 1 Sep 19 13:14:20 client automount[1891]: umount_subtree_mounts: unmounting dir = /autofs/nfsfileshare
Wenn Sie die Ausgabe sehen, die in „Grün markiert ist “, autofs hat die NFS-Freigabe nach dem Timeout ausgehängt.
Ubuntu 16.04 / 14.04 / Debian
$ sudo service autofs stop $ sudo automount -f -v
Versuchen Sie, auf die Freigabe in einem anderen Terminal zuzugreifen, und gehen Sie die Ausgabe des obigen Befehls auf dem ersten Terminal durch.
Starting automounter version 5.0.7, master map /etc/auto.master using kernel protocol version 5.02 lookup(dir): dir map /etc/auto.master.d missing or not readable lookup(file): failed to read included master map dir:/etc/auto.master.d lookup(file): failed to read included master map auto.master mounted indirect on /autofs with timeout 60, freq 15 seconds attempting to mount entry /autofs/nfsfileshare mounted /autofs/nfsfileshare 1 remaining in /autofs 1 remaining in /autofs 1 remaining in /autofs 1 remaining in /autofs expiring path /autofs/nfsfileshare expired /autofs/nfsfileshare
Wenn Sie die Ausgabe sehen, die in „Grün markiert ist “, autofs hat das Dateisystem automatisch auf Ihrem Zugriff gemountet und nach dem Timeout wieder ausgehängt.
Das ist alles. Sie haben erfolgreich NFS-Einhängepunkte über autofs gemountet.