Recherche de site Web

Comment installer le serveur et le client NFS sur les distributions RHEL


Sous Linux, il existe quelques protocoles de partage de fichiers utilisés pour partager du stockage et des fichiers sur un réseau. Les plus utilisés sont Samba et NFS.

Samba est une suite d'applications open source populaire qui fonctionne dans une architecture client-serveur. Il offre une compatibilité multiplateforme permettant un partage de fichiers transparent sur les systèmes d'exploitation Linux, Windows et macOS. Un partage de fichiers hébergé sur un système Linux est accessible depuis diverses plates-formes, favorisant ainsi la collaboration.

Un autre protocole de partage de fichiers largement utilisé est NFS, abréviation de Network File Share. Tout comme Samba, il fonctionne sur un modèle client-serveur et permet à un utilisateur de partager des répertoires et des fichiers sur un réseau avec plusieurs utilisateurs clients distants.

Dans ce guide, nous verrons comment installer le serveur et le client NFS sur des distributions basées sur RHEL telles que Fedora, CentOS Stream, Rocky Linux et AlmaLinux.

Services NFS

Il existe actuellement 3 versions de NFS, la dernière étant NFSv4 qui inclut des fonctionnalités telles que la possibilité de travailler sur Internet et à travers un pare-feu. De plus, il existe NFSv3 et NFSv2 qui est le protocole le plus ancien.

Le service NFS est composé du serveur NFS et du client. Le serveur NFS comprend les fichiers clés suivants :

  • nfs-server – Cela permet aux systèmes clients d'accéder aux fichiers partagés NFS.
  • rpcbind – convertit les programmes RPC en adresses universelles.
  • nfs-idmap – Effectue la traduction des identifiants d'utilisateur et de groupe en noms et des noms d'utilisateur et de groupe en identifiants.
  • portmap – Il s'agit d'un serveur qui convertit les numéros de programme RPC en numéros de port IP.
  • nfslock – En cas de panne du serveur NFS, le nfslock démarre les processus RPC requis.

Services de configuration NFS

Voici quelques-uns des fichiers de configuration clés pour NFS :

  • /etc/exports – Le fichier de configuration principal, qui stipule les systèmes de fichiers ou répertoires à exporter et à accéder aux utilisateurs distants.
  • /etc/fstab – Il s'agit d'un fichier qui contient les entrées des partitions montées. Dans NFS, le fichier contient des entrées de répertoires de partage ou de systèmes de fichiers NFS qui sont montés de manière permanente et peuvent persister lors d'un redémarrage.
  • /etc/sysconfig/nfs – Il définit les ports nécessaires lors de l'exécution des services RPC.

Configuration du serveur et du client NFS

Pour configurer les partages NFS, nous aurons besoin d'au moins deux machines Linux/Unix. Ici, dans ce tutoriel, j'utiliserai deux serveurs.

  • Serveur NFSRHEL 9 avec IP 10.128.15.213
  • Client NFSRHEL 9 avec IP 10.128.15.214

Installer NFS sur le serveur et le client

Pour commencer, vous devez vous connecter aux deux nœuds (serveur NFS et client) et installer les services NFS. Tout d’abord, mettez à jour les informations du package comme indiqué. La commande dnf suivante mettra également à niveau tous les packages intéressants vers leurs dernières versions.

sudo dnf update 

Une fois la mise à jour terminée, procédez et installez les services NFS requis.

sudo dnf install rpcbind nfs-utils -y

L'étape suivante consiste à activer les services NFS comme indiqué.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Assurez-vous également de démarrer les services NFS.

sudo systemctl enable nfs-server
sudo systemctl enable rpcbind

Il est crucial de vérifier que tous les services NFS fonctionnent.

sudo systemctl status nfs-server
sudo systemctl status rpcbind

Assurez-vous également de configurer le pare-feu afin d'autoriser les services NFS entrants comme suit.

sudo firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd}
sudo firewall-cmd --reload

Créer un répertoire de partage NFS

Une fois tous les services NFS installés et exécutés comme prévu, il est temps de créer le répertoire de partage NFS, qui est le répertoire qui contiendra les fichiers auxquels accéderont les clients NFS du réseau.

Dans ce cas, nous allons créer un répertoire de partage NFS appelé my_nfsshare dans notre répertoire personnel.

mkdir -p /home/tecmint/my_nfsshare

Ensuite, attribuez des autorisations de répertoire. À des fins de démonstration, nous attribuerons des autorisations globales qui accorderont aux clients NFS des autorisations de lecture, d'écriture et d'exécution.

sudo chmod 777 -R /home/tecmint/my_nfsshare

Exporter un répertoire de partage NFS

L'étape suivante consiste à exporter le répertoire de partage NFS. Pour y parvenir, nous devons faire une entrée dans le fichier /etc/exports. Par conséquent, accédez au fichier à l’aide de votre éditeur de texte préféré. Dans ce cas, nous utiliserons l'éditeur Vim.

sudo vim /etc/exports

Ajoutez l'entrée suivante. Assurez-vous de remplacer l'adresse IP du serveur par l'adresse IP de votre serveur NFS.

/home/tecmint/my_nfsshare server-ip/24(rw,no_root_squash)

Enfin, exportez le répertoire de partage ou le système de fichiers NFS.

sudo exportfs -rv

Exécutez la commande suivante pour afficher les partages NFS.

showmount -e localhost

Configurer le client NFS

La phase restante de cet exercice consiste à configurer le client NFS afin d'accéder au répertoire partagé. Tout d'abord, confirmez que vous pouvez afficher la liste d'exportation ou les partages NFS sur le serveur NFS.

showmount -e 10.128.15.213

L'étape suivante consiste à monter le partage NFS du serveur vers le client. Pour ce faire, nous devons d'abord créer un répertoire de montage. Dans ce cas, nous créerons un répertoire appelé nfs_backup.

mkdir nfs_backup

Par la suite, nous monterons le partage NFS dans le répertoire de montage que nous venons de créer dans le répertoire racine.

mount -t nfs 10.128.15.213:/home/tecmint/my_nfsshare  ~/nfs_backup 

Pour conserver le partage NFS, modifiez le fichier /etc/fstab.

vim /etc/fstab

Ajoutez ensuite l'entrée suivante.

10.128.15.213:/home/tecmint/my_nfsshare    /root/nfs_backup  nfs     defaults 0 0

Enregistrez et quittez le fichier de configuration.

Test de la configuration NFS

La dernière étape consiste à vérifier si la configuration NFS fonctionne comme prévu. Nous allons créer quelques fichiers sur le serveur et vérifier leur disponibilité côté client NFS.

Côté serveur, nous allons créer les fichiers dans le répertoire de partage NFS.

sudo touch my_nfsshare/file{1..4}.txt

Pour vérifier que les fichiers ont bien été créés, nous exécuterons la commande ls :

ls -l my_nfsshare/

De retour côté client, vérifiez que les fichiers sont disponibles dans le répertoire de montage sans aucune actualisation du service ni redémarrage d'un service, comme le montre le résultat suivant.

ls -l nfs_backup/

Suppression du support NFS

Si vous n'avez plus besoin du répertoire monté sur votre système, vous pouvez les démonter côté client à l'aide de la commande umount suivante :

umount ~/nfs_backup

Commandes de partage NFS

Quelques commandes plus importantes pour NFS.

  • showmount -e – Affiche les partages disponibles sur votre ordinateur local
  • showmount -e ip-address – Répertorie les partages disponibles sur le serveur distant
  • showmount -d – Répertorie tous les sous-répertoires
  • exportfs -v – Affiche une liste de fichiers et d'options partagés sur un serveur
  • exportfs -a – Exporte toutes les actions répertoriées dans /etc/exports, ou leur prénom
  • exportfs -u – Désexporte toutes les actions répertoriées dans /etc/exports ou le prénom
  • exportfs -r – Actualise la liste du serveur après avoir modifié /etc/exports
Conclusion

Ceci conclut notre guide sur la façon d'installer le serveur et le client NFS sur les distributions basées sur RedHat. Nous avons installé les services NFS sur le serveur, créé un répertoire de partage NFS et enfin monté le répertoire de partage sur le client. Enfin, nous avons vérifié la configuration de NFS en accédant au fichier créé sur le serveur côté client.