GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So konfigurieren Sie den autofs-Daemon unter CentOS 7/Rhel 7

Ziel

Erfahren Sie, wie Sie den autofs-Daemon nutzen können, um Geräte und Remote-Freigaben automatisch bereitzustellen.

Anforderungen

  • Root-Rechte zum Installieren des Autofs-Pakets und Bearbeiten von Konfigurationsdateien

Schwierigkeit

EINFACH

Einführung

Manuelles Mounten und Unmounten von Geräten wie externen USB-Laufwerken oder Remote-NFS oder Samba Freigaben können bei der Verwaltung einer Maschine mühsame Aufgaben sein. Die autofs Daemon kann uns dabei helfen, ein Dateisystem bei Bedarf automatisch zu mounten und nach einer bestimmten Zeit wieder auszuhängen. In diesem Tutorial sehen wir das Grundkonzept des Automounters und wie man ihn konfiguriert.

Autofs-Installation

Als erstes müssen Sie die autofs installieren Paket. Es ist in den offiziellen CentOS7- und Rhel7-Repositories verfügbar, daher müssen wir nur den yum verwenden Paketmanager, um es zu erhalten:

$ sudo yum install autofs

Der nächste Schritt besteht darin, autofs zu starten Daemon und aktivieren Sie ihn beim Booten:

$ sudo systemctl enable --now autofs

Die autofs-Daemon-Konfiguration

Der autofs-Daemon wird konfiguriert, indem einige Dateien manipuliert werden, jede mit ihrem eigenen spezifischen Zweck. Was wir im Grunde tun müssen, ist, dem Daemon einige Anweisungen zu geben, damit er weiß, wie er Einhängepunkte und Geräte verwalten soll (das nennen wir eine map ) und optional eine Reihe von Optionen, die verwendet werden können, um sein Verhalten zu ändern. Sehen wir uns an, was diese Konfigurationsdateien sind und welche Rolle sie spielen.

Die Datei /etc/sysconfig/autofs

Die /etc/sysconfig/autofs Datei ist die Hauptkonfigurationsdatei für autofs Daemon und enthält seine globalen Einstellungen. Dies ist der Dateiinhalt in einer Standardinstallation von CentOS 7.5:

#
# Init syatem options
#
# If the kernel supports using the autofs miscellanous device
# and you wish to use it you must set this configuration option
# to "yes" otherwise it will not be used.
#
USE_MISC_DEVICE="yes"
#
# Use OPTIONS to add automount(8) command line options that
# will be used when the daemon is started.
#
#OPTIONS=""
#

Wir können das Verhalten des Daemons ändern, indem wir den Kommentar in Zeile 13 entfernen und Befehlszeilenargumente in Form einer Zeichenfolge als Wert von OPTIONS übergeben Variable.

Machen wir ein Beispiel:Angenommen, wir möchten das Standardzeitintervall ändern, nach dem der Daemon ein Dateisystem automatisch aushängen soll:Der Standardwert ist 300 Sekunden oder 5 Minuten. Durch Lesen des autofs-Handbuchs (automount(8) ), können wir sehen, dass wir zum Ändern dieses Parameters --timeout verwenden sollten Option, die als Parameter das in Sekunden ausgedrückte Zeitintervall akzeptiert :

 -t , --timeout 
        Set the global minimum timeout, in  seconds,  until  directories
        are unmounted. The default is 10 minutes. Setting the timeout to
        zero disables umounts completely.  The internal program  default
        is 10 minutes, but the default installed configuration overrides
        this and sets the timeout to 5 minutes  to  be  consistent  with
        earlier autofs releases.

Angenommen, wir möchten das standardmäßige Unmount-Timeout auf 10 Minuten ändern, so sollten wir /etc/sysconfig/autofs ändern Datei:

OPTIONS="--timeout=600"

Nach dem Speichern der Änderungen sollten wir den Daemon neu starten, damit die neue Konfiguration wirksam wird. Wir können sehen, wie die neue Timeout-Option übernommen wurde, indem wir den Daemon-Status mit systemctl überprüfen :

$ systemctl status autofs
autofs.service - Automounts filesystems on demand
   [...]
   CGroup: /system.slice/autofs.service
           └─6452 /usr/sbin/automount --timeout=600 --foreground --dont-check-daemon
   [...]

Die Datei /etc/auto.master

Der auto.master Datei ist sehr wichtig, da sie den Automounter master map enthält . Jede Map ordnet einen Einhängepunkt einer Konfigurationsdatei zu, in der die zu mountenden Dateisysteme beschrieben werden, beschreibt also im Grunde eine andere Map. Eine Karte wird mit der folgenden Syntax erstellt:

<mountpoint> <configuration file> <options>

Die Konfiguration teilt dem Daemon mit, dass der angegebene mountpoint wird von Karten verwaltet, die in der angegebenen Konfigurationsdatei festgelegt sind , wobei die bereitgestellten Optionen angewendet werden, die die globalen überschreiben können (dies kann beispielsweise nützlich sein, um ein bestimmtes Unmount-Timeout für jeden Einhängepunkt bereitzustellen). Sehen wir uns ein konkretes Beispiel an:Wenn wir uns Zeile 7 der Datei ansehen, können wir die folgende Karte sehen:

/misc   /etc/auto.misc

Diese Konfiguration gibt an, dass die Datei /misc mountpoint interessiert sich für Mappings, die in /etc/auto.misc beschrieben sind Datei. Lassen Sie uns sehen, wie diese Karten konfiguriert sind, indem Sie einen Blick darauf werfen.

Die Datei /etc/auto.misc

Wie wir in /etc/auto.master gesehen haben Datei, die /misc Einhängepunkt ist mit /etc/auto.misc verknüpft Konfigurationsdatei. Jetzt werden wir es untersuchen, um zu verstehen, wie eine Karte für ein Gerät definiert ist. Dies ist der Standardinhalt der Datei:

#
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd		-fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

[...]

Die für die Konfiguration verwendete Syntax lautet wie folgt:

<key> <mount options> <filesystem>

Das erste, was wir angeben müssen, ist der key . Der Wert dieses Parameters wird im Fall von indirect maps verwendet (wir werden gleich verschiedene Arten von Maps behandeln) als Name des Unterverzeichnisses, das erstellt wird, wenn es nicht existiert, unter dem Hauptmountpunkt, der in diesem Fall /misc ist . Die Datei /dev/cdrom Gerät, wird daher automatisch auf /misc/cd gemountet Verzeichnis.

Das zweite bereitzustellende Element ist die Liste der Mount-Optionen, die angewendet werden sollten:in diesem Beispiel der -fstype Option wurde verwendet, um den Dateisystemtyp zusammen mit dem ro anzugeben , nosuid und nodev .

Schließlich müssen wir den Speicherort des Dateisystems angeben. Da es sich in diesem Fall um einen lokalen Pfad handelt, muss ihm ein : vorangestellt werden (Doppelpunkt) Zeichen.

Im Fall eines entfernten NFS share, wir müssten 192.168.1.39:/srv/nfs_share schreiben stattdessen, wobei 192.168.1.39 die Adresse des entfernten Rechners ist (der Hostname kann auch verwendet werden) und /srv/nfs_share ist der Pfad des freigegebenen Verzeichnisses darauf.

Wenn wir uns auf eine Samba-Freigabe beziehen, hätten wir stattdessen -fstype=cifs angeben sollen Optional können Sie die IP-Adresse des Remote-Computers und den Pfad des freigegebenen Verzeichnisses im folgenden Format angeben:

://192.168.1.39/srv/samba_share

Indirekte, direkte und hosts-Maps

Wir haben eine indirekte Karte erwähnt Sehen wir uns jetzt die verschiedenen Arten von Karten im Detail an. Es gibt drei Arten von Maps, die wir verwenden können:direct , indirekt und hostet Karten:ein Beispiel für indirekte Karte haben wir gerade in der Datei /etc/auto.master für /misc gesehen Einhängepunkt.

Eine Map heißt indirekt, weil der key Parameter, der in der Konfigurationsdatei angegeben ist (/etc/auto.misc in diesem Fall) mit dem Einhängepunkt verknüpft (/etc/misc ), wird als Name des Verzeichnisses relativ zu dem Einhängepunkt verwendet, an dem das Dateisystem (:/dev/cdrom in unserem Beispiel) wird gemountet.

Eine direkte Karte , wird in der Datei auto.master immer mit folgender Syntax angegeben:

/- /etc/auto.misc

Wenn /- wird als Einhängepunkt in einer Karte verwendet, das heißt, wir verwenden eine direkte Karte. In diesem Fall der key Element der Syntax, die in der dem Einhängepunkt zugeordneten Konfigurationsdatei verwendet wird, muss ein absoluter Pfad sein. Daher müssten wir im obigen Beispiel schreiben:

/cd -fstype=iso9660,ro,nosuid,nodev	:/dev/cdrom

Endlich können wir eine host map finden Beispiel in der Datei /etc/auto.master, Zeile 13:

/net	-hosts

Eine solche Karte ist standardmäßig definiert; wie funktioniert es? Wenn eine Hosts-Zuordnung angegeben wird, erstellt der Automounter ein Unterverzeichnis unter dem angegebenen Einhängepunkt (/net in diesem Fall) für jeden Computer, der in /etc/hosts aufgeführt ist die ein NFS exportiert Teilen. Dies ist dank /etc/auto.net möglich Skript, das wir nun untersuchen werden. Jedes der freigegebenen Verzeichnisse wird standardmäßig mit der nosuid gemountet und nodev Optionen.

Die Skripte /etc/auto.net und /etc/auto.smb

Es gibt zwei sehr nützliche Skripte, die in den autofs enthalten sind Installation:/etc/auto.net und /etc/auto.smb . Diese Skripte sind im Wesentlichen Wrapper um den showmount und smbclient Programme, die verwendet werden, um verfügbare NFS- und Samba-Freigaben zu entdecken. Sie erzeugen Ergebnisse in einem Format, das vom Automounter verwendet werden kann.

Die /etc/auto.net Skript kann verwendet werden, um sich einen Überblick zu verschaffen und NFS-Freigaben auszulesen. Wir können das Skript aufrufen, indem wir den Hostnamen oder die IP-Adresse des zu durchsuchenden Servers als Argument angeben:

$ sudo /etc/auto.net 192.168.1.39

Stellen Sie sich nun vor, dass eine Freigabe gefunden wird. Der Befehl gibt eine Ausgabe ähnlich der folgenden zurück:

/shared 192.168.1.39:/shared

Dies würde bedeuten, dass auf der Maschine mit der IP 192.168.1.39 der /shared Verzeichnis wird über NFS freigegeben. Basierend auf hosts map wir in der Datei /etc/auto.master gefunden haben, können wir auf die Freigabe unter /net/192.168.1.39/shared zugreifen . Dies liegt daran, wie wir bereits gesagt haben, dass bei Verwendung einer Hosts-Map für jede Maschine in der /etc/hosts-Datei, die eine NFS-Freigabe exportiert, ein Unterverzeichnis unter /net erstellt wird.

Die /etc/auto.smb funktioniert in ähnlicher Weise. Wenn wir möchten, dass die Samba-Freigaben in unserem Netzwerk automatisch vom Automounter gemountet werden, genau wie es bei NFS-Freigaben der Fall ist, müssen wir als erstes diese Map in /etc/auto.master Datei:

/cifs /etc/auto.smb

Nachdem die Karte hinzugefügt wurde, sollten wir den Daemon neu starten:

sudo systemctl restart autofs

An dieser Stelle danke an die /etc/auto.smb script wird für jede Maschine, die eine oder mehrere smb-Freigaben in unserem Netzwerk exportiert, ein Verzeichnis unter /cifs erstellt . Stellen Sie sich zum Beispiel vor, dass wir auf einer Maschine mit IP 192.168.122.32 einen /srv/samba haben über Samba freigegebenes Verzeichnis. Wenn wir es überprüfen wollen, können wir /etc/auto.smb ausführen Skript gegen die IP dieser Maschine. Hier ist die Ausgabe:

$ /etc/auto.smb 192.168.122.32
-fstype=cifs,guest \
	 "/sambadir" "://192.168.122.32/sambadir"

Wie bereits erwähnt, ist das Skript ein Wrapper um smbclient , und erzeugt eine Ausgabe, die vom Automounter verwendet werden kann. Das freigegebene Verzeichnis ist in unserem lokalen Dateisystem innerhalb des automatisch erstellten /cifs/192.168.122.32/ verfügbar Verzeichnis:

$ ls /cifs/192.168.122.32
sambadir

Faules Mounten und Unmounten

Um die Anzahl der erstellten Einhängepunkte zu optimieren, verwendet der Automounter eine Technik, die als Lazy Mounting bezeichnet wird . Anstatt ein Gerät zu mounten, sobald es verfügbar oder entdeckt ist, wartet es, bis ein Benutzer versucht, auf das Dateisystem zuzugreifen:Erst dann wird die Mount-Operation durchgeführt. Das Gleiche gilt für den Unmount-Prozess:Ein Gerät wird nach einem festgelegten Timeout automatisch unmountet.


Cent OS
  1. So aktualisieren Sie CentOS 7.0/7.1/7.2/7.3/7.4/7.5/7.6 auf CentOS 7.7

  2. So installieren und konfigurieren Sie HAProxy unter CentOS/RHEL 7/6

  3. CentOS / RHEL 7 :So konfigurieren Sie den Nur-Cache-Nameserver

  4. CentOS / RHEL 6,7 :Wie man Hugepages konfiguriert

  5. So konfigurieren Sie die Firewalld-Protokollierung in CentOS/RHEL 8

So konfigurieren Sie eine statische IP-Adresse in CentOS 7 / RHEL 7

So konfigurieren Sie eine statische IP-Adresse in CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Ansible unter CentOS 8 / RHEL 8

So konfigurieren Sie eine statische Netzwerk-IP-Adresse unter RHEL/CentOS 8/7

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8

So konfigurieren Sie VNC Server unter CentOS/RHEL 6