Comment Configurer le serveur NFS sur CentOS 7 / RHEL 7

NFS signifie Système de fichiers réseau, vous aide à partager des fichiers et des dossiers entre les systèmes Linux / Unix, développé par SUN Microsystems en 1990. NFS vous permet de monter un partage distant localement.

Ce guide vous aide à configurer le serveur NFS sur CentOS 7/RHEL 7.

Avantages de NFS

  • Partage de fichiers / dossiers entre systèmes *nix
  • Permet de monter localement des systèmes de fichiers distants
  • Peut servir de système de stockage centralisé
  • Il peut être utilisé comme Domaine de stockage (Banque de données) pour VMware et d’autres plates-formes de virtualisation.
  • Permet aux applications de partager des fichiers de configuration et de données avec plusieurs nœuds.
  • Permet d’avoir des fichiers mis à jour sur le partage.

Services importants

Voici les services NFS importants, inclus dans les packages nfs-utils.

rpcbind : Le serveur rpcbind convertit les numéros de programme RPC en adresses universelles.

serveur NFS : Il permet aux clients d’accéder aux partages NFS.

nfs-lock/rpc-statd: Verrouillage de fichier NFS. Implémentez la récupération de verrouillage de fichier lorsqu’un serveur NFS se bloque et redémarre.

nfs-idmap : Il traduit les ID d’utilisateur et de groupe en noms, et pour traduire les noms d’utilisateur et de groupe
en ID

Fichiers de configuration importants

Vous travailleriez principalement sur les fichiers de configuration ci-dessous pour configurer le serveur et les clients NFS.

/ etc / exports: C’est le fichier de configuration principal, contrôle les systèmes de fichiers exportés vers des hôtes distants et spécifie les options.

/etc/fstab: Ce fichier est utilisé pour contrôler quels systèmes de fichiers, y compris les répertoires NFS, sont montés au démarrage du système.

/etc/sysconfig/nfs : Ce fichier est utilisé pour contrôler les ports sur lesquels les services RPC requis s’exécutent.

/etc/hosts.allow et /etc/hosts.refuser : Ces fichiers sont appelés wrappers TCP, contrôlent l’accès au serveur NFS. Il est utilisé par NFS pour décider d’accepter ou non une connexion provenant d’une autre adresse IP.

Environnement

Ici, je vais utiliser CentOS 7 minimal pour cette démo. Ce guide devrait également fonctionner sur les systèmes Oracle Linux et Fedora.

Serveur NFS

Nom d’hôte : serveur.c’est ça.adresse IP locale (CentOS 7)
: 192.168.1.10/24

Client NFS

Nom d’hôte : client.c’est ça.adresse IP locale (CentOS 7)
: 192.168.1.20/24

Configurez le serveur NFS

Installez le serveur NFS

Installez le package ci-dessous pour le serveur NFS à l’aide de la commande yum.

yum install -y nfs-utils

Une fois les paquets installés, activez et démarrez les services NFS.

systemctl start nfs-server rpcbindsystemctl enable nfs-server rpcbind

Créer un partage NFS

Maintenant, créons un répertoire à partager avec le client NFS. Ici, je vais créer un nouveau répertoire nommé nfsfileshare dans la partition /.

Vous pouvez également partager votre répertoire existant avec NFS.

mkdir /nfsfileshare

Permet au client NFS de lire et d’écrire dans le répertoire créé.

chmod 777 /nfsfileshare/

Nous devons modifier le fichier /etc/exports pour faire une entrée du répertoire /nfsfileshare que vous souhaitez partager.

vi /etc/exports

Créez un partage NFS comme ci-dessous.

/nfsfileshare 192.168.1.20(rw,sync,no_root_squash)

/ nfsfileshare : répertoire partagé

192.168.1.20: Adresse IP de la machine cliente. Nous pouvons également utiliser le nom d’hôte au lieu d’une adresse IP. Il est également possible de définir la plage de clients avec un sous-réseau comme 192.168.1.0/24.

rw: Autorisation d’écriture dans le dossier partagé

sync: Toutes les modifications apportées au système de fichiers correspondant sont immédiatement vidées sur le disque ; les opérations d’écriture respectives sont en attente.

no_root_squash : Par défaut, toute demande de fichier effectuée par l’utilisateur root sur la machine cliente est traitée comme par l’utilisateur nobody sur le serveur. (L’UID auquel la demande est mappée dépend exactement de l’UID de l’utilisateur « nobody » sur le serveur, pas du client.) Si no_root_squash est sélectionné, alors root sur la machine cliente aura le même niveau d’accès aux fichiers sur le système que root sur le serveur.

Vous pouvez connaître toutes les options dans la page de manuel man exports ou ici.

Exportez les répertoires partagés à l’aide de la commande suivante.

exportfs -r

Extras :

exportfs-v : Affiche une liste des fichiers de partage et des options d’exportation sur un serveur.
exportfs-a : Exporte tous les répertoires répertoriés dans /etc/exports.
exportfs-u : UnExport d’un ou plusieurs répertoires.
exportfs-r : Réexporte tous les répertoires après avoir modifié /etc/exports.

Après avoir configuré le serveur NFS, nous devons monter ce répertoire partagé dans le client NFS.

Configurer le pare-feu

Nous devons configurer le pare-feu sur le serveur NFS pour permettre au client NFS d’accéder au partage NFS. Pour ce faire, exécutez les commandes suivantes sur le serveur NFS.

firewall-cmd --permanent --add-service mountdfirewall-cmd --permanent --add-service rpc-bindfirewall-cmd --permanent --add-service nfsfirewall-cmd --reload

Configurer le client NFS

Installer le client NFS

Nous devons installer des packages NFS sur le client NFS pour monter un partage NFS distant. Installez les packages NFS à l’aide de la commande ci-dessous.

yum install -y nfs-utils

Vérifiez le partage NFS

Avant de monter le partage NFS, je vous demande de vérifier les partages NFS disponibles sur le serveur NFS en exécutant la commande suivante sur le client NFS.

Remplacez l’adresse IP par l’adresse IP ou le nom d’hôte de votre serveur NFS.
showmount -e 192.168.1.10

Sortie:

Export list for 192.168.1.10:/nfsfileshare 192.168.1.20

Selon la sortie, le fichier /nfsfileshare est disponible sur le serveur NFS (192.168.1.10) pour le client NFS (192.168.1.20).

Extras :

showmount-e : Affiche les partages disponibles sur votre machine locale (serveur NFS).
showmount-e < server-ip ou hostname > : Répertorie les partages disponibles sur le serveur distant

Monter le partage NFS

Maintenant, créez un répertoire sur le client NFS pour monter le partage NFS/nfsfileshare que nous avons créé dans le serveur NFS.

mkdir /mnt/nfsfileshare

Utilisez la commande ci-dessous pour monter un partage NFS/nfsfileshare à partir du serveur NFS 192.168.1.10 dans /mnt/nfsfileshare sur le client NFS.

mount 192.168.1.10:/nfsfileshare /mnt/nfsfileshare

Vérifiez le partage monté sur le client NFS à l’aide de la commande mount.

mount | grep nfs

Sortie:

ssunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)nfsd on /proc/fs/nfsd type nfsd (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

Vous pouvez également utiliser la commande df-hT pour vérifier le partage NFS monté.

df -hT

Sortie:

Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/centos-root xfs 50G 1.2G 49G 3% /devtmpfs devtmpfs 485M 0 485M 0% /devtmpfs tmpfs 496M 0 496M 0% /dev/shmtmpfs tmpfs 496M 6.7M 490M 2% /runtmpfs tmpfs 496M 0 496M 0% /sys/fs/cgroup/dev/mapper/centos-home xfs 47G 33M 47G 1% /home/dev/sda1 xfs 1014M 154M 861M 16% /boottmpfs tmpfs 100M 0 100M 0% /run/user/0192.168.1.10:/nfsfileshare nfs4 50G 1.2G 49G 3% /mnt/nfsfileshare

Créez un fichier sur le répertoire monté pour vérifier l’accès en lecture et en écriture sur le partage NFS.

touch /mnt/nfsfileshare/test

Si la commande ci-dessus ne renvoie aucune erreur, vous avez une configuration NFS fonctionnelle.

Partages NFS Automount

Pour monter les partages automatiquement à chaque redémarrage, vous devez modifier le fichier /etc/fstab de votre client NFS.

vi /etc/fstab

Ajoutez une entrée comme ci-dessous.

## /etc/fstab# Created by anaconda on Wed Jan 17 12:04:02 2018## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/centos-root / xfs defaults 0 0UUID=60a496d0-69f4-4355-aef0-c31d688dda1b /boot xfs defaults 0 0/dev/mapper/centos-home /home xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0192.168.1.10:/nfsfileshare /mnt/nfsfileshare nfs nosuid,rw,sync,hard,intr 0 0

Enregistrez et fermez le fichier.

Redémarrez la machine cliente et vérifiez si le partage est monté automatiquement ou non.

reboot

Vérifiez le partage monté sur le client NFS à l’aide de la commande mount.

mount | grep nfs

Sortie:

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)192.168.1.10:/nfsfileshare on /mnt/nfsfileshare type nfs4 (rw,nosuid,relatime,sync,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.10)

Si vous souhaitez démonter ce répertoire partagé de votre client NFS après avoir terminé le partage de fichiers, vous pouvez démonter ce répertoire particulier à l’aide de la commande umount.

umount /mnt/nfsfileshare

Conclusion

Vous avez configuré le serveur NFS et le client NFS sur CentOS 7/RHEL 7 avec succès. Si vous ne souhaitez pas utiliser de montages statiques, vous pouvez configurer AutoFS sur CentOS 7 pour monter le partage NFS uniquement lorsqu’un utilisateur y accède.

You might also like

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.