Outils pour utilisateurs

Outils du site


netadmin:linux:installer_serveur_nfsv4

:TODO_DOCUPDATE:

Configurer un serveur NFSv4

Sauf par nécessité de rétro-compatibilité, il est conseillé d'utiliser la version NFS en version 4.2

NFSv4 vs NFSv3

The latest protocol of NFS is v4. It has minor versions: v4.2, v4.1, and v4.0. However, NFS Linux implementations generally support NFSv3 for backward compatibility.

NFSv3 requires supplementary services like rpcbind, mountd, lockd, and statd. Furthermore, the v3 protocol doesn’t mandate TCP implementation.

On the other hand, NFSv4 doesn’t depend on rpcbind, lockd, and statd as it has these functionalities built in. Only mountd is still used for exporting file shares, but not in the client-server connection. Hence, these services needn’t be exposed through a firewall. Moreover, NFSv4 has features like better security, reliability, enhanced client caching, and internationalization.

apt-get install nfs-kernel-server

Modifier le fichier /etc/nfs.conf. Désactiver la version 3 et activer la version 4 :

...
[nfsd]
# debug=0
# threads=8
# host=
# port=0
# grace-time=90
# lease-time=90
# udp=n
# tcp=y
vers3=n
# vers4=y
vers4.0=n
vers4.1=n
vers4.2=y
# rdma=n
# rdma-port=20049
...

Après modification du fichier de configuration, redémarrer le service :

systemctl restart nfs-server.service

Vérifier les versions de NFS supportées par le serveur :

cat /proc/fs/nfsd/versions 
-2 -3 +4 -4.0 -4.1 +4.2

Désactiver les service en lien avec NFSv3 :

systemctl mask --now rpc-statd.service rpcbind.service rpcbind.socket

Partager les dossiers

Avec NFSv4, tous les exports doivent exister sous un seul et même pseudo système de fichiers dans lequel les répertoire originaux du serveur sont montés via l'option --bind.

Ici nous souhaitons partager les répertoires /srv/data et /srv/backup

# Création des points de montage
mkdir -p /export/{data,backup}
 
# Monter les dossier à partager sous /export
mount --bind /srv/data /export/data
mount --bind /srv/backup /export/backup

Pour que les exports persistent après reboot, modifier /etc/fstab

# Dossiers partagés via NFSv4
/srv/data      /export/data     none    bind  0  0
/srv/backup    /export/backup   none    bind  0  0

Les options de partage sont définies dans le fichier /etc/exports

/export        192.168.1.142/24(ro,sync,root_squash,no_subtree_check,fsid=0)
/export/data   192.168.1.142/24(ro,sync,root_squash,no_subtree_check) 

Après modification du fichier de configuration :

# relecture du fichier de configuration
exportfs -r
 
# lister les partages nfs disponibles
exportfs -v

Montage sur le poste client

Installer le paquet nfs-common :

apt-get install nfs-common

Pour monter le partage NFS sur l'arborescence logique locale :

mount -t nfs4 -o proto=tcp,port=2049 192.168.1.217:/ /mnt/

Troubleshooting

Depuis le poste client, le montage échoue avec le message :

mount.nfs4: mounting server.localdomain:/exports failed, reason given by server: No such file or directory

Source : partage NFSv4 erreur no such file or directory (askubuntu.com)

Références

netadmin/linux/installer_serveur_nfsv4.txt · Dernière modification : 2024/08/26 20:35 de yoann