Le protocole NFS (Network File System) permet de patrager des répertoires et des fichiers sur un réseau entre plusieurs serveurs Linux. Dans cette configuration, un serveur central (Hôte) expose une partie de son système de fichiers à des nœuds distants (Clients).
1. Architecture de l'environnement
L'exemple suivant repose sur trois machines exécutant Red Hat Enterprise Linux (RHEL) :
- Serveur Stockage (Hôte) : IP 10.0.0.10
- Nœud Client A : IP 10.0.0.20
- Nœud Client B : IP 10.0.0.21
2. Vérification des prérequis
Avant de débuter, il est nécessaire de s'assurer que les paquets nfs-utils et rpcbind sont installés sur toutes les machines concernées.
# Vérification de la présence des paquets requis
rpm -qa | grep -E 'nfs|rpcbind'
Si les composants sont présents, la sortie devrait lister des outils tels que nfs-utils-lib et rpcbind.
3. Configuration du serveur hôte (10.0.0.10)
La gestion des partages s'effectue via le fichier de configuration /etc/exports.
# Édition du fichier de configuration des exports
vi /etc/exports
Ajoutez les lignes suivantes pour autoriser l'accès aux clients spécifiques :
/srv/nfs/shared_data 10.0.0.20(rw,sync,no_root_squash,insecure)
/srv/nfs/shared_data 10.0.0.21(rw,sync,no_root_squash,insecure)
Une fois le fichier enregistré, appliquez la configuration sans redémarrer l'intégralité du service :
# Prise en compte immédiate des modifications
exportfs -arv
Si le service NFS n'est pas encore actif, démarrez d'abord rpcbind puis nfs pour garantir un enregistreemnt correct des services :
service rpcbind start
service nfs restart
Vérifiez l'état des exports actifs avec la commande :
exportfs -v
4. Configuration des clients (10.0.0.20 & 10.0.0.21)
Sur chaque machine cliente, créez un point de montage local et liez-le au répertoire distant du serveur.
# Création du répertoire cible
mkdir -p /mnt/remote_storage
# Montage du répertoire NFS distant
mount -t nfs 10.0.0.10:/srv/nfs/shared_data /mnt/remote_storage
Pour confirmer que le montage est opérationnel, consultez l'utilisation du disque :
df -h
Le système devrait afficher une ligne indiquant la connexion entre l'IP du serveur et le point de montage local, avec les statistiques de stockage associées.
5. Validation de la synchronisation
Pour tester l'interopérabilité, créez un fichier témoin sur le Client A :
# Sur 10.0.0.20
touch /mnt/remote_storage/test_sync.log
Vérifiez instantanément la présence de ce fichier sur le Client B :
# Sur 10.0.0.21
ls -l /mnt/remote_storage/
Si le fichier test_sync.log apparaît, le partage bidirectionnel est fonctionnel.
6. Résolution des problèmes courants
Si le montage échoue ou si les données ne s'affichent pas correctement :
- Vérification réseau : Assurez-vous que le port NFS (2049) et RPC (111) ne sont pas bloqués par un pare-feu.
- État des services : Vérifiez que
rpcbindest actif sur le serveur et le client. - Rafraîchissement : En cas de modification des droits, utilisez
exportfs -fsur le serveur pour vider la table d'exportation avant de la recharger. - Persistance : Pour que le montage soit permanent au redémarrage, il devra être ajouté au fichier
/etc/fstabdu client.