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
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 :
#!/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.