GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer le serveur et le client NFS sur Rocky/Alma Linux 8

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

  1. Assurez-vous que le serveur est mis à jour
  2. Installer les packages NFS
  3. Démarrage et activation du serveur NFS
  4. Activation du service NFS sur le pare-feu
  5. Configuration des exportations sur le serveur NFS
  6. 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 nfsdnfs-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 (mountdnfsrpc-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.


Linux
  1. Configuration d'un serveur et d'un client NFS sur Scientific Linux 6.3

  2. Comment configurer un montage NFS sur Rocky Linux 8

  3. Comment installer et configurer PHP et Nginx (LEMP) sur Rocky Linux/Alma Linux 8

  4. Comment installer et configurer Squid Proxy sur Rocky Linux/Alma Linux 8

  5. Comment installer et configurer le serveur et le client Linux NTP

Comment configurer la réplication FreeIPA sur Rocky Linux/Alma Linux/Centos 8

Comment installer Webmin dans Rocky Linux/Alma Linux 8

Comment définir la date et l'heure sur Rocky Linux 8 Desktop et Server

Comment configurer le serveur et le client NFS sur CentOS 8

Comment installer et configurer un serveur NFS sur un système Linux

Comment installer et configurer un serveur Linux Ubuntu NFS