diff --git a/HowtoNFS.md b/HowtoNFS.md index c843119c..16c967af 100644 --- a/HowtoNFS.md +++ b/HowtoNFS.md @@ -1,47 +1,75 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +--- +categories: storage +title: Howto NFS +... +* Documentation : -## Serveur NFS +NFS (Network File System) est un protocole réseau permettant le partage de fichiers entre un serveur et des clients. -* Installez le paquet _nfs-kernel-server_ -* Les partages se configurent dans le fichier _/etc/exports_ : +## Installation + +~~~ +# apt install nfs-kernel-server +~~~ + +## Configuration + +Les partages se configurent dans le fichier `/etc/exports` : ~~~ /srv/nfs 192.0.2.4(rw,root_squash,sync,no_subtree_check) +/srv/nfs2 192.0.2.0/27(ro) 192.0.242(rw) ~~~ -Attention, sous Squeeze, il est recommandé de désactiver l'option suivante -dans le fichier /etc/default/nfs-kernel-server : +Quelques options possibles : + +* `rw` : active le mode read-write (par défaut c'est en read-only) +* `async` : autorise le serveur à répondre aux clients même si les fichiers ne sont pas encore écrits, cela améliore les performances mais c'est plus dangereux (possibilité de perdre des fichiers dans certains cas) +* `no_subtree_check` : désactive certaines vérifications qu'un fichier accédé via NFS appartient bien à un répertoire exporté. Cette option est conseillée en général (c'est même devenu le comportement par défaut) +* `no_root_squash`/`all_squash` : options pour la gestion du mapping UID/GID + +### Mapping uid/gid + + + + +## Clients NFS ~~~ -#RPCMOUNTDOPTS=--manage-gids -RPCMOUNTDOPTS= +# apt install nfs-common +# mount -t nfs -o nfsvers=3 192.0.2.1:/srv/nfs /mnt ~~~ -Sinon, cela pose de gros problème avec les groupes secondaires, voir - -En Wheezy pour conserver les UID/GID il faut spécifier un domaine similaire sur le client et serveur dans /etc/idmapd.conf - -/!\\ Si le serveur (une wheezy) est en NFSv4 mais pas le client (une squeeze), il faudra mettre dans /etc/default/nfs-common sur la squeeze NEED_IDMAPD=yes /!\\ - -## Montage du partage - -* Dans le fichier _/etc/fstab_ : +`/etc/fstab` : ~~~ -192.0.2.10:/srv/nfs /srv/nfs nfs auto,rw,_netdev,mountproto=tcp,comment=systemd.automount 0 0 +192.0.2.1:/srv/nfs /mnt nfs nfsvers=3 0 0 +192.0.2.1:/srv/nfs /mnt nfs auto,rw,_netdev,mountproto=tcp,comment=systemd.automount 0 0 ~~~ ~~~ -# mount /srv/nfs # mount | grep nfs -192.0.2.10:/srv/nfs on /srv/nfs type nfs4 (rw,relatime,vers=4,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.0.2.4,minorversion=0,local_lock=none,addr=192.0.2.10) +192.0.2.1:/srv/nfs on /srv/nfs type nfs4 (rw,relatime,vers=4,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.0.2.4,minorversion=0,local_lock=none,addr=192.0.2.1) ~~~ -## Forcer le NFS v3 -Sur le client : +## Plomberie -~~~ -192.0.2.10:/srv/nfs /srv/nfs nfs rw,nfsvers=3 0 0 -~~~ \ No newline at end of file +cat /proc/fs/nfs/exports +/var/lib/nfs/etab + + +## FAQ + +### Serveur NFS sous Debian 6 + +Sous Debian Squeeze, il est recommandé de désactiver l'option `RPCMOUNTDOPTS` dans le fichier `/etc/default/nfs-kernel-server` sinon cela pose [des problèmes avec les groupes secondaires](http://bugs.debian.org/585085). + +### NFS sous Debian 7 + +Sous Debian Wheezy, pour conserver les UID/GID il faut spécifier un domaine similaire sur le client et serveur dans `/etc/idmapd.conf` + +### Serveur NFS sous Debian 7, client NFS sous Debian 6 + +Si le serveur NFS est sous Debian Wheezy et le client sous Debian Squeeze, il faudra mettre `NEED_IDMAPD=yes` dans `/etc/default/nfs-common` sur le client.