Principes

NFS (Network File System) est comme son nom l'indique un système de fichier par réseau. Il vous permet d'avoir accès à un répertoire d'une machine distante (le serveur NFS) de façon tout à fait transparente, via un simple répertoire de votre machine (le client NFS).

Par exemple il est possible de faire en sorte que le répertoire /home d'une machine soit en fait une vue du répertoire /home d'un serveur (là où sont vraiment les données, sur le disque dur du serveur).

NFS est d'abord utilisé sur les postes clients fixes. Si vous désirez mettre en place un accès aux données serveur pour un ordinateur portable, rendez-vous sur SSHFS.

Quelques documents génériques pour tout comprendre :

Reste à écrire :

Mise en place

Sinon, voici ci-dessous la recette de cuisine à la mode AUF.

Configuration côté serveur

Pour mieux comprendre les options que nous avons indiquées, lire la page man exports

/!\ Attention à l'option no_root_squash : elle n'est pas vraiment recommandée car elle pose des petits problèmes de sécurité, mais il faut l'activer pour que l'impression PDF fonctionne avec cups-pdf sur les postes clients. Il n'existe pas d'autre solution actuellement (14 juillet 2009).

A détailler :

Configuration côté client

Montage "à la main", pour un test rapide

Le montage sera effectif tant que la partition n'aura pas été démontée (umount /point/de/montage) ou que la machine n'aura pas été redémarrée. Ca n'a pas vraiment d'utilité, sauf pour tester bien entendu. Et notamment tester les options de montage NFS dont vous pouvez voir les détails avec man nfs.

Montage par auto-monteur (autofs)

On préfére utiliser un auto-monteur : il va monter les partitions à la demande, et les démontera quand elles ne seront plus utilisées.

  1. On installe l'automonteur :
    $ sudo aptitude install autofs
  2. On indique qu'on veut que /nfs soit un point d'automontage, et que sa configuration sera dans
    # Extrait du fichier /etc/auto.master
    # /nfs sera un répertoire géré par autofs (il faut faire un mkdir /nfs)
    # ce répertoire /nfs a sa configuration dans /etc/auto.nfs
    # démontages après une heure de non-utilisation.
    /nfs    /etc/auto.nfs --timeout=3600
  3. Configuration des sous-répertoires de /nfs :

    # Fichier /etc/auto.nfs
    repertoire1   -fstype=nfs,intr,rsize=8192,wsize=8192,proto=tcp        serveur1:/repertoire1
    repertoire2   -fstype=nfs,intr,rsize=8192,wsize=8192,proto=udp        serveur2:/un/autre/repertoire2
  4. Relancer le service autofs :

    $ sudo invoke-rc.d autofs restart

Et c'est tout ! A partir de ce moment, /nfs/repertoire1 et /nfs/repertoire2 seront montés sur demande, et démontés au bout d'une heure de non-utilisation. Très pratique et très propre !

Montage depuis le fstab (non recommandé)

Avec /etc/fstab le montrage sera permanent. De GROS inconvénients :

Si on veut rendre un montage NFS permanent, on peut l'indiquer dans le fichier /etc/fstab :

Mais franchement, pourquoi se priver d'un auto-monteur ?

Que faire lorsque "ça ne marche pas" ?

Vérifications à faire côté client

Vérifications à faire côté serveur

(à finir demain, je fatigue un peu, là...)

Annexe : passage par des règles iptables, fixation des ports de communication

Voilà, vous avez votre serveur NFS qui fonctionne. Cependant, vous avez des règles iptables sur le chemin, ou quelque part sur votre réseau, et NFS utilise des ports dynamiques pour dialoguer. Aïe ! Pour fixer les ports utilisés par NFS, il est possible de le configurer ainsi :

De plus vous avez toujours portmap en communication sur le port 111 et le démon nfsd sur le port 2049 par défaut.

Il reste à créer ce fichier:

Enfin vous n'avez plus qu'à écrire vos règles iptables en autorisant le passage sur les port 111, 2049 et 32765:32769 en tcp et udp.