publications.LEVINUX.org

4.7. Serveur NFS : Configuration

NFS (Network File System) permet de rendre disponible le système de fichiers aux terminaux. Un "Network File System" (Système de fichiers réseau) est un protocole réseau qui supporte le partage de fichiers, comme par exemple le protocole SMB pour Windows.

Commençons par installer le packetage requis :

#emerge nfs-utils

Configurez maintenant le fichier de démarrage du serveur NFS

#nano /etc/init.d/nfs

Modifiez-le fichier pour qu'il prenne les valeurs suivantes :

# Number of servers to be started up by default
RPCNFSDCOUNT=20

#Options to pass to rpc.mountd
RPCMOUNTDOPTS=""

Sortez de nano et enregistrez les changements. Démarrez le serveur NFS et ajoutez-le au processus de démarrage du noeud maître (votre serveur) :

#/etc/init.d/nfs start

#rc-update add nfs default

Par la suite, il faut modifier le fichier "exports", fichier contenant tous les principes partagés par NFS.

#nano /etc/exports
[Important] Important

Dans ce fichier, il faut ajouter une ligne pour chacun des noeuds esclave présents sur votre réseau! Les quatres lignes à ajouter pour chaque terminaux sont celles commençant par /diskless et /var/log

# /etc/exports: NFS file systems being exported.  See exports(5).
/diskless/192.168.50.10               192.168.50.10(rw,no_root_squash,no_all_squash,sync)
/diskless/192.168.50.11               192.168.50.11(rw,no_root_squash,no_all_squash,sync)
/opt      192.168.50.0/24(ro,no_root_squash,no_all_squash,sync)
/usr      192.168.50.0/24(ro,no_root_squash,no_all_squash,sync)
/home     192.168.50.0/24(rw,no_root_squash,no_all_squash,sync)
/var/log  192.168.50.10(rw,no_root_squash,no_all_squash,sync)
/var/log  192.168.50.11(rw,no_root_squash,no_all_squash,sync)

Par la suite, il faut modifier le fichier "fstab" spécifique à chaque noeud, comme ceci :

#nano /diskless/192.168.50.10/etc/fstab

Le fichier fstab contenu dans /diskless/192.168.50.10/etc/fstab du noeud esclave que vous configurez devrait ressembler à ceci :

192.168.50.1:/diskless/192.168.50.10  /     nfs    hard,intr,rw,nolock,rsize=8192,wsize=8192   0 0
192.168.50.1:/opt                     /opt  nfs    hard,intr,ro,nolock,rsize=8192,wsize=8192   0 0
192.168.50.1:/usr                     /usr  nfs    hard,intr,ro,nolock,rsize=8192,wsize=8192   0 0
192.168.50.1:/home                    /home nfs    hard,intr,rw,nolock,rsize=8192,wsize=8192   0 0
192.168.50.1:/var/log              var/log  nfs    hard,intr,rw                                0 0

# NOTE: The next line is critical for boot!
none       /proc        proc      defaults        0 0
none       /mfs         mfs       noauto,dfsa=1   0 0
none       /dev/shm     tmpfs     defaults        0 0

Passons maintenant à la création de certains dossiers nécessaires nécessaires à chaque noeud esclave. Encore une fois, vous devez créer ces dossiers pour chaque noeud esclave de votre réseau et ce, autant que vous en avez. N'oubliez pas de modifier l'adresse ip du noeud esclave en question à chaque fois que vous créerez ses dossiers...

# cp -r /bin /diskless/192.168.50.10/bin
# cp -r /sbin /diskless/192.168.50.10/sbin 
# cp -r /lib /diskless/192.168.50.10/lib

Ensuite, pour chaque noeud esclave (selon l'adresse ip correspondante) faites :

diskless/192.168.50.10/fastboot
# echo "touch /fastboot" >> /diskless/192.168.50.10/etc/conf.d/local.start