Accueil > Linux > autofs & nfs

autofs & nfs

Parfois on se lance tête baissée dans l’écriture de scripts abscons pour solutionner un problème. C’est sûr, bien souvent la solution existe ailleurs et souvent en plus propre. C’est ce que je me disais en explorant les possibilités qu’offre autofs suite au poste publié prédédemment.
Ceci dit, en y regardant de plus près, mon script reste LA SOLUTION adaptée à ma problématique. Voyons tout ça en détail.
Le démon autofs permet de monter automatiquement différents systèmes de fichiers en présentant des « maps » au programme automount.
Le gros avantage de autofs c’est que celui-ci permet d’intéragir avec des services d’annuaires comme NIS ou LDAP et ainsi de centraliser l’administration. Dans mon cas, il s’agit juste d’un réseau domestique constitué de quelques postes ou la problématique est tout autre. Principalement, les utilisateurs du réseau doivent en « un click » pouvoir se connecter à un poste distant via nfs sans pour autant manipuler la ligne de commande. Comme prérogative, il faut aussi que les utilisateurs ne se retrouvent pas avec des processus bloqués suite à l’ extinction violente d’ un serveur.
A priori, autofs permet cette possibilité. Sur debian stable (lenny) on trouve des paquets pour autofs et autofs5.
Installons la version 1.4:
#apt-get install autofs
On renseigne le fichier /etc/auto.master comme suit:
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#/misc /etc/auto.misc –timeout=60
#/smb /etc/auto.smb
#/misc /etc/auto.misc
/mnt/nfs /etc/auto.nfs –timeout=60

/mnt/nfs est le point de montage sur mon système.
/etc/auto.nfs est « la map » qui est donc un fichier que l’on va créer, fichier où sera renseigné le serveur distant, les options de montage etc…
C’ est là qu’à la place d’un fichier, une sémantique particulière pourrait faire appel à NIS ou ldap.
L’option -timeout est destiné au programme automount, c’est la période d’inactivité à l’issue de laquelle le système de fichier distant sera démonté.
on créé /etc/auto.nfs:
#cat >/etc/auto.nfs
nfs_test     -fstype=nfs,hard,intr,nodev,nosuid,async    :/<ip_serveur>:/<export_path>
^D

nfs_test est le répertoire sous lequel apparaîtra mon montage (c.a.d on on aura dans ce cas /mnt/nfs/nfs_test).
Il est à noter que ce répertoire sera créé par automount si il n’existe pas. Le nom de ce répertoire est bien sûr à la discrétion de l’utilisateur.
On lance le démon autofs:
#/etc/init.d/autofs start
On vérifie que tout ce passe bien avec la commande mount qui devrait renvoyer quelque chose de similaire:
#mount

automount(pid4523) on /mnt/nfs type autofs (rw,fd=4,pgrp=4523,minproto=2,maxproto=4)

On se place dans /mnt/nfs
# cd /mnt/nfs
#ls

A priori, rien il se passe rien. Pourtant si on fait un
# cd /mnt/nfs/nfs_test, le montage s’effectue automatique et l’arborescence exportée apparait.
A noter que l’otion -ghost de automount pourrait apparaitre dans le fichier /etc/auto.master afin d’apporter un rémanence au rep nfs_test même si le système est démonté.
Bon, c’est plutôt pas mal, un simple utilisateur pourra donc avoir accès de façon transparente au système de fichier sans autre forme d’intervention et c’était le but recherché. Si on ne fait pas appel à nfs_test, le répertoire se démontae automatiquement au bout de la période précisée dans /etc/auto.master (30 secondes dans ce cas).
Là où le bas blesse, c’est si le poste distant (le serveur nfs) vient à s’éteindre (nous somme dans un réseau domestique …). Dans ce cas, un simple ls /mnt/nfs/nfs_test sera bloquant. Idem pour la commande mout ou df.
L’ utilisateur non averti pourra se retrouver avec des processus bloqués (nautilus par exemple) sans trop comprendre pourquoi.
Pire, essayez de démonter manuellement:
umount vous insultera en disant que le point de montage ne figure pas dans /etc/fstab. La commande #/etc/init.d/autofs stop ne fonctionnera pas elle non plus. Il faudra même forcer l’extinction de la machine qui refusera de d’éteindre proprement …
Bon ben je suis rassuré, il est pas mal mon script.

Catégories :Linux Étiquettes : , ,
  1. Aucun commentaire pour l’instant.
  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :