8.4. autofs
Un inconvénient lié à l'utilisation de
/etc/fstab
fait que peu importe la fréquence à laquelle un utilisateur accède au système de fichiers NFS monté, le système doit dédier des ressources afin de garder le système de fichiers en place. Il ne s'agit pas d'un problème avec un ou deux montages, mais lorsque le système maintient les montages de nombreux systèmes à la fois, les performances générales du système peuvent être affectées. Une alternative à /etc/fstab
consiste à utiliser l'utilitaire basé noyau automount
. Automounter consiste en deux composants :
- Un module de noyau qui implémente un système de fichiers, et
- un démon de l'espace utilisateur qui effectue toutes les autres fonctions.
L'utilitaire
automount
peut monter et démonter des systèmes de fichiers NFS automatiquement (montage à la demande), et permet donc d'économiser des ressources système. Il peut être utilisé pour monter d'autres systèmes de fichiers, y compris AFS, SMBFS, CIFS, et des systèmes de fichiers locaux.
Important
Le paquet nfs-utils fait désormais partie des groupes « NFS file server » et « Network File System Client ». Ainsi, il n'est plus installé par défaut avec le groupe de base. Assurez-vous que nfs-utils soit installé sur le système avant de tenter un montage automatique sur un partage NFS.
autofs fait également partie du groupe « Network File System Client ».
autofs
utilise /etc/auto.master
(mappage principal) comme fichier de configuration principal. Ceci peut être changé afin d'utiliser une autre source réseau et un autre nom pris en charge en utilisant la configuration autofs
(dans /etc/sysconfig/autofs
) en conjonction avec le mécanisme NSS (« Name Service Switch »). Une instance du démon autofs
version 4 était exécutée pour chaque point de montage configuré dans le mappage principal, lui permettant d'être exécutée manuellement à partir de la ligne de commande pour tout point de montage donné. Ceci n'est pas possible avec autofs
version 5, car un seul démon est utilisé pour gérer tous les points de montage configurés dans le mappage principal. Ceci est effectué conformément aux conditions préalables des autres automounters (monteurs automatiques) standards du secteur. Les points de montage, noms d'hôte, répertoires exportés, et les options peuvent tous être spécifiés dans un ensemble de fichiers (ou autres sources réseau prises en charge) plutôt que de devoir les configurer manuellement pour chaque hôte.
8.4.1. Améliorations de autofs Version 5 par rapport à la Version 4
autofs
version 5 offre les améliorations suivantes par rapport à la version 4 :
- Prise en charge du mappage direct
- Les mappages directs dans
autofs
offrent un mécanisme pour monter les systèmes de fichiers automatiquement sur des points arbitraires dans la hiérarchie du système de fichiers. Un mappage direct est indiqué par un point de montage/-
dans le mappage principal. Les entrées dans un mappage direct contiennent un nom de chemin absolu comme clé (au lieu des noms de chemin relatifs utilisés pour les mappages indirects). - Prise en charge des montages et démontages « lazy »
- Les entrées de mappage à multiples montages décrivent une hiérarchie de points de montage sous une clé unique. Un bon exemple de ceci est le mappage
-hosts
, couramment utilisé pour effectuer le montage automatique de tous les exports à partir d'un hôte sous/net/host
en tant qu'entrée de mappage à multiples montages. Lors de l'utilisation du mappage-hosts
, la commandels
de/net/host
montera les montages de déclencheurs autofs de chaque export de l'hôte. Ceux-ci seront ensuite montés et expireront au fur et à mesure que l'on y accédera. Ceci peut grandement réduire le nombre de montages actifs nécessaires lors de l'accession à un serveur avec un grand nombre d'exports. - Prise en charge LDAP améliorée
- Le fichier de configuration
autofs
(/etc/sysconfig/autofs
) offre un mécanisme pour spécifier le schémaautofs
implémenté par un site, éliminant ainsi le besoin de déterminer ceci intuitivement dans l'application. En outre, les liaisons authentifiées sur le serveur LDAP sont désormais prises en charge, en utilisant la plupart des mécanismes pris en charge par les implémentations de serveurs LDAP courantes. Un nouveau fichier de configuration a été ajouté pour cette prise en charge :/etc/autofs_ldap_auth.conf
. La configuration par défaut explique bien les choses et utilise un format XML. - Utilisation correcte de la configuration « Name Service Switch » (
nsswitch
). - Le fichier de configuration du « Name Service Switch » existe pour fournir un moyen de déterminer d'où proviennent des données de configuration spécifiques. Le but de cette configuration est d'offrir aux administrateurs la flexibilité d'utiliser la base de données d'arrière-plan de leur choix, tout en conservant une interface logiciel uniforme pour accéder aux données. Malgré le fait qu'automounter version 4 gère de mieux en mieux la configuration NSS, celui-ci ne la gère pas totalement. En revanche, Autofs version 5 offre une implémentation totale.Veuillez consulter
man nsswitch.conf
pour obtenir des informations supplémentaires sur la syntaxe prise en charge de ce fichier. Toutes les bases de données NSS ne sont pas des sources de mappage valides et l'analyseur rejettera celles qui ne sont pas valides. Les sources valides incluent les fichiers,yp
,nis
,nisplus
,ldap
, ethesiod
. - Entrées multiples de mappage principal par point de montage autofs
- Une chose fréquemment utilisée mais qui n'a pas encore été mentionnée est la gestion de multiples entrées de mappage principal pour le point de montage direct
/-
. Les clés de mappage de chaque entrée sont fusionnées et se comportent comme une seule carte.Exemple 8.2. Entrées multiples de mappage principal par point de montage autofs
Ci-dessous figure un exemple des mappages de test connectathon pour les montages directs :/- /tmp/auto_dcthon /- /tmp/auto_test3_direct /- /tmp/auto_test4_direct
8.4.2. Configuration autofs
/etc/auto.master
est le fichier de configuration principal pour automounter, également appelé mappage principal, ce qui peut être modifié comme décrit dans la Section 8.4.1, « Améliorations de autofs Version 5 par rapport à la Version 4 ». Le mappage principal répertorie les points de montage du système contrôlé par autofs
, ainsi que leurs fichiers de configuration ou sources réseau correspondants, également appelés cartes automount. Le format du mappage principal est comme suit :
mount-point map-name options
Les variables utilisées dans ce format sont les suivantes :
- mount-point
- Point de montage
autofs
, par exemple/home
. - map-name
- Nom d'une source de mappage qui contient une liste de points de montage, et l'emplacement du système de fichiers à partir duquel ces points de montage doivent être montés. La syntaxe d'une entrée de mappage est décrite ci-dessous.
- options
- Si fournies, celles-ci seront applicables à toutes les entrées du mappage donné, à condition qu'elles ne possèdent pas elles-même d'options spécifiées. Ce comportement est différent de celui d'
autofs
version 4, où les options étaient cumulatives. Cela a été modifié afin d'implémenter une compatibilité d'environnements mélangés.
Exemple 8.3. Fichier /etc/auto.master
Ci-dessous figure l'exemple d'une ligne du fichier
/etc/auto.master
(affiché en saisissant cat /etc/auto.master
) :
/home /etc/auto.misc
Le format général des mappages est similaire à celui du mappage principal, cependant, les « options » apparaissent entre le point de montage et l'emplacement au lieu de se situer à la fin de l'entrée, comme c'est le cas dans le mappage principal :
mount-point [options] emplacement
Les variables utilisées dans ce format sont les suivantes :
- mount-point
- Référence au point de montage
autofs
. Il peut s'agir d'un nom de répertoire unique pour un montage indirect ou du chemin complet du point de montage pour les montages directs. Chaque clé d'entrée de mappage direct et indirect (mount-point
above) peut être suivie d'une liste de répertoires décalés (les noms de sous-répertoires commencent tous par le caractère « / ») séparés par des virgules, en faisant ainsi une entrée à montages multiples. - options
- Lorsqu'elles sont fournies, celles-ci servent d'options de montage pour les entrées de mappage ne spécifiant pas leurs propres options.
- emplacement
- Ceci fait référence à un emplacement de système de fichiers, tel qu'un chemin de système de fichiers local (précédé par le caractère d'échappement du format de mappage Sun « : » pour les noms de mappage commençant par une barre oblique « / »), un système de fichiers NFS, ou tout autre emplacement de système de fichiers valide.
Ci-dessous figure un exemple du contenu d'un fichier de mappage (par exemple,
/etc/auto.misc
) :
payroll -fstype=nfs personnel:/dev/hda3 sales -fstype=ext3 :/dev/hda4
La première colonne dans un fichier de mappage indique le point de montage
autofs
(sales
et payroll
provenant du serveur nommé personnel
). La seconde colonne indique les options du montage autofs
tandis que la troisième colonne indique la source du montage. Selon la configuration ci-dessus, les points de montage autofs seront nommés /home/payroll
et /home/sales
. L'option -fstype=
est souvent omise et n'est généralement pas utile au bon fonctionnement de ce fichier.
Automounter créera les répertoires s'ils n'existent pas. S'ils existaient avant le démarrage d'Automounter, alors Automounter ne les supprimera pas lors de sa fermeture. Vous pouvez démarrer ou redémarrer le démon Automount en exécutant l'une des deux commandes suivantes :
service autofs start
(si le démon automount est à l'arrêt)service autofs restart
Lors de l'utilisation de la configuration ci-dessus, si un processus requiert l'accès à un répertoire
autofs
non monté, tel que /home/payroll/2006/July.sxc
, le démon automount monte automatiquement le répertoire. Si un délai d'expiration a été spécifié et qu'aucun accès au répertoire n'est effectué pendant cette période, alors le répertoire sera automatiquement démonté.
Vous pouvez afficher le statut du démon automount en exécutant la commande suivante :
# service autofs status
8.4.3. Remplacer ou augmenter les fichiers de configuration du site
Il peut être utile de remplacer les valeurs de site par défaut par un point de montage spécifique sur un système client. Par exemple, veuillez envisager les conditions suivantes :
- Les mappages Automounter sont stockés dans le système d'informations réseau (ou NIS) et le fichier
/etc/nsswitch.conf
contient la directive suivante :automount: files nis
- Ci-dessous figure le contenu du fichier
auto.master
:+auto.master
- Ci-dessous figure le contenu du fichier de mappage
auto.master
du NIS :/home auto.home
- Ci-dessous figure le contenu du mappage
auto.home
du NIS :beth fileserver.example.com:/export/home/beth joe fileserver.example.com:/export/home/joe * fileserver.example.com:/export/home/&
- Le fichier de mappage
/etc/auto.home
n'existe pas.
Dans ces conditions, supposons que le système client doive remplacer le mappage NIS
auto.home
et monter les répertoires d'accueil du montage à partir d'un serveur différent. Dans ce cas, le client devra utiliser le mappage /etc/auto.master
suivant :
/home /etc/auto.home +auto.master
Le mappage
/etc/auto.home
contient l'entrée :
* labserver.example.com:/export/home/&
Comme automounter ne traite que la première occurrence d'un point de montage,
/home
contiendra le contenu de /etc/auto.home
au lieu de celui du mappage NIS auto.home
.
Alternativement, pour augmenter le mappage global
auto.home
du site avec quelques entrées uniquement, veuillez créer un mappage du fichier /etc/auto.home
et y inclure les nouvelles entrées. À la fin, veuillez inclure le mappage NIS auto.home
. Ainsi, le mappage du fichier /etc/auto.home
sera similaire à :
mydir someserver:/export/mydir +auto.home
Avec le mappage NIS
auto.home
répertorié ci-dessus, ls /home
retournera :
beth joe mydir
Ce dernier exemple fonctionne comme prévu car
autofs
n'inclut pas le contenu d'un mappage de fichier du même nom que celui qu'il lit. Ainsi, autofs
se déplace vers la prochaine source de mappage de la configuration nsswitch
.
8.4.4. Utiliser LDAP pour stocker des mappages Automounter
Les bibliothèques de clients LDAP doivent être installées sur tous les systèmes configurés pour récupérer les mappages automounter de LDAP. Sur Red Hat Enterprise Linux, le paquet
openldap
devrait être installé automatiquement en tant que dépendance d'automounter
. Pour configurer l'accès LDAP, veuillez modifier /etc/openldap/ldap.conf
. Assurez-vous que les valeurs BASE, URI, et schémas soient définies correctement pour votre site.
Le schéma le plus récemment établi pour stocker des mappages Automount dans LDAP est décrit par
rfc2307bis
. Pour utiliser ce schéma, il est nécessaire de le définir dans la configuration autofs
(/etc/sysconfig/autofs
) en supprimant les caractères de commentaires de la définition du schéma. Par exemple :
Exemple 8.4. Paramétrer la configuration autofs
DEFAULT_MAP_OBJECT_CLASS="automountMap" DEFAULT_ENTRY_OBJECT_CLASS="automount" DEFAULT_MAP_ATTRIBUTE="automountMapName" DEFAULT_ENTRY_ATTRIBUTE="automountKey" DEFAULT_VALUE_ATTRIBUTE="automountInformation"
Assurez-vous qu'il s'agisse bien des seules entrées du schéma qui ne soient pas des commentaires dans la configuration.
automountKey
remplace l'attribut cn
dans le schéma rfc2307bis
. Un LDIF
d'un exemple de configuration est décrit ci-dessous :
Exemple 8.5. Configuration LDF
# extended LDIF # # LDAPv3 # base <> with scope subtree # filter: (&(objectclass=automountMap)(automountMapName=auto.master)) # requesting: ALL # # auto.master, example.com dn: automountMapName=auto.master,dc=example,dc=com objectClass: top objectClass: automountMap automountMapName: auto.master # extended LDIF # # LDAPv3 # base <automountMapName=auto.master,dc=example,dc=com> with scope subtree # filter: (objectclass=automount) # requesting: ALL # # /home, auto.master, example.com dn: automountMapName=auto.master,dc=example,dc=com objectClass: automount cn: /home automountKey: /home automountInformation: auto.home # extended LDIF # # LDAPv3 # base <> with scope subtree # filter: (&(objectclass=automountMap)(automountMapName=auto.home)) # requesting: ALL # # auto.home, example.com dn: automountMapName=auto.home,dc=example,dc=com objectClass: automountMap automountMapName: auto.home # extended LDIF # # LDAPv3 # base <automountMapName=auto.home,dc=example,dc=com> with scope subtree # filter: (objectclass=automount) # requesting: ALL # # foo, auto.home, example.com dn: automountKey=foo,automountMapName=auto.home,dc=example,dc=com objectClass: automount automountKey: foo automountInformation: filer.example.com:/export/foo # /, auto.home, example.com dn: automountKey=/,automountMapName=auto.home,dc=example,dc=com objectClass: automount automountKey: / automountInformation: filer.example.com:/export/&