Gentoo : Installer un serveur NFS

nfs



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 : 192.168.21.200
IP du client : 192.168.21.190


Installation



Prérequis Noyau



Dans un premier temps, vérifier que NFS est activé dans le kernel :

Code BASH :
ile systems --->
  [*] Inotify support for userspace
  [*] Network File Systems --->
        <*>   NFS client support
        <*>     NFS client support for NFS version 3
        <*>     NFS client support for NFS version 4
        [*]   NFS client support for NFSv4.1
        <*>   NFS server support
        [*]     NFS server support for NFS version 3
        [*]     NFS server support for NFS version 4
        [*]       NFSv4.1 server support for Parallel NFS (pNFS)


Installer NFS



L'installation se fait via net-fs/nfs-utils. Cela contient le serveur et les outils client :

Code BASH :
emerge -a net-fs/nfs-utils


Une fois installé, on démarre le service :

Code BASH :
/etc/init.d/nfs start


Et on active le service nfs au démarrage :

Code BASH :
rc-update add nfs default



Configuration



La configuration des partages sur le serveur se fait dans le fichier /etc/exports.

Plus d'informations dans cet article dédié : https://www.linuxtricks.fr/wiki/nfs-parametrer-les-partages-avec-le-fichier-exports


Partie client



Pour la partie cliente, on installe aussi les paquets adéquats :

Code BASH :
emerge -a net-fs/nfs-utils


Et pour monter le partage, rien de plus simple :

Code BASH :
mount -t nfs4 192.168.21.200:/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
192.168.21.200:/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 (option nofail utile dans ce cas, mais montage à réaliser manuellement) :

Code BASH :
192.168.21.200:/media/partage   /media/nfs   nfs      auto,_netdev,,nofail 0 0


Quelques options de montage utiles



Au travail, j'utilise un partage NFS pour étendre du stockage pour un coût peu élevé.
Mais le système se comporte bizarrement lorsque le partage NFS est indisponible (reboot du NAS, perte temporaire de réseau).

Pour cela, on peut monter le partage NFS avec les options soft, retrans et timeo. Je choisis 2 retransmissions en cas d'échec et 5 dixièmes de secondes (500 ms) de timeout (le NAS et le serveur sont dans le même sous-réseau, sur le même switch)

Code BASH :
mount -t nfs4 192.168.21.200:/media/partage /media/nfs -o soft,retrans=2,timeo=5


Ou dans /etc/fstab :

Code BASH :
192.168.21.200:/media/partage   /media/nfs   nfs      auto,_netdev,nofail,soft,retrans=2,timeo=5 0 0



:magic: