Quelques commandes NFS

Voici quelques notes pour survivre avec NFS.

Côté serveur :

Nécessite les paquets
nfs-kernel-serveret nfs-common, et fonctionne en tcp/udp sur le port 2049.

Toute la config se fait dans le fichier
/etc/exports

La syntaxe est la suivante :
 <dossier partagé> <hôte>(<options>) <hôte2>(<options>)...</pre>
</div>
Options par défaut :
RO : read-only

SYNC : doit être spécifié, sinon warning ; async peut être utilisé en mode RO.
NO_SUBTREE_CHECK : doit être spécifié, sinon warning ; subtree_check vérifie le nommage des fichiers, à utiliser quand il y en a peu, en RO.
 -> fsid=0 : indique que le répertoire exporté est « racine »
ROOT_SQUASH : mappe root en utilisateur anonyme ; ou NO_ALL_SQUASH : mappe tous les utilisateurs en utilisateur anonyme.

Exemple :
pour exporter le répertoire /partage au réseau 10.0.0.0/8 (lecture écriture) et à l’IP 1.2.3.4 (écriture seulement)
    /partage    10.0.0.0/8(rw,sync,no_subtree_check,no_root_squash) 1.2.3.4(ro,async,no_subtree_check,fsid=0)

Après une modif, on redémarre les services suivants :
    /etc/init.d/nfs-kernel-server reload

Côté client linux :

Nécessite le paquet « nfs-common » et que le port 111 soit ouvert.

Il faut créer l’arborescence d’arrivée :

$ mkdir /home/benji/partage

On peut monter le partage à la main :

$ mount -t nfs4 -o rw 10.0.10.53:/ /home/benji/partage

Pour rendre ce montage automatique on l'ajoute dans le fstab :  
    10.0.10.53:/partage /home/benji/partage   nfs4        _netdev,defaults 0 0

Problèmes connus : 
dans l'idéal, il faut que les UID/GID soient identiques entre le client et le serveur.
Si ce n'est pas possible, il faut "jouer" avec les options no_root_squash et

Debug :
Côté serveur :    exportfs -v : permet de voir ce qui est exporter côté serveur    
exportfs -r : re-exporte ce qui est dans /etc/exports après modif
showmount --export 10.0.0.2 : montre ce qui a été exporté à 10.0.0.2

Côté client :    showmount -e 10.0.0.1: montre ce qui est présenté à 10.0.0.1

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Time limit is exhausted. Please reload the CAPTCHA.