Ce guide explique comment configurer un serveur NFS et un client NFS sur Scientific Linux 6.3. NFS signifie Système de fichiers réseau; via NFS, un client peut accéder (lire, écrire) à un partage distant sur un serveur NFS comme s'il se trouvait sur le disque dur local.
1 Remarque préliminaire
J'utilise ici deux systèmes Scientific Linux :
- Serveur NFS :serveur.exemple.com, adresse IP :192.168.0.100
- Client NFS :client.exemple.com, adresse IP :192.168.0.101
2 Installer NFS
serveur :
Sur le serveur NFS, nous exécutons :
yum installer nfs-utils nfs-utils-lib
Ensuite, nous créons les liens de démarrage du système pour le serveur NFS et le démarrons :
chkconfig --levels 235 nfs sur
/etc/init.d/nfs start
client :
Sur le client, nous pouvons installer NFS comme suit (c'est en fait la même chose que sur le serveur) :
yum installer nfs-utils nfs-utils-lib
3 Exporter des répertoires sur le serveur
serveur :
J'aimerais rendre les répertoires /home et /var/nfs accessibles au client ; il faut donc les "exporter" sur le serveur.
Lorsqu'un client accède à un partage NFS, cela se produit normalement en tant qu'utilisateur nobody. Habituellement, le répertoire /home n'appartient à personne (et je ne recommande pas de changer sa propriété en personne !), et parce que nous voulons lire et écrire sur /home, nous disons à NFS que les accès doivent être effectués en tant que root (si notre partage /home était en lecture seule, cela ne serait pas nécessaire). Le répertoire /var/nfs n'existe pas, nous pouvons donc le créer et changer son propriétaire ; dans mes tests, l'utilisateur et le groupe personne n'avaient tous deux l'ID 99 sur mes deux systèmes de test Scientific Linux (serveur et client); quand j'ai essayé d'écrire dans /var/nfs depuis le client NFS, j'ai eu une erreur d'autorisation refusée, j'ai donc fait un chmod 777 /var/nfs pour que tout le monde puisse écrire dans ce répertoire; l'écriture sur /var/nfs à partir du client a alors fonctionné, et sur le client, les fichiers écrits sur /var/nfs semblaient appartenir à l'utilisateur et au groupe personne, mais sur le serveur, ils appartenaient à l'utilisateur et au groupe (inexistants) avec l'ID 65534 ; donc j'ai changé la propriété de /var/nfs en utilisateur/groupe 65534 sur le serveur et changé les permissions de /var/nfs en 755, et voilà, le client a été autorisé à écrire sur /var/nfs :
mkdir /var/nfs
chown 65534:65534 /var/nfs
chmod 755 /var/nfs
Maintenant, nous devons modifier /etc/exports où nous "exportons" nos partages NFS. Nous spécifions /home et /var/nfs comme partages NFS et disons à NFS d'accéder à /home en tant que root (pour en savoir plus sur /etc/exports, son format et les options disponibles, consultez
man 5 exporte
)
vi /etc/exports
/home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check)/var/nfs 192.168.0.101(rw,sync,no_subtree_check) |
(L'option no_root_squash permet d'accéder à /home en tant que root.)
Chaque fois que nous modifions /etc/exports, nous devons exécuter
exportfs -a
ensuite pour que les modifications soient effectives.
4 Monter les partages NFS sur le client
client :
Nous créons d'abord les répertoires où nous voulons monter les partages NFS, par exemple :
mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs
Ensuite, nous pouvons les monter comme suit :
mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs
Vous devriez maintenant voir les deux partages NFS dans les sorties de
df-h
[[email protected] ~]# df -h
Système de fichiers Taille Utilisé Disponible Utilisation % Monté sur
/dev/mapper/vg_server2-LogVol00
9,7 G 1,7 G 7,5 G 18 % /
tmpfs 499M 0 499M 0 % /dev/shm
/dev/sda1 504M 39M 440M 9 % /démarrage
192.168.0.100 :/home 9,7 G nt 19,7 G nt 19,7 G nt 19,7 G nt /nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19 % /mnt/nfs/var/nfs
[[email protected] ~]#et
monter[[email protected] ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts sur /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs sur /dev/shm type tmpfs (rw)
/ dev/sda1 sur /boot type ext4 (rw)
aucun sur /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc sur /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home sur /mnt/nfs/home type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs sur /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[email protected] ~]#
5 Tests
Sur le client, vous pouvez maintenant essayer de créer des fichiers de test sur les partages NFS :
client :
appuyez sur /mnt/nfs/home/test.txt
appuyez sur /mnt/nfs/var/nfs/test.txtAllez maintenant sur le serveur et vérifiez si vous pouvez voir les deux fichiers de test :
serveur :
ls -l /home/[[email protected] ~]# ls -l /home/
total 0
-rw-r--r-- 1 root root 0 Dec 11 16:58 test.txt
[[email protected] ~]#ls -l /var/nfs[[email protected] ~]# ls -l /var/nfs
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 11 déc 16:58 test.txt
[[email protected] ~]#(Veuillez noter les différentes propriétés des fichiers de test :le partage /home NFS est accessible en tant que root, donc /home/test.txt appartient à root ; le partage /var/nfs est accessible en tant que personne/65534, donc /var/ nfs/test.txt appartient à 65534.)
6 Montage des partages NFS au démarrage
Au lieu de monter manuellement les partages NFS sur le client, vous pouvez modifier /etc/fstab afin que les partages NFS soient montés automatiquement au démarrage du client.
client :
Ouvrez /etc/fstab et ajoutez les lignes suivantes :
vi /etc/fstab
[...]192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0192.168.0.100:/ var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |
Au lieu de
man nfs
Pour tester si votre /etc/fstab modifié fonctionne, redémarrez le client :
redémarrer
Après le redémarrage, vous devriez trouver les deux partages NFS dans les sorties de
df-h
[[email protected] ~]# df -h
Système de fichiers Taille Utilisé Disponible Utilisation % Monté sur
/dev/mapper/vg_server2-LogVol00
9,7 G 1,7 G 7,5 G 18 % /
tmpfs 499M 0 499M 0 % /dev/shm
/dev/sda1 504M 39M 440M 9 % /démarrage
192.168.0.100 :/home 9,7 G nt 19,7 G nt 19,7 G nt 19,7 G nt /nfs/home
192.168.0.100:/var/nfs
9.7G 1.7G 7.5G 19 % /mnt/nfs/var/nfs
[[email protected] ~]#et
monter[[email protected] ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts sur /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs sur /dev/shm type tmpfs (rw)
/ dev/sda1 sur /boot type ext4 (rw)
aucun sur /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc sur /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100 :/home sur /mnt/nfs/home type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100 :/var/nfs sur /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[email protected] ~]#
7 liens
- NFS Linux :http://nfs.sourceforge.net/
- Linux scientifique :https://www.scientificlinux.org/