GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer le démon autofs sur CentOS 7/Rhel 7

Objectif

Découvrez comment tirer parti du démon autofs pour monter automatiquement des appareils et des partages distants.

Exigences

  • Privilèges root pour installer le package autofs et modifier les fichiers de configuration

Difficulté

FACILE

Présentation

Monter et démonter manuellement des périphériques tels que des lecteurs USB externes ou un NFS distant ou Samba Les partages peuvent être des tâches fastidieuses à effectuer lors de l'administration d'une machine. Les autofs démon peut nous aider à monter automatiquement un système de fichiers en cas de besoin et à le démonter après une période de temps spécifiée. Dans ce didacticiel, nous verrons le concept de base lié à l'automonteur et comment le configurer.

Installation automatique

La première chose à faire, c'est d'installer le autofs emballer. Il est disponible dans les dépôts officiels CentOS7 et Rhel7, il suffit donc d'utiliser le yum gestionnaire de paquets pour l'obtenir :

$ sudo yum install autofs

L'étape suivante consiste à démarrer le autofs démon et activez-le au démarrage :

$ sudo systemctl enable --now autofs

La configuration du démon autofs

Le démon autofs est configuré en manipulant certains fichiers, chacun ayant son propre objectif spécifique. Ce que nous devons essentiellement faire est de fournir quelques instructions au démon, pour lui faire savoir comment il doit gérer les points de montage et les périphériques (c'est ce que nous appelons une map ), et éventuellement un ensemble d'options qui peuvent être utilisées pour modifier son comportement. Voyons quels sont ces fichiers de configuration et quel est leur rôle.

Le fichier /etc/sysconfig/autofs

Le /etc/sysconfig/autofs file est le fichier de configuration principal pour autofs démon et contient ses paramètres globaux. Voici le contenu du fichier dans une installation par défaut de 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=""
#

Nous pouvons modifier le comportement du démon en supprimant le commentaire à la ligne 13 et en passant des arguments de ligne de commande sous la forme d'une chaîne, comme valeur de OPTIONS variables.

Prenons un exemple :disons que nous voulons changer l'intervalle de temps par défaut après lequel le démon doit automatiquement démonter un système de fichiers :la valeur par défaut est 300 secondes ou 5 minutes. En lisant le manuel autofs (automount(8) ), nous pouvons voir que pour changer ce paramètre, nous devons utiliser le --timeout option, qui prend en paramètre, l'intervalle de temps exprimé en seconds :

 -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.

Disons par exemple que nous voulons changer le délai de démontage par défaut à 10 minutes, c'est ainsi que nous devrions changer le /etc/sysconfig/autofs fichier :

OPTIONS="--timeout=600"

Après avoir enregistré les modifications, nous devons redémarrer le démon pour que la nouvelle configuration prenne effet. Nous pouvons voir comment la nouvelle option de délai d'attente a été adoptée en vérifiant l'état du démon avec systemctl :

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

Le fichier /etc/auto.master

Le auto.master est très important, car il contient l'automounter master map . Chaque mappe associe un point de montage à un fichier de configuration où les systèmes de fichiers à monter sont décrits, donc décrit en gros une autre mappe. Une carte est créée en utilisant la syntaxe suivante :

<mountpoint> <configuration file> <options>

La configuration indique au démon que le mountpoint donné est géré par des cartes définies dans le configuration file donné , en appliquant les options fournies, qui peuvent remplacer les options globales (cela peut être utile, par exemple, pour fournir un délai de démontage spécifique pour chaque point de montage). Voyons un exemple concret :si nous jetons un œil à la ligne 7 du fichier, nous pouvons voir la carte suivante :

/misc   /etc/auto.misc

Cette configuration spécifie que le /misc mountpoint est intéressé par les mappages décrits dans le /etc/auto.misc dossier. Voyons comment ces cartes sont configurées en y jetant un coup d'œil.

Le fichier /etc/auto.misc

Comme nous l'avons vu dans le /etc/auto.master fichier, le /misc le point de montage est associé au /etc/auto.misc fichier de configuration. Nous allons maintenant l'examiner, afin de comprendre comment est définie une carte pour un appareil. Voici le contenu par défaut du fichier :

#
# 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

[...]

La syntaxe utilisée pour la configuration est la suivante :

<key> <mount options> <filesystem>

La première chose que nous devons spécifier est la key . La valeur de ce paramètre, sera utilisée, dans le cas de indirect maps (nous verrons différents types de cartes dans une minute) comme le nom du sous-répertoire qui sera créé s'il n'existe pas, sous le point de montage principal, qui dans ce cas est /misc . Le /dev/cdrom périphérique, sera donc automatiquement monté sur le /misc/cd répertoire.

Le second élément à fournir est la liste des options de montage à appliquer :dans cet exemple le -fstype l'option a été utilisée pour spécifier le type de système de fichiers, avec le ro , nosuid et nodev .

Enfin, nous devons spécifier l'emplacement du système de fichiers. Dans ce cas, comme il s'agit d'un chemin local, il doit être préfixé par un : (deux-points).

Dans le cas d'un NFS distant share, on aurait écrit 192.168.1.39:/srv/nfs_share à la place, où 192.168.1.39 est l'adresse de la machine distante (le nom d'hôte peut également être utilisé), et /srv/nfs_share est le chemin du répertoire partagé dessus.

En faisant référence à un partage Samba, nous aurions dû fournir à la place -fstype=cifs en option, en précisant l'ip de la machine distante et le chemin du répertoire partagé au format suivant :

://192.168.1.39/srv/samba_share

Cartes indirectes, directes et hôtes

Nous avons mentionné une indirect map Avant, voyons maintenant en détail, les différents types de cartes. Il existe trois types de carte que nous pouvons utiliser :direct , indirect et cartes d'hôtes :un exemple de indirect map est ce que nous venons de voir dans le fichier /etc/auto.master, pour le /misc point de montage.

Une carte est dite indirecte, car la key paramètre spécifié dans le fichier de configuration (/etc/auto.misc dans ce cas) associé au point de montage (/etc/misc ), sera utilisé comme nom du répertoire relatif à ce point de montage où se trouve le système de fichiers (:/dev/cdrom dans notre exemple) sera monté.

Une direct map , est toujours spécifié avec la syntaxe suivante dans le fichier auto.master :

/- /etc/auto.misc

Quand /- est utilisé comme point de montage dans une carte, cela signifie que nous utilisons une carte directe. Dans ce cas, la key élément de la syntaxe utilisé dans le fichier de configuration associé au point de montage, doit être un chemin absolu. Ainsi, dans l'exemple ci-dessus, nous aurions écrit :

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

Enfin, nous pouvons trouver une host map exemple dans le fichier /etc/auto.master, à la ligne 13 :

/net	-hosts

Une telle carte est définie par défaut; Comment ça marche? Lorsqu'un mappage d'hôtes est spécifié, l'automonteur crée un sous-répertoire sous le point de montage spécifié (/net dans ce cas) pour chaque machine listée dans le /etc/hosts qui exporte un NFS partager. C'est possible grâce au /etc/auto.net script, que nous allons maintenant examiner. Chacun des répertoires partagés sera monté par défaut avec le nosuid et nodev options.

Les scripts /etc/auto.net et /etc/auto.smb

Il y a deux scripts très utiles inclus dans le autofs installation :/etc/auto.net et /etc/auto.smb . Ces scripts sont essentiellement des enveloppes autour, respectivement, du showmount et smbclient programmes, utilisés pour découvrir les partages NFS et samba disponibles. Ils produiront des résultats dans un format pouvant être utilisé par l'automonteur.

Le /etc/auto.net Le script peut être utilisé pour avoir une vue d'ensemble et pour lire les partages NFS. Nous pouvons invoquer le script en spécifiant le nom d'hôte ou l'adresse IP du serveur que nous voulons rechercher comme argument :

$ sudo /etc/auto.net 192.168.1.39

Maintenant, imaginez qu'une part est trouvée. La commande renverra une sortie similaire à ceci :

/shared 192.168.1.39:/shared

Cela signifierait que sur la machine avec l'ip 192.168.1.39, le /shared répertoire est partagé via NFS. Basé sur la hosts map nous avons trouvé dans le fichier /etc/auto.master nous pourrons accéder au partage sur /net/192.168.1.39/shared . En effet, comme nous l'avons déjà dit, lors de l'utilisation d'une carte d'hôtes, pour chaque machine du fichier /etc/hosts exportant un partage NFS, un sous-répertoire est créé sous /net.

Le /etc/auto.smb fonctionne de manière similaire. Si nous voulons que les partages Samba de notre réseau soient automatiquement montés par l'automonteur, comme cela se produit pour les partages NFS, la première chose que nous devons faire est d'ajouter cette carte dans le /etc/auto.master fichier :

/cifs /etc/auto.smb

Une fois la carte ajoutée, nous devons redémarrer le démon :

sudo systemctl restart autofs

À ce stade, grâce au /etc/auto.smb script, pour chaque machine exportant un ou plusieurs partages smb dans notre réseau, un répertoire sera créé sous /cifs . Par exemple, imaginons que sur une machine avec l'ip 192.168.122.32 nous ayons un /srv/samba répertoire partagé via samba. Si nous voulons le vérifier, nous pouvons exécuter le /etc/auto.smb script contre l'ip de cette machine. Voici le résultat :

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

Comme dit précédemment, le script est un wrapper autour de smbclient , et produit une sortie qui peut être utilisée par l'automonteur. Le répertoire partagé sera disponible, dans notre système de fichiers local, à l'intérieur du /cifs/192.168.122.32/ créé automatiquement répertoire :

$ ls /cifs/192.168.122.32
sambadir

Montage et démontage paresseux

Pour optimiser le nombre de points de montage créés, l'automounter utilise une technique appelée lazy mounting . Au lieu de monter un périphérique dès qu'il est disponible ou découvert, il attendra qu'un utilisateur essaie d'accéder au système de fichiers :alors seulement l'opération de montage est effectuée. Il en va de même pour le processus de démontage :un appareil est automatiquement démonté après un délai spécifié.


Cent OS
  1. Comment mettre à jour CentOS 7.0/7.1/7.2/7.3/7.4/7.5/7.6 vers CentOS 7.7

  2. Comment installer et configurer HAProxy sur CentOS/RHEL 7/6

  3. CentOS / RHEL 7 :Comment configurer le serveur de noms en cache uniquement

  4. Comment configurer le proxy dans CentOS/RHEL/Fedora

  5. Comment configurer la journalisation du pare-feu dans CentOS/RHEL 8

Comment configurer une adresse IP statique dans CentOS 7 / RHEL 7

Comment configurer une adresse IP statique dans CentOS 8 / RHEL 8

Comment installer et configurer Ansible sur CentOS 8 / RHEL 8

Comment configurer l'adresse IP statique du réseau sur RHEL/CentOS 8/7

Comment installer et configurer GlusterFS sur CentOS 7/CentOS 8

Comment configurer le serveur VNC sur CentOS/RHEL 6