2ème BTS SRI Administration et Maintenance d’un système GNU/Linux (Avancé)
Mise en place d’un serveur NFS
1. Présentation
Network File System (ou NFS, système de fichiers en réseau) est un
protocole développé par Sun Microsystems qui permet à un ordinateur
d'accéder à des fichiers via un réseau.
Ce système de fichiers en réseau permet de partager des données
principalement entre systèmes UNIX.
NFS est compatible avec IPv6 sur la plupart des systèmes.
2. Installation
Sur le serveur, il faut installer portmap, nfs-common, et nfs-kernel-
server.
apt-get install portmap nfs-common nfs-kernel-server
Sur le client, il faut installer nfs-common et portmat.
apt-get install portmap nfs-common
3. Configuration du serveur NFS
Le fichier de configuration du serveur NFS est /etc/exports. On indique
la liste des répertoires qui peuvent être partagés (exportés). Une entrée
dans ce fichier se décompose de la manière suivante :
/Nom_rep_à_partager listes_machines_autorisées_à_se_connecter (permessions
et paramètres du partage)
Exemples :
/home [Link]/24(rw,async,no_subtree_check,root_squash)
/home [Link](rw,async,no_subtree_check)
Les permissions en NFS sont :
–ro : Partage en lecture seule
–rw : Partage en lecture et écriture
1/4
–secure : Les connexions se feront sur un port inférieur à 1024
–insecure : l'inverse de secure
–async : Traite les requêtes avant de les écrire sur le disque. Améliore les
performances mais il y a un risque de perte de données en cas
d'extinction du serveur (requêtes en mémoire, n’est pas écrit sur le
disque).
–sync : L'inverse de async, tout est à chaque accès écrit sur le disque.
–no_wdelay : Pas de délai avant écriture sur le disque
–wdelay : l'inverse de no_delay
–subtree_check : Vérifie que le fichier demandé est bien dans un des
répertoires partagés avec autorisation d'accès.
–no_subtree_check : L'inverse, améliore les performances.
–root_squash : Converti les droits root du système client en droits
d'utilisateur anonyme sur le partage.
–no_root_squash : Concerve les droits root sur système client sur le
partage (dangereux !).
Une fois la configuration des partages et des droits établie, il reste à les
activer via la commande exportfs -a :
root@excalibur:~# exportfs -a
Pour connaître la liste des partages actifs sur un serveur il suffit de saisir
la commande « exportfs » :
root@excalibur:~# exportfs
/home [Link]/24
/home [Link]
Sur certains systèmes il faut redémarrer le service NFS, par exemple
grâce à la commande :
/etc/init.d/nfs-kernel-serve’r restart .
Chap. 5 2/4
4. Contrôler de la configuration
Depuis le poste client, vous avez la possibilité de vérifier que la
configuration a bien été prise en compte en utilisant la commande
suivante.
showmount -e [Link]
Cette dernière va vous lister tous les volumes disponibles ainsi que les
adresses IP autorisées.
4-1. Dossier du montage
Maintenant que nous avons installé le paquet, il faut commencer par créer
un dossier contenant le montage. Une fois le montage créé, vous verrez
les fichiers du serveur distant dans ce dossier comme si c’était un dossier
normal.
mkdir /mnt/nfs
4-2. Monter manuellement le dossier
Pour commencer, nous allons créer un montage entre les deux machines
manuellement. La commande ci-dessous permet d’effectuer cette action.
sudo mount -t nfs -o rw [Link]:/home/datas/ /mnt/nfs/
4-3. Démontage d’un dossier
Dans le sens inverse, pour démonter un dossier il suffit de faire la
commande suivant en tant qu’utilisateur root.
sudo umount /media/nfs
4-4. Montage automatique
Pour ne pas avoir à exécuter la commande ci-dessus à la main à chaque
fois que vous démarrez le poste client, nous allons voir comment créer un
montage qui sera fait automatiquement au démarrage.
Nous allons donc éditer le fichier /etc/fstab et ajouter la ligne ci-
dessous.
Chap. 5 3/4
[Link]:/home/datas/ /media/nfs/ nfs defaults 0 0
Chap. 5 4/4