TUTOS.EU

Monter un partage NFS sous Linux


Nous sommes ici sur une machine qui tourne sur Ubuntu 20.04.4 LTS
Comme indiqué sur https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-20-04-fr

côté client il faut installer le paquet nfs-common

sudo apt install nfs-common
Lien vers le fichier : cliquez ici

Sur une centos V7 j'ai du installer ce complément sous peine d'avoir ce message d'erreur :

 

mount: mauvais type de système de fichiers, option erronée, superbloc erroné
        sur monserveur:/monpartage, page de code ou programme auxiliaire manquant, ou autre erreur
        (pour plusieurs système de fichiers (NFS ou CIFS par exemple), un
        programme /sbin/mount. auxiliaire pourrait être nécessaire)

 

yum install nfs-utils nfs-utils-lib
Lien vers le fichier : cliquez ici

Ensuite, toujours côté client, il faut créer un répertoire sur lequel on viendra monter le partage nfs.
Bien sûr vous pouvez adapter le nom du répertoire

sudo mkdir -p /point_montage_nfs_cote_client
Lien vers le fichier : cliquez ici

Côté firewall il faut ouvrir ce port en entrée sur le serveur et en sortie sur le client

2049
Lien vers le fichier : cliquez ici

Ensuite pour monter le partage NFS :
Il y a plusieurs version, la plus récente est la V4.
Si on ne précise rien, c'est cette version qui est utilisée. La commande à adapter est alors

sudo mount -t nfs ip_serveur_nfs:/nom_partage_nfs /point_montage_nfs_cote_client
Lien vers le fichier : cliquez ici

Sur mon synology avec un DSM V6.2.4-25556, je n'avais pas l'option pour NFS V4. J'étais en V3 et j'avais l'erreur "mount.nfs: requested NFS version or transport protocol is not supported"

Pour lever le problème, il faut préciser la version dans la commande

sudo mount -t nfs -o vers=3 ip_serveur_nfs:/nom_partage_nfs /point_montage_nfs_cote_client
Lien vers le fichier : cliquez ici

Comme indiqué sur https://www.linuxtricks.fr/wiki/centos-7-installer-un-serveur-nfs-et-configurer-un-client-nfs
Si le réseau est capricieux, on peut mettre un mode 'soft' avec du retry

sudo mount -t nfs ip_serveur_nfs:/nom_partage_nfs /point_montage_nfs_cote_client -o soft,retrans=2,timeo=5
Lien vers le fichier : cliquez ici

Pour rendre le montage persistant il faut le mettre dans fstab via

nano /etc/fstab
Lien vers le fichier : cliquez ici

Ajoutez une ligne de ce type

Nom_serveur_nfs:/nom_partage /nom_repertoire_de_montage     nfs     auto,_netdev,,nofail        0 0
Lien vers le fichier : cliquez ici

Pour information :
• _netdev indique que la source du partage est située sur un serveur distant
• auto permet un montage automatique au lancement du système
• user : permet à un utilisateur de faire le montage
• noexec : ne permet pas de lancer un exécutable
• nofail fait qu'il n'y a pas d'erreur lorsque device n'existe pas
• 0 : le premier zéro indique qu'il n'y a pas de dump en cas d'erreur
• 0 : le second zéro determine l'ordre de check du filesystem au boot

 

On trouve plus d'informations sur (par exemple) https://man7.org/linux/man-pages/man5/fstab.5.html
ou https://man7.org/linux/man-pages/man8/mount.8.html

Démontez ce que vous venez de monter manuellement avec

umount /nom_repertoire_de_montage
Lien vers le fichier : cliquez ici

Testez la configuration de fstab avec cette commande. Elle doit monter tout ce qu'il y a d'indiqué dedans

mount -a
Lien vers le fichier : cliquez ici

En suivant https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-centos-6
Sur RedHat/CentOs, il faut installer ces packages. A note que pour mon cas cela a fonctionné sans nfs-utils-lib

yum install nfs-utils nfs-utils-lib
Lien vers le fichier : cliquez ici

Configurer /etc/exports avec

nano /etc/exports
Lien vers le fichier : cliquez ici

Ajoutez une ligne par répertoire que vous voulez mettre à disposition

/repertoire_a_partager nom_client_qui_doit_accéder(rw,no_root_squash,no_subtree_check)

 

On trouver des explication sur les options sur https://doc.ubuntu-fr.org/nfs voir https://access.redhat.com avec

  • rw : accès en lecture/écriture
  • ro : accès en lecture seule
  • root_squash : empêche les utilisateurs root connectés à distance d'avoir des privilèges root. Au lieu de cela, le serveur NFS leurs assignera l'ID d'utilisateur nfsnobody (option par défaut).
  • no_root_squash : Permet l'accès à l'utilisateur root en tant que root.
  • no_subtree_check : Disabling the subtree check may increase the reliability of NFS, but reduce security.

Ensuite pour mettre à disposition des clients, faire

exportfs -arv
Lien vers le fichier : cliquez ici

Pages Web

Site WebDescription
docs.formatux.frNetwork File System par formatux
youtube.comInstaller et configurer un serveur NFS (Network File System) sous Linux