next up previous contents Next: Droits d'accès. Up: Système de fichiers en Previous: Logiciels.   Table des matières  

29.2 Exemple de configuration.

Pour partager un répertoire avec une machine distante, il faut que les requêtes DNS directes et inverses fonctionnent aussi bien pour la machine serveur que pour les machines clientes. Le DNS est étudié aux chapitres 28 (volet client) et 41 (volet serveur). Si vous envisagez de seulement tester NFS et de partager les répertoires avec votre machine locale (ce que nous sommes en train de voir), vous pourriez constater que DNS est déjà en fonctionnement alors qu'il n'est pas configuré correctement. Le fichier /etc/hosts de votre machine locale devrait au moins posséder des entrées correctes (voir la section 28.3).

La première étape consiste à choisir le répertoire que vous souhaitez partager. Une astuce consiste à partager votre CD-ROM avec l'ensemble du réseau LAN. Ceci vous permet d'opérer en toute sécurité car le lecteur CD-ROM n'est accessible qu'en lecture seule. Créez un fichier /etc/exports contenant:

/mnt/cdrom 192.168.1.0/24(ro)   localhost(ro) 


Vous pouvez immédiatement constater que le format du fichier /etc/exports consiste simplement en une ligne pour chaque répertoire à partager. A la suite des répertoires à partager, vient une liste des hôtes qui ont l'autorisation de se connecter. Dans le cas présent, les machines autorisées à accéder au lecteur CD-ROM sont celles dont les adresses IP se répartissent sur 24 bits sur 192.168.1, en ce compris localhost qui doit être déclaré (voir la section 26.8; pour rappel, si nous supposons être dans un réseau de classe C, il y a 32 - 24 = 8 bits pour les adresses réseau, soit $2^{8}=256$ adresses).

A présent, montons notre CD-ROM de manière usuelle: [NdT: il va de soi qu'il faut adapter le nom du périphérique tel que décrit dans /etc/fstab (/dev/hdc, par exemple).]

mkdir -p /mnt/cdrom 
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom 


Maintenant, démarrons les démons NFS séquentiellement:

portmap 
rpc.mountd 
rpc.nfsd 
rpc.lockd 


Si jamais vous effectuez des modifications dans /etc/exports, vous devriez aussi poursuivre en exécutant:

exportfs -r  


ce qui a pour effet de relire le fichier /etc/exports. Si vous entrez la commande exportfs sans options, vous devriez obtenir:

/mnt/cdrom     192.168.1.0/24 
/mnt/cdrom     localhost.localdomain 


c'est-à-dire une liste des répertoires partagés et des hôtes autorisés à y accéder.

Il est utile de tester les montages depuis votre machine locale avant d'effectuer les tests sur une machine distante. Ici, nous réalisons l'opération de montage de NFS:

mkdir /mnt/nfs 
mount -t nfs localhost:/mnt/cdrom /mnt/nfs 


Vous constatez que la commande mount considère le répertoire de la machine distante comme un ``périphérique'' bien que son type soit nfs au lieu d'ext2, ext3, vfat ou iso9660. Le nom d'hôte distant est suivi du signe ``deux points'', lui-même suivi du répertoire à partager. Le chemin est relatif à la racine. Cette syntaxe est inusuelle comparativement à d'autres services qui nomment les fichiers relativement à un répertoire ``de haut niveau'' (ce qui est le cas de FTP et des serveurs web). Le test-clé consiste à lancer ls sur le répertoire /mnt/nfs de façon à vérifier que son contenu est bien le même que celui de /mnt/cdrom. Supposons que notre serveur s'appelle cdromserver, nous pouvons lancer la même commande sur toutes les machines clientes:

mkdir /mnt/nfs 
mount -t nfs cdromserver:/mnt/cdrom /mnt/nfs 


Si quelque chose va mal, vous rechercherez certainement tous les processus incluant rpc, mount, nfs ou portmap. L'arrêt complet de nfs équivaut à stopper tous ces processus, au cas où vous désireriez repartir de zéro. Il est également utile de vérifier la dernière partie des journaux:

tail -f /var/log/messages 
tail -f /var/log/syslog 


dans une console différente pour attendre les messages d'erreur (ou de succès). Il faut toujours faire cela quelle que soit la configuration que vous mettez en place. Notez qu'il n'est pas toujours évident que NFS échoue à cause d'un problème de requête DNS directe ou inverse; aussi, au préalable, vérifiez en double que ces requêtes fonctionnent. mount ne devrait pas donner davantage de renseignements que le message classique d'erreur de NFS: ``mount: <xyz> failed, reason given by server: Permission denied''. Un DNS erroné est également indiqué par des pauses d'une minute en cours d'opération.

En majorité, les distributions n'exigeront pas que vous démarreriez ou que vous arrêtiez les démons cités précédemment. A l'instar de la plupart des services, la mise en oeuvre de NFS par RedHat peut être invoquée simplement avec:

/etc/init.d/nfs start 
/etc/init.d/nfslock start 


ou avec /etc/rc.d/init.d/ au lieu de /etc/init.d/. Sur Debian, les commandes équivalentes sont:

/etc/init.d/nfs-common start 
/etc/init.d/nfs-kernel-server start 


next up previous contents Next: Droits d'accès. Up: Système de fichiers en Previous: Logiciels.   Table des matières  
1-01-2006