Ce guide explique comment installer le serveur NFS sur le serveur Linux RHEL 8/CentOS 8. NFS signifie Système de fichiers réseau. Il permet aux systèmes clients d’accéder aux fichiers stockés sur un serveur partagé distant sur un réseau et d’utiliser ces systèmes de fichiers comme s’ils étaient montés localement. NFS est un système de fichiers client et serveur (FS).
En utilisant le stockage partagé NFS, les administrateurs système peuvent consolider les ressources sur des serveurs centralisés sur le réseau. Les fichiers sont facilement partagés entre plusieurs systèmes sur le même réseau. Un système client peut accéder au partage distant avec des privilèges (lecture, écriture) et n’a pas accès au stockage en bloc sous-jacent.
Pour Ubuntu/Debian, vérifiez : Installer et configurer le serveur NFS sur Ubuntu &Debian Linux
Versions NFS prises en charge
Voici les versions de NFS prises en charge par RHEL 8.
NFS version 3 (NFSv3)
- Prend en charge les écritures asynchrones sécurisées et est plus robuste pour la gestion des erreurs que le précédent NFSv2
- Prend en charge les tailles de fichiers et les décalages 64 bits, permettant aux clients d’accéder à plus de 2 Go de données de fichiers.
NFS version 4 (NFSv4)
- Fonctionne via des pare-feu et sur Internet
- Ne nécessite plus le service rpcbind
- Prend en charge les listes de contrôle d’accès (ACL)
- Utilise des opérations avec état.
Dans ce guide, nous allons configurer NFSv4.2 sur notre système RHEL/CentOS. Voici ma conception de configuration.
Server Type | OS | IP | Hostname |
NFS Server | RHEL/CentOS 8 | 172.16.54.136 | server.example.com |
NFS Client 1 | RHEL/CentOS 8 | 172.16.54.136 | client1.example.com |
NFS Client 2 | RHEL/CentOS 8 | 172.16.54.131 | client2.example.com |
Mais notez que la configuration du client NFS sera couverte dans un guide séparé. Suivez les étapes ci-dessous pour installer NFS Server sur le système Linux CentOS 8/RHEL 8.
Étape 1: Mettre à jour le serveur et définir le nom d’hôte
Votre serveur doit avoir une adresse IP statique et un nom d’hôte statique qui persiste redémarre. Consultez nos guides sur la façon de définir une adresse IP statique sur RHEL / CentOS 8.
sudo yum -y updatesudo hostnamectl set-hostname server.example.com --static
Étape 2: Installer le serveur NFS sur CentOS 8/RHEL 8
Ensuite, l’installation des paquets NFS server sur le système RHEL/CentOS 8.
sudo yum -y install nfs-utils
Après l’installation, démarrez et activez le service nfs-server.
sudo systemctl enable --now nfs-server rpcbind
L’état doit afficher « en cours d’exécution ».
Étape 3 : Exportation des partages NFS sur RHEL 8/CentOS 8
Il existe deux façons de configurer les exportations sur un serveur NFS.
- Modifier manuellement le
/etc/exports
fichier de configuration - À l’aide de l’utilitaire
exportfs
sur la ligne de commande
Le fichier /etc/exports
contrôle les systèmes de fichiers exportés vers des hôtes distants et spécifie les options. Il suit les règles de syntaxe suivantes :
- Les lignes vides sont ignorées.
- Pour ajouter un commentaire, commencez une ligne avec la marque de hachage (#).
- Vous pouvez envelopper de longues lignes avec une barre oblique inverse (\).
- Chaque système de fichiers exporté doit être sur sa propre ligne individuelle.
- Toutes les listes d’hôtes autorisés placées après un système de fichiers exporté doivent être séparées par des caractères d’espace.
- Les options de chacun des hôtes doivent être placées entre parenthèses directement après l’identifiant de l’hôte, sans aucun espace séparant l’hôte et la première parenthèse.
Pour cette configuration, j’ai ajouté un disque secondaire à mon serveur d’une capacité de 20 Go. Nous partitionnerons ce disque et créerons un système de fichiers dessus pour l’utiliser comme partage NFS.
$ lsblk | grep sdbsdb 8:16 0 20G 0 disk # Create partition and file systemsudo parted -s -a optimal -- /dev/sdb mklabel gptsudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%sudo parted -s -- /dev/sdb align-check optimal 1sudo mkfs.xfs /dev/sdb1
Nous allons le monter dans le répertoire /data.
sudo mkdir /dataecho "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstabsudo mount -a
Vérifions les paramètres pour confirmer.
$ df -hT | grep /data/dev/sdb1 xfs 20G 176M 20G 1% /data
Je vais créer un répertoire sur /data/nfshare qui sera exporté vers les clients NFS.
sudo mkdir /data/nfshare
Maintenant, nous devons modifier /etc/exports pour configurer le partage NFS. La structure est la suivante :
export host(options)
Il est également possible de spécifier plusieurs hôtes, ainsi que des options spécifiques pour chaque hôte, comme ci-dessous.
export host1(options1) host2(options2) host3(options3)
Où:
- l’exportation est le répertoire exporté
- l’hôte est l’hôte ou le réseau vers lequel l’exportation est partagée
- optionsListe des options à utiliser pour l’hôte
Dans ma configuration, je vais donner au système de fichiers exporté est lu & des autorisations d’écriture pour permettre aux hôtes distants d’apporter des modifications aux données partagées sur le système de fichiers. Mon hôte sera un réseau 172.16.54.0/24.
Donc ma ligne sur le fichier /etc/exports le sera.
/data/nfshare 172.16.54.0/24(rw,no_root_squash)
L’option no_root_squash désactive l’écrasement de la racine – permet à l’utilisateur root distant d’avoir des privilèges root. Ceci est généralement requis pour les installations de machines virtuelles sur le partage NFS.
Pour en savoir plus sur les options disponibles, utilisez :
$ man exports
Une fois les paramètres terminés, utilisez l’utilitaire exportfs pour exporter sélectivement les répertoires sans redémarrer le service NFS.
$ sudo exportfs -ravexporting 172.16.54.0/24:/data/nfshare
- r – Provoque l’exportation de tous les répertoires répertoriés dans /etc/exports en construisant une nouvelle liste d’exportation dans /etc/lib/nfs/xtab
- a – Tous les répertoires sont exportés ou non, en fonction des autres options transmises à exportfs
- v – Opération détaillée – Montre ce qui se passe
Si Firewalld est en cours d’exécution, autoriser le service NFS.
sudo firewall-cmd --add-service=nfs --permanentsudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent sudo firewall-cmd --reload
Le booléen SELinux peut avoir besoin d’être activé.
sudo setsebool -P nfs_export_all_rw 1
Étape 4: Montage des Partages NFS sur les machines clientes
Maintenant que nous avons terminé avec les configurations de serveur NFS, la partie restante consiste à monter des partages NFS sur un système client. Un client peut être un système distant, une machine virtuelle sur le même serveur ou le serveur lui-même.
Reportez-vous à notre guide suivant : Comment Configurer le Client NFS sur CentOS/RHEL 8
Plus de guides relatifs au stockage :
Comment Configurer l’Initiateur iSCSI sur CentOS 8/ RHEL 8
Comment Configurer la Cible et l’Initiateur iSCSI sur CentOS 8/RHEL 8