Les notes de Joey : utilisation du monteur automatique

Version française de l'article Joey's Notes: Using the Automounter, paru dans la Gazette Linux numéro 155 d'octobre 2008.

Adaptation française:

Relecture de la version française: Deny

Version : 1.0

Conditions de distribution : cet article est distribué selon les conditions de la licence Open Publication License, version 1.0, du 8 juin 1999. Pour plus d'informations, consultez : http://linuxgazette.net/copying.html.

2008-10-28

Historique des versions
Version 1.02008-10-28CT
Première traduction française.
2008-10-01JP
Version originale de l'article.

Table des matières

/etc/sysconfig/autofs
/etc/auto.master
/etc/auto.files
etc/auto.misc
/etc/auto.net
/etc/auto.smb
Ressources

Dans un environnement réseau Windows©, vous pouvez aller sur n'importe quelle machine, vous connecter au système et avoir accès à vos répertoires et fichiers personnels situés sur le serveur. Cela semble être une commodité jusqu'à ce que vous réalisiez ce qu'il se passe, le serveur et les machines clientes consomment des ressources en gardant constamment tous les partages réseaux montés en dur. La solution Linux pour faire cela est le démon autofs connu sous le nom de monteur automatique.

Par le passé, les réseaux Linux utilisaient plusieurs types de systèmes de fichiers en réseau (NFS, Network File System) de différentes manières : pour la sauvegarde du réseau, pour exporter les répertoires utilisateurs cartographiés dans le service d'informations réseaux (NIS, Network Information Service) et pour exporter d'autres ressources réseaux. Un des problèmes était que lorsque l'on démarrait un système qui utilisait le montage traditionnel basé sur fstab pendant que le serveur NFS était tombé, le processus pouvait durer longtemps  il faudrait pas mal de temps avant qu'il ne démarre car il attendait le serveur tombé. De même, lorsque vous avez deux serveurs, chacun montant l'arborescence des répertoires de l'autre, et que les deux serveurs tombent, les deux peuvent être suspendus car ils attendent que l'autre soit remonté. (c'est ce qu'on appelle la dépendance serveur-serveur). La solution du montage automatique contourne ces problèmes en montant l'arborescence de répertoires d'un autre serveur uniquement lorsqu'un processus essaie d'y accéder. Si un client tente un montage en dur et que le serveur est indisponible, alors le noyau Linux traitera le processus comme s'il voulait accéder à un système de fichiers local indisponible. L'utilisateur ne peut rien faire tant que le serveur n'est pas remonté; le processus est dans un sommeil ininterruptible jusqu'à ce que le serveur soit en ligne. souvent, le processus ne peut jamais être tué, et la commande ps aux révèle un état D.

 

Pour ceux qui ne sont pas habitués à la sortie de la commande ps, l'état D signifie sommeil ininterruptible (couramment des entrées/sorties). Pour plus d'informations, veuillez consulter la section Description des champs dans man ps

 
 --Ben

Le montage automatique est le processus où le montage et le démontage des systèmes de fichiers est effectuée automatiquement par le service autofs. Si le système de fichiers est démonté, et qu'un utilisateur essaie d'y accéder, il sera automatiquement monté ou remonté. Utiliser le monteur automatique économise des ressources en ne montant le répertoire seulement si vous avez besoin d'y entrer, et en le démontant automatiquement lorsque vous n'en avez plus besoin. C'est couramment fait après un temps par défaut (habituellemennt 300 secondes) qui est spécifié dans le fichier /etc/sysconfig/autofs, le fichier de configuration principal de ce service. Les autres fichiers de configuration sont situés dans le répertoire /etc et s'appellent auto.master, auto.misc, auto.net et auto.smb. Les deux derniers sont des scripts executables.

Disons que nous avons des répertoires NFS et que les employés de notre entreprise ne sont habitués à les utiliser qu'à travers l'environnement de bureau Gnome©, ils pourraient utiliser le monteur automatique si vous avez mis en place les fichiers de configuration et les avez copié sur les machines. Ils seraient en mesure de cliquer un peu partout et le système de fichiers distant répondrait correctement aux demandes, de manière transparente. L'utilisation du monteur automatique n'est pas restreint au mode console.

Procedure :

/etc/sysconfig/autofs

Vérifions les fichiers de configuration. Ce guide a été écrit en utilisant RHEL© 5.1, avec d'autres distributions plusieurs aspects peuvent être légèrement différents). Le fichier de configuration principal, /etc/sysconfig/autofs a un délai de montage défini à 300 secondes (soit 5 minutes) d'inactivité, et le mode de parcours par défaut est positionné à no; cela empêche les partages qui ne sont pas directement référencés d'être montés automatiquement. Il y a beaucoup d'autres options configurables pour des installations diverses, et ça peut valoir le coup de passer un peu de temps à parcourir le fichier juste pour prendre connaissance de ce qu'il y a dedans. Vous pouvez notamment regarder avec attention toutes les directives qui sont décommentées.

DEFAULT_TIMEOUT=300
DEFAULT_BROWSE_MODE="no"

/etc/auto.master

Le fichier auto.master contient trois lignes décommentées :

/misc     /etc/auto.misc
/net     -hosts
+auto.master
   

La première ligne indique que les périphériques configurés dans le fichier auto.misc seront montés dans le répertoire /misc; la seconde indique que les exportations depuis des hôtes réseaux seront montés dans le répertoire /net; +auto.master est une référence à une cartographie maitre externe NIS ou NIS+. Les entrées de ce fichier consistent en un point de montage suivi d'un chemin de fichier qui définit les détails et les options du montage. Vous pouvez appeler le fichier que vous voulez, ou quelque soit votre besoin. Les entrées suivantes seraient valides :

/remote     /etc/auto.somewhere_else
/mnt/nas     /etc/auto.nas
/mnt/backup     /etc/auto.backup

Nous créerons alors les fichiers que nous avons référencés dans le fichier auto.master et définirons les détails du montage dans ceux-ci.

Il est également utile de réfléchir au montage des répertoires personnels distants des utilisateurs dans un emplacement non-standard (c'est à dire /rhome/username ou /export/home/username). cela pourrait être considéré comme une violation de la norme de la hiérarchie des systèmes de fichiers (FHS, Filesystem Hierarchy Standard), comme le point de montage est situé à la racine du système de fichiers; d'un autre côté, c'est seulement un répertoire temporaire, créé et détruit par le démon autofs si nécessaire. Les avantages sont évidents : vous pouvez avoir accès aussi bien au contenu de votre répertoire /home/username qu'au contenu de votre répertoire distant, et vous gardez l'utilisation du point de montage /mnt pour les autres périphériques ou partages.

/etc/auto.files

C'est un fichier que vous créez pour vos monteurs automatiques personnalisés. Les fichiers auto.files devraient comporter trois colonnes comme ceci :

clé     options de montage     emplacement ou périphérique

La clé est un sous-répertoire sous le point de montage listé dans le fichier auto.master. Par exemple, si notre fichier auto.master est de cette forme :

/misc     /etc/auto.misc
/net     -hosts
/mnt/remote     /etc/auto.remote
+auto.master

Nous voudrions créer, par exemple, un fichier /etc/auto.remote avec les options que nous désirons :

# clé     options de montage     emplacement ou périphérique
records   -rw,soft,intr          server1.example.com:/srv/nfs/medical/records

Une fois que nous avons redémarré le service autofs, le fait de se positionner dans le répertoire /mnt/remote/records va créer une demande pour monter la ressource exportée server1.example.com:/srv/nfs/medical/records dans /mnt/remote/records. Il est important de noter que si vous utilisez les noms d'hôtes (plutôt que les adresses IP) et que vous n'avez pas de serveurs DNS disponibles, vous aurez besoin d'une entrée dans le fichier /etc/hosts pour faire correspondre le nom d'hôte à l'adresse IP.

L'exemple suivant utilise la substitution de caractères. Le fait de placer un astérisque dans le champ clé et un « et commercial » à la fin du chemin de l'emplacement ou du périphérique va associer la fin du chemin de l'emplacement (structures des répertoires et fichiers) à quelque soit ce qui se trouve à l'emplacement. Dans l'exemple ci-dessous, toute la structure du répertoire distant server1.example.com:/home/username sera recréée lorsque l'utilisateur se connectera. En utilisant cette technique, un utilisateur pourrait se connecter depuis n'importe quelle machine et avoir son répertoires personnel monté correctement.

# clé     options de montage     emplacement ou périphérique
*         -rw,soft,intr          server1.example.com:/home/username/&

etc/auto.misc

Le fichier etc/auto.misc contient plusieurs exemples de configurations pour le montage automatique de divers types de périphériques; pour utiliser l'un d'eux, décommenter simplement la ligne adéquate et ajuster le périphérique approprié en conséquence. Mais comme des machines différentes ont des configurations matérielles différentes, diverses distributions peuvent avoir des installations qui différent c'est pourquoi une petite personnalisation sera probablement nécessaire.

# Il s'agit d'une carte de monteur automatique et elle a le format suivant
# clé [ -options de montage séparées par des virgules ] emplacement
# Les détails peuvent être trouvés dans la page autofs(5) du man

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

# Les entrées suivantes sont des exemples pouvant piquer votre imagination
#linux          -ro,soft,intr           ftp.example.org:/pub/linux
#boot           -fstype=ext2            :/dev/hda1
#floppy         -fstype=auto            :/dev/fd0
#floppy         -fstype=ext2            :/dev/fd0
#e2floppy       -fstype=ext2            :/dev/fd0
#jaz            -fstype=ext2            :/dev/sdc1
#removable      -fstype=ext2            :/dev/hdd

Aujourd'hui la plupart des distributions montent automatiquement les périphériques USB sous le répertoire /media et plusieurs des périphériques listés ci-dessus ne se sont plus beaucoup utilisés, mais ils ont encore une utilité dans ce fichier. On peut les configurer d'une multitude de façons, notamment pour monter automatiquement des partitions qui n'ont pas besoin d'être montées constamment (les périphériques de stockage ne sont qu'un exemple). Une bonne manière de devenir familier de ce fichier est de proposer des scénarios de configuration et les appliquer en pratique. Par exemple, essayez de monter un lecteur flash USB avec le monteur automatique et mettre en place diverses configurations jusqu'à ce qu'elles vous soient familières. Souvenez-vous qu'il faut toujours effectuer une sauvegarde du fichier avant d'effectuer des changements.

Supposons que nous voulons activer le montage automatique du partage NFS d'un serveur distant plutôt que, disons, saisir manuellement la commande mount -t nfs 192.168.0.254:/var/ftp/pub/directory/subdirectory /mnt. Dans ce cas, nous aurions juste besoin du nom d'hôte de la machine avec le système de fichiers exportés (si elle a une entrée dans le DNS) ou l'adresse IP de la machine. La commande showmount -e hostname ou showmount -e adresse_IP peut être utilisée pour découvrir quels répertoires d'une machine sont exportés par NFS. Exemple : showmount -e 192.168.0.254 fera apparaître les répertoires exportés de cette machine.

/etc/auto.net

Le fichier auto.net est un script exécutable qui recherche les partages NFS à monter; le service NFS doit être démarré pour que le script auto.net soit en mesure de connecter les partages distants. Pour invoquer cette capacité, vous devez vous assurer que les services autofs et NFS sont démarrés :

[root@station17 ~]# service autofs status
automount is stopped
[root@station17 ~]# service nfs status
rpc.mountd est arrêté
nfsd est arrêté
rpc.rquotad est arrêté

Comme ils sont arrêtés, nous démarrons les services avec la commande service, et assurez-vous qu'ils restent en place après un redémarrage en utilisant la commande chkconfig sur les systèmes RedHat© :

[root@station17 ~]# service autofs start
Starting automount:                                        [  OK  ]
[root@station17 ~]# chkconfig --level 35 autofs on
[root@station17 ~]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
[root@station17 ~]# chkconfig --level 35 nfs on
[root@station17 ~]#

Les arguments de la commande chkconfig assurent juste que ce service sera démarré après un redémarrage dans les niveaux de fonctionnement 3 et 5. Maintenant nous pouvons voir si des exportations sont disponibles sur des serveurs réseaux. Premièrement, nous allons aller dans le répertoire /net; considérant que notre serveur avec l'exportation NFS est server1 et qu'il a une entrée dans le DNS, nous pouvons exécuter ce qui suit :

[root@station17 /]# cd /net
[root@station17 net]# cd server1
[root@station17 server1]# ls
data  documents  powervault  rhome  var
[root@station17 server1]#

Ou, si nous connaissons l'adresse IP de la machine, nous pouvons faire :

[root@station17 net]# cd 192.168.0.254
[root@station17 192.168.0.254]# ls
data  documents  powervault  remote  var
[root@station17 192.168.0.254]#

Les répertoires apparaissent comme par magie—mais si nous ne connaissons pas le nom de la machine ou son adresse IP, nous ne serions pas en mesure de les trouver. Le monteur automatique ne peut lister les répertoires à moins d'y avoir accédé, donc à moins qu'un utilisateur sache à quoi accéder il ne pourra pas les trouver à l'aveuglette. Cela vous assure de monter des partages NFS très facilement—et vous n'avez pas à vous souvenir qu'il faut les démonter manuellement !

Comme exercice pour voir ce travail sur notre machine, exécutons les commandes suivantes :

[root@station17 ~]# echo "/var/www/html 127.0.0.1(sync,rw)" >> /etc/exports
[root@station17 ~]# service nfs restart
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
[root@station17 ~]# cd /net/localhost
[root@station17 localhost]# ls
var
[root@station17 localhost]# 

Nous avons exporté notre répertoire /var/www/html comme une exportation NFS en lecture/écriture sur l'adresse IP de notre boucle locale juste pour essayer (au cas où nous ne sommes pas dans un environnement réseau). N'oubliez pas de supprimer la ligne dans le fichier /etc/exports que nous venons d'écrire une fois que vous aurez vérifié les possibilités de montages réseaux. A noter que le fait de saisir mount dans la ligne de commande ne montrera pas ce qui est monté par le monteur automatique; vous devrez exécuter cat /proc/mounts pour voir ce qui est actuellement monté par le démon autofs.

/etc/auto.smb

Le fichier par défaut auto.smb est également un script exécutable, et l'utilisation de se script peut requérir le nom du serveur Samba©, un utilisateur et un mot de passe, ou un fichier de référence spécifié lors d'une installation particulière. Vous pouvez également utiliser le guide inclus dans la documentation Samba©, ce que j'ai fait, pour créer votre propre fichier auto.smb; il suit le même format que le fichier auto.misc. Si vous voulez monter automatiquement des partages Samba, vous voulez peut-être aller de l'avant et créer votre propre fichier de configuration personnalisé pour vos besoins. Souvenez-vous juste de sauvegarder le fichier original si vous n'allez pas utiliser l'exécutable.

# points de montage automatique /smb

# C'est une carte de monteur automatique et elle a le format suivant
# clé [ -options de montage séparées par une virgule ] emplacement
# Les détails peuvent être trouvés dans la page du man autofs(5)

# serveurs smb
supra_andreas   -fstype=smb,username=andreas,password=foo   ://supra/aheinrich
supra_cspiel    -fstype=smb,username=cspiel                 ://supra/cspiel
phonon_andreas  -fstype=smb,username=andreas                ://phonon/andreas
helium_cspiel   -fstype=smb,username=cspiel                 ://helium/cspiel

Le monteur automatique travaillera avec les exportations NFS, Samba©, NIS, NIS+, LDAP, et divers autres périphériques, sans mentionner qu'il est programmable et très configurable. Dans cet article, j'ai juste mentionné brièvement les bases; n'oubliez pas de lire la page autofs(5) du man, qui contient des concepts intéressants. Assurez-vous de la consulter également lorsque vous mettez en place le montage automatique, tout comme la documentation spécifique à d'autres distributions lorsque vous configurez le monteur automatique correpondant à vos besoins.

Ressources

  • The Filesystem Hierarchy Standard

  • Red Hat Documentation

  • Michael Jang's book "Red Hat Certified Engineer Linux Study Guide", Fifth Edition

  • Mark G. Sobell's book "A Practical Guide to Red Hat Linux" Third Edition

Adaptation française de la Gazette Linux

L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.

Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linuxhttp://www.traduc.org/Gazette_Linux

Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.