Rocky Linux 8 prend en charge NFS version 3(NFSv3) et 4(NFSv4). La version NFS par défaut est la 4.2, qui prend en charge les listes de contrôle d'accès (ACL), la copie côté serveur, les fichiers fragmentés, la réservation d'espace, le NFS étiqueté, les améliorations de mise en page et bien plus encore.
Dans ce guide, nous apprendrons comment installer et configurer le serveur NFS et le client NFS sur Rocky Linux 8.
Prérequis
- Mise à jour du serveur Rocky Linux à utiliser comme serveur et un autre pour le client
- Connectivité depuis les serveurs
- Accès Sudo depuis les serveurs
Table des matières
- Assurez-vous que le serveur est mis à jour
- Installer les packages NFS
- Démarrage et activation du serveur NFS
- Activation du service NFS sur le pare-feu
- Configuration des exportations sur le serveur NFS
- Configuration des systèmes clients NFS
1. S'assurer que le serveur est à jour
Avant de continuer, assurons-nous que le serveur est à jour. Utilisez cette commande pour y parvenir :
sudo dnf -y update
2. Installez les packages NFS
Le paquet nfs-utils
fournit un démon pour le serveur NFS du noyau et les outils associés tels que contient le showmount
programme. Utilisez cette commande pour installer le package :
sudo dnf install -y nfs-utils
3. Démarrage et activation du serveur NFS
Une fois les packages NFS installés avec succès, nous pouvons démarrer et activer le serveur NFS. Utilisez cette commande systemctl pour démarrer le serveur :
sudo systemctl start nfs-server
Confirmez l'état du service avec cette commande :
$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
Active: active (exited) since Thu 2022-01-13 17:54:19 UTC; 36s ago
Process: 59320 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
Process: 59308 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Process: 59305 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 59320 (code=exited, status=0/SUCCESS)
Jan 13 17:54:18 dev-rockysrv.inv.re systemd[1]: Starting NFS server and services...
Jan 13 17:54:19 dev-rockysrv.inv.re systemd[1]: Started NFS server and services.
La sortie ci-dessus montre que le service a été démarré avec succès. Pour permettre au service de démarrer au démarrage du système, utilisez cette commande :
sudo systemctl enable nfs-server
Veuillez noter que les autres services requis pour exécuter un serveur NFS ou monter des partages NFS tels que nfsd
, nfs-idmapd
, rpcbind
, rpc.mountd
, lockd
, rpc.statd
, rpc.rquotad
et rpc.idmapd
sera lancé automatiquement.
4. Activer le service NFS dans le pare-feu
Si vous avez pare-feu installé et activé, vous devez activer les services NFS. Vous devez autoriser le trafic vers les services NFS nécessaires (mountd , nfs , rpc-bind ) via le pare-feu, puis rechargez les règles du pare-feu pour appliquer les modifications, comme suit.
sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --reload
5. Configuration des exportations sur le serveur NFS
Les fichiers de configuration du serveur NFS se trouvent dans ces chemins :
/etc/nfs.conf
– c'est le fichier de configuration principal pour les démons et outils NFS/etc/nfsmount.conf
– c'est le fichier de configuration de montage NFS
Créons des systèmes de fichiers à exporter ou à partager sur le serveur NFS. Nous allons créer deux systèmes de fichiers à regarder, /mnt/nfs_shares/files
pour les fichiers partagés et /mnt/nfs_shares/backup
pour les sauvegardes.
Créons les répertoires sur le serveur
sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup
Confirmer
$ sudo ls /mnt/nfs_shares
backup files
Ajoutez ensuite les systèmes de fichiers ci-dessus dans le fichier d'exportation /etc/exports
dans le serveur NFS pour déterminer les systèmes de fichiers locaux qui sont exportés vers les clients NFS.
Ouvrez le fichier d'exportation avec votre éditeur de texte
sudo vim /etc/exports
Ajoutez ensuite ce contenu :
/mnt/nfs_shares/files 10.70.5.170(rw,sync)
/mnt/nfs_shares/backup 10.70.5.0/24(rw,sync,no_all_squash,root_squash)
Voici les options d'exportation qui peuvent être utilisées :
- rw – autorise à la fois l'accès en lecture et en écriture sur le système de fichiers.
- synchroniser - indique au serveur NFS d'écrire des opérations (écriture d'informations sur le disque) lorsqu'il est demandé (s'applique par défaut).
- all_squash – mappe tous les UID et GID des demandes des clients à l'utilisateur anonyme.
- no_all_squash :utilisé pour mapper tous les UID et GID des requêtes client vers des UID et GID identiques sur le serveur NFS.
- root_squash – mappe les requêtes de l'utilisateur root ou de l'UID/GID 0 du client vers l'UID/GID anonyme.
Une fois les systèmes de fichiers définis dans le fichier d'exportation, nous devons exécuter le exportfs
commande pour qu'ils soient exportés. L'exportfs peut être exécuté avec le -a
drapeau signifiant exporter ou désexporter tous les répertoires, -r
ce qui signifie réexporter tous les répertoires, en synchronisant /var/lib/nfs/etab avec /etc/exports et les fichiers sous /etc/exports.d , et -v active la sortie détaillée.
sudo exportfs -arv
Ceci est la sortie sur mon serveur
$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup
Pour afficher la liste d'exportation actuelle, exécutez la commande suivante. Veuillez noter que la table exportfs applique également certaines options par défaut qui ne sont pas explicitement définies :
$ sudo exportfs -s
/mnt/nfs_shares/files 10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup 10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
6. Configuration des systèmes client NFS
Maintenant que nous avons configuré les exportations sur le serveur, nous pouvons y accéder depuis le système client. Connectez-vous au système client et installez les packages nécessaires pour permettre l'accès aux partages NFS.
Sur les systèmes basés sur RHEL :
sudo dnf install -y nfs-utils nfs4-acl-tools
Sur les distributions basées sur Debian/Ubuntu :
sudo apt install nfs-common nfs4-acl-tools
Nous pouvons ensuite exécuter la commande showmount pour afficher les informations de montage pour le serveur NFS. La commande affiche les systèmes de fichiers exportés sur le serveur
showmount -e 10.70.5.221
Sortie
$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files 10.70.5.170
Créez un répertoire de système de fichiers local pour monter les systèmes de fichiers NFS distants et montez-le en tant que système de fichiers nfs
mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs 10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs 10.70.5.221:/mnt/nfs_shares/files ~/nfs_files
Nous pouvons ensuite confirmer que le système de fichiers distant a été monté en exécutant le montage commande et filtre nfs montures.
sudo mount | grep nfs
Sortie sur ma machine
$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/rocky/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/rocky/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
Pour permettre au montage de persister même après un redémarrage du système, ajoutez les entrées au /etc/fstab
dossier. Utilisez ces commandes (en tant que root) pour y parvenir :
echo "10.70.5.221:/mnt/nfs_shares/backup /home/rocky/backups nfs defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files /home/rocky/nfs_files nfs defaults 0 0" >> /etc/fstab
Enfin, testez si NFS la configuration fonctionne correctement en créant un fichier sur le serveur et en vérifiant si le fichier peut être vu dans le client.
Sur le serveur :
sudo touch /mnt/nfs_shares/files/file_on_server.txt
Ensuite, sur la machine cliente, confirmez
$ ls ~/nfs_files/
file_on_server.txt
Vous pouvez aussi faire l'inverse. Sur le client :
touch ~/nfs_files/file_on_client.txt
Puis sur le serveur validez :
$ ls /mnt/nfs_shares/files/
file_on_client.txt file_on_server.txt
Pour démonter le système de fichiers distant côté client.
sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup
Veuillez noter que vous ne pouvez pas unmount
le système de fichiers distant si vous y travaillez.
Conclusion
Dans ce guide, nous avons réussi à installer et à configurer un serveur et un client NFS sur Rocky Linux 8.