Mise en place d'un partage NFS

De Source d'information LINUX
Sauter à la navigation Sauter à la recherche

Mise en place d'un partage NFS

Pre-requis

Les pré-requis a cette mise en place sont :

  • le système d'exploitation est CentOS 7.6 avec une installation minimale,
  • les mises a jour ont été effectuées,
  • le serveur est a l'heure.

Installation des packages

Pour obtenir un partage NFS sur une machine CentOS 7.6 client ou serveur, il est nécessaire d'installer certains packages. Pour cela, lancer la commande suivante :

 sudo yum install -y nfs-utils

Configuration du serveur NFS

Configuration du domaine

Il est recommandé de définir le domaine dans le fichier /etc/idmapd.conf.

 [General]
 #Verbosity = 0 
 # The following should be set to the local NFSv4 domain name
 # The default is the host's DNS domain name.
 Domain = janez.eu

Création des répertoires de partage

Nous allons, a présent, créer les répertoires de partage data et backup.

 server$ sudo mkdir /data 
 server$ sudo mkdir /backup

Configuration du partage NFS

La définition des partages NFS se fait dans le fichier /etc/exports.

  # /etc/exports
  /data   192.168.193.0/24(ro,async,no_subtree_check) *.janez(ro,async,no_subtree_check)
  /backup 192.168.193.0/24(rw,async,no_subtree_check) \
                *.janez.eu(rw,async,no_subtree_check)

Les options de partages sont les suivants:

  • ro, permet de monter le répertoire en lecture seule,
  • rw, permet de monter le répertoire en lecture et en écriture,
  • async, permet des écritures asynchrones (le serveur n'attend pas l'écriture d'une requête précédente pour répondre),
  • no_subtree_check, permet de neutraliser la vérification des sous-répertoires. Cela a des implications au niveau sécurité,


Gestion du partage NFS - Serveur

Démarrage du service NFS

Pour avoir le partage NFS, il est nécessaire de démarrer les service RPC et NFS.

 server$ sudo systemctl enable rpcbind
 server$ sudo systemctl enable nfs-server
 server$ sudo systemctl start rpcbind
 server$ sudo systemctl start nfs-server

Configuration de Firewalld

Pour qu'un client puisse avoir accès aux partages NFS du serveur, il est nécessaire d'ouvrir les ports requis. Pour cela, lancer les commandes suivantes :

 server$ sudo firewall-cmd --permanent --zone=public --add-service=nfs
 server$ sudo firewall-cmd --permanent --zone=public --add-service=mountd
 server$ sudo firewall-cmd --permanent --zone=public --add-service=rpc-bind
 server$ sudo firewall-cmd --reload

Gestion du partage NFS - Client

Préparation de l'environnement du client NFS

Sur le client, il est nécessaire de créer les points de montage.

 client$ mkdir -p /mnt/nfs/data
 client$ mkdir -p /mnt/nfs/backup

Montage du partage NFS - Temporaire

Pour monter manuellement et temporairement un partage NFS, utiliser la commande suivante :

 client$ mount -t nfs 192.168.193.100:/data /mnt/nfs/data/
 client$ mount -t nfs 192.168.193.100:/backup /mnt/nfs/backup/

Ou 192.168.193.100 est adresse IP du serveur NFS.

Montage du partage NFS - Permanent

Pour monter automatiquement et de façon permanente un partage NFS, il est nécessaire de compléter le fichier /etc/fstab avec les lignes suivantes :

 [ ... ]
 192.168.193.100:/data    /mnt/nfs/data  nfs defaults 0 0
 192.168.193.100:/backup    /mnt/nfs/backup   nfs defaults,_netdev 0 0

L'option _netdev indique au système qu’il s’agit d’un disque réseau et qu’il doit au moins attendre d’être connecté pour le monter.

Une fois le fichier modifié, lancer la commade suivante pour la prise en compte de la configuration:

 client$ sudo mount -a

Commandes utiles

Prise en compte de la configuration

Afin de prendre en compte une configuration si le service est déjà démarré, il est nécessaire de lancer la commande suivante :

 exportfs -a

Vérification des montages disponibles

Pour vérifier quels sont les montages disponibles, lancer la commande suivante :

 showmount -e {hostname}

Ou hostname est le hostname du serveur NFS.

Liens utiles

NFS Redhat manuel Partage NFS HowtoForge