''Documentation inspirée de la page pour la zone Afrique de l'Ouest (merci RogerYerbanga).'' <> = Mise en place de NFSv4 = == Côté serveur NFS == * Installer les paquets nécessaires pour NFS : {{{ aptitude install nfs-kernel-server nscd }}} * Créer un répertoire pour la racine des exports en NFSv4, puis un par export, par exemple : {{{ mkdir /nfsv4 mkdir /nfsv4/home mkdir /nfsv4/share }}} * Ajouter dans `/etc/fstab` un montage de type `bind` pour chaque export, par exemple : {{{ /home /nfsv4/home none rw,bind 0 0 /srv/share /nfsv4/share none rw,bind 0 0 }}} * Monter une première fois chaque export (les prochaines fois seront automatiques, au démarrage), par exemple : {{{ mount /nfsv4/home mount /nfsv4/share }}} * Ajouter dans `/etc/exports` une ligne indiquant la racine NFSv4, puis une ligne par export, par exemple : {{{ /nfsv4 *.xx.auf(ro,async,root_squash,no_subtree_check,insecure,fsid=0) /nfsv4/home *.xx.auf(rw,async,root_squash,no_subtree_check,insecure,nohide) /nfsv4/share *.xx.auf(rw,async,root_squash,no_subtree_check,insecure,nohide) }}} . (!) Il y a une différence notable entre l'usage de `crossmnt` ou de `nohide` dans le cas où on donne différents droits d'accès à différents réseaux sur un même partage. * Activer les nouveaux exports : {{{ exportfs -rv }}} * Éditer `/etc/default/nfs-common` pour y mettre : {{{ NEED_IDMAPD=yes }}} * Lancer le service `idmapd` : {{{ /etc/init.d/nfs-common restart }}} == Côté client NFS == {i} Les lignes précédées d'une asterisk '''(*)''' sont mises en place automatiquement par l'installation du paquet `auf-client-fixe`. * '''(*)''' Installer les paquets nécessaires pour NFS : {{{ aptitude install nfs-common autofs5 nscd }}} * '''(*)''' Créer le script `/etc/auto.net4` suivant, pour la recherche de points de montage NFSv4 pour `autofs` : {{{#!shell #!/bin/sh # /etc/auto.net4 # This file must be executable to work! chmod 755! opts="-fstype=nfs4,hard,intr,nodev,nosuid,async,noatime,proto=tcp,_netdev" # Just echo options, a hostname and the export root. echo "${opts} ${1}:/" }}} . et le rendre exécutable : {{{ chmod 0755 /etc/auto.net4 }}} * '''(*)''' Configurer dans `/etc/auto.master` le montage automatique `/net` : {{{ /net program:/etc/auto.net4 }}} * '''(*)''' Configurer dans `/etc/default/autofs` le délai et la version de NFS utilisés par défaut : {{{ TIMEOUT=1800 MOUNT_NFS_DEFAULT_PROTOCOL=4 }}} * '''(*)''' Redémarrer le service `autofs` : {{{ /etc/init.d/autofs restart }}} * '''(*)''' Éditer `/etc/default/nfs-common` pour y mettre : {{{ NEED_IDMAPD=yes }}} * '''(*)''' Lancer le service `idmapd` : {{{ /etc/init.d/nfs-common restart }}} == Notes annexes == * On peut vérifier le bon fonctionnement d'un montage NFSv4 par cette commande (on suppose ici que le serveur s'appelle `nfs`) : {{{ mount -t nfs4 nfs:/ /mnt }}} . Avec NFSv4 cela va monter automatiquement tous les partages du serveur indiqué. Vous pouvez le vérifier de façon certaine avec la commande suivante : {{{ grep nfs4 /proc/mounts }}} * Pour un fonctionnement correct de la mise en correspondance des login/UID par le service `idmapd`, il faut que le serveur et le client partagent la même base d'utilisateurs. C'est donc un pré-requis à la mise en place de NFSv4 : que la liste des utilisateurs soit disponible autant du côté du serveur que du côté des clients. . /!\ Dans le contexte AuF cela veut dire qu'il faut mettre en place `libnss-mysql-bg` également du côté serveur. ----