Tux.svgNFS est un moyen extrêmement pratique de partager un système de fichiers en réseau. Sa mise en place est relativement simple, même s’il existe des éléments de sécurité importants à considérer et quelques galères qui peuvent vite prendre du temps.

Nous allons considérer l’exemple du partage NFS entre deux ordinateurs, HOST (IP x.x.x.x) et VM (IP y.y.y.y) , tournant sur une distribution Debian dans l’optique de faire une sauvegarde de la VM sur ce disque NFS. Les étapes ci-dessous présente une manière pour créer et partager un disque NFS entre deux machines.

Procédure

Sur le HOST

Installer NFS

apt-get install nfs-kernel-server portmap nfs-common  

Maintenant nous allons créer un répertoire sur ce même HOST, comme dans l’exemple ci-dessous. Il est, bien évidement possible de prendre un répertoire existant.

mkdir /BACKUPS  

Sécurité

Nous allons restreindre l’accès au disque NFS seulement à la VM. Pour cela il faut éditer le fichier /etc/hosts.allow et y ajouter les lignes suivantes:

portmap: y.y.y.y  
nfsd: y.y.y.y  

Puis dans le fichier /etc/hosts.deny, on ajoute les lignes suivantes pour exclure de la connexion toutes les autres adresses IP:

portmap: ALL nfsd: ALL  

Création du disque NFS

Pour cela il suffit simplement d’éditer le fichier* /etc/exports* et d’y ajouter la ligne suivante:

/BACKUPS x.x.x.x(rw,sync,no_subtree_check,**no_root_squash**)

Et ensuite redémarrer le serveur NFS:

service nfs-kernel-server restart  

Sur la VM

Installer NFS

apt-get install nfs-common  

Sécurité

Autoriser le port 111 entrant ET sortant pour le host dans le firewall.

Monter le disque NFS

mount -t nfs -o rw,vers=3 x.x.x.x:/BACKUPS /BACKUPS  

Ajouter la ligne ci-dessous dans /etc/fstab pour que cela soit automatique au démarrage.

x.x.x.x:/BACKUPS /BACKUPS nfs4 rw,vers=3 0 0  

Problèmes

mount.nfs: Operation not permitted

Il s’agit ici, en règle général, d’un problème de Firewall. Faire un

tail -f /var/log/messages  

et relancer le “mount” pour voir le type d’erreur. Dans mon cas il fallait ouvrir le port UDP 56020.

chown

Le chown ne fonctionne pas dans le disque NFS depuis la VM avec un message du type “chown: changing ownership of `directory’: Operation not permitted“.

Ici, c’est l’option no_root_squash ci-dessous qui a été omise sur le Host dans le fichier /etc/exports:

/BACKUPS xx.yy.zz.kk(rw,sync,no_subtree_check,no_root_squash)

Références

http://doc.ubuntu-fr.org/tutoriel/unsimplepartage_nfs