CentOS 7 : Installer un serveur NFS et Configurer un client NFS
Table des matières
NFS, pour Network File System (système de fichiers en réseau) est à l'origine un protocole qui permet à un ordinateur d'accéder à des fichiers via un réseau. Il permet de partager des données principalement entre systèmes UNIX.
Ici, on va détailler l'installation d'un serveur NFS et montrer comment connecter un client à ce partage.
IP du serveur : 10.21.27.250
IP du client : 10.21.27.100
L'installation se fait via deux paquets :
On active au passage les services rpcbind et nfs au démarrage du système :
Et on les démarre dans le bon ordre :
On indique dans le fichier /etc/exports quels répertoires on souhaite partager et à qui :
On peut partager un dossier à une seule machine :
Ou à plusieurs machines
Par défaut, toutes les données écrites dans ce répertoire partagé sont de la propriété de l'utilisateur anonyme (nobody).
On peut indique au serveur NFS un UID et/ou un GID de l'utilisateur avec anonuid et anongid pour éviter d'utiliser nobody. Utiliser au passage l'option all_squash :
Pour appliquer les changements :
Pour la partie cliente, on installe aussi les paquets adéquats :
Et pour monter le partage, rien de plus simple :
Avec la commande df, on peut voir que tout est monté :
On peut aussi monter ça dans le fstab, mais attention, si le serveur NFS n'est pas dispo, le boot peut venir en échec :
Introduction
NFS, pour Network File System (système de fichiers en réseau) est à l'origine un protocole qui permet à un ordinateur d'accéder à des fichiers via un réseau. Il permet de partager des données principalement entre systèmes UNIX.
Ici, on va détailler l'installation d'un serveur NFS et montrer comment connecter un client à ce partage.
IP du serveur : 10.21.27.250
IP du client : 10.21.27.100
Installation
L'installation se fait via deux paquets :
Code BASH :
yum install nfs-utils nfs-utils-lib
On active au passage les services rpcbind et nfs au démarrage du système :
Code BASH :
chkconfig rpcbind on chkconfig nfs on
Et on les démarre dans le bon ordre :
Code BASH :
service rpcbind start service nfs start
Configuration
On indique dans le fichier /etc/exports quels répertoires on souhaite partager et à qui :
Code BASH :
vi /etc/exports
On peut partager un dossier à une seule machine :
Code BASH :
/media/partage 10.21.27.100(rw,sync,no_root_squash)
Ou à plusieurs machines
Code BASH :
/media/partage 10.21.27.0/24(rw,sync,no_root_squash)
- rw: Cette option permet d'avoir les droits de lecture et d'écriture. Pour lecture seule : utiliser ro
- sync : vérifie les données écrites avant d'en écrire de nouvelles (lent). Pour écrire plus rapidement au prix d'une corruption des données, utiliser async
- no_root_squash : ne force pas le mapping de l'utilisateur root vers un utilisateur anonyme
Par défaut, toutes les données écrites dans ce répertoire partagé sont de la propriété de l'utilisateur anonyme (nobody).
On peut indique au serveur NFS un UID et/ou un GID de l'utilisateur avec anonuid et anongid pour éviter d'utiliser nobody. Utiliser au passage l'option all_squash :
Code BASH :
/media/partage 10.21.27.0/24(rw,all_squash,anonuid=1001,anongid=1001,sync)
Pour appliquer les changements :
Code BASH :
exportfs -a
Partie client
Pour la partie cliente, on installe aussi les paquets adéquats :
Code BASH :
yum install nfs-utils nfs-utils-lib
Et pour monter le partage, rien de plus simple :
Code BASH :
mkdir -p /media/nfs mount 10.21.27.250:/media/partage /media/nfs
Avec la commande df, on peut voir que tout est monté :
Code BASH :
df -h Filesystem Size Used Avail Use% Mounted on 10.21.27.250:/media/partage 20G 985M 18G 5% /media/nfs
On peut aussi monter ça dans le fstab, mais attention, si le serveur NFS n'est pas dispo, le boot peut venir en échec :
Code BASH :
10.21.27.250:/media/partage /media/nfs nfs auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0