{{tag>netadmin sysadmin linux partage share nfs 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 : [[https://askubuntu.com/questions/35077/cannot-mount-nfs4-share-no-such-file-or-directory| partage NFSv4 erreur no such file or directory (askubuntu.com)]] ===== Références ===== * [[https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/managing_file_systems/deploying-an-nfs-server_managing-file-systems | Déployer un serveur NFS (redhat.com) ]] * [[https://www.cyberciti.biz/faq/nfs4-server-debian-ubuntu-linux/|NFSv4 sous Ubuntu/Debian (cyberciti.biz) ]] * [[https://doc.ubuntu-fr.org/nfs-ufw|NFS derrière pare-feu UFW]] * [[https://help.ubuntu.com/community/NFSv4Howto|Guide NFSv4 (ubuntu.com)]]