Modifications entre les versions 9 et 10
Version 9 à la date du 2007-12-10 15:46:46
Taille: 4091
Éditeur: ThomasNoël
Commentaire: portmap est dans les dépendances
Version 10 à la date du 2007-12-10 16:03:43
Taille: 6300
Éditeur: ThomasNoël
Commentaire: bon là j'ai donné tout ce que j'avais, j'ai mal au dos
Texte supprimé. Texte ajouté.
Ligne 35: Ligne 35:
 * (détailler les deux secondes de manip')
 * parler de automount. Pourquoi ce serait déraisonnable de refuser de l'utiliser
 * Sur Ubuntu, à partir de la version Gutsy (7.10) il faut installer le paquet `nfs-common` (qui n'est plus installé par défaut)
Ligne 38: Ligne 37:
  === Montage "à la main" ===

  {{{
# mount serveur:/repertoire /point/de/montage
}}}

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.

'''A détailler : options... rsize et ses amis'''

=== Montage depuis le fstab ===

Si on veut rendre un montage NFS permanent, on peut l'indiquer dans le fichier `/etc/fstab` :
  {{{
# (... extrait de /etc/fstab ...)
# <file system> <mount point> <type> <options> <dump> <pass>
serveur:/home /point/de/mnt nfs rw,intr,rsize=8192,wsize=8192,proto=tcp 0 0
}}}

=== Montage par automount (pourquoi et comment) ===

Si on fait un montage permanent via fstab, cela donne quelques inconvénients :
 * le montage est fait systématiquement, même quand le répertoire n'est pas utilisé : gaspillage de ressources
 * si le serveur NFS doit être redémarré entre temps, le client ne parviendra plus à refaire le montage correctement (ou disons plutôt que ça marchera très mal, Jérôme précisera car là moi je bon)

On préfére donc 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 :
  {{{# 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
}}}

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 !

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).

Reste à écrire :

  • schéma technique général, démons et modules mis en jeu
  • les lacunes de nfs : sécurité et performances
  • Pour l'utiliser quand même ? Parce que ça marche et que c'est facile à mettre en oeuvre. On dira que c'est efficace.

Mise en place

  • surtout, rajouter des liens vers des vraies docs

Configuration côté serveur

  • Installation du logiciel serveur :
    • {{{# aptitude install nfs-kernel-server

}}}

  • Configuration : on déclare ce qu'on veut exporter dans le fichier /etc/exports. Ce fichier sert de liste de contrôle d’accès pour les systèmes de fichiers à partager avec les clients NFS. Un exemple :

    • # extrait de /etc/exports. Faire un "man 5 exports" pour avoir le détail de la syntaxe
      /home   192.168.0.0/16(rw,async,no_subtree_check) 10.196.0.0/20(rw,async,no_root_squash,no_subtree_check)
      /home2  192.168.0.0/16(rw,async,no_subtree_check) 10.196.0.0/20(rw,async,no_root_squash,no_subtree_check)
  • C'est tout !

A détailler :

  • différences entre nfs-kernel-server, nfs-user-server et unfs3.

  • quelques options de exports

Configuration côté client

  • Sur Ubuntu, à partir de la version Gutsy (7.10) il faut installer le paquet nfs-common (qui n'est plus installé par défaut)

Montage "à la main"

  • # mount serveur:/repertoire /point/de/montage

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.

A détailler : options... rsize et ses amis

Montage depuis le fstab

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

  • # (... extrait de /etc/fstab ...)
    # <file system> <mount point>   <type>  <options>                                <dump>  <pass>
    serveur:/home   /point/de/mnt   nfs     rw,intr,rsize=8192,wsize=8192,proto=tcp  0       0

Montage par automount (pourquoi et comment)

Si on fait un montage permanent via fstab, cela donne quelques inconvénients :

  • le montage est fait systématiquement, même quand le répertoire n'est pas utilisé : gaspillage de ressources
  • si le serveur NFS doit être redémarré entre temps, le client ne parviendra plus à refaire le montage correctement (ou disons plutôt que ça marchera très mal, Jérôme précisera car là moi je bon)

On préfére donc 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 :
    • {{{# aptitude install autofs

}}}

  1. 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 }}}

  1. 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 }}}

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 !

Que faire lorsque "ça ne marche pas" ?

Vérifications à faire côté client

  • [:VérifierSiUnProcessusExiste:automount est-il bien actif] (et je ne vous parle pas si vous n'utilisez par automount dans votre CNF)

  • cohérence entre le fichier /etc/auto.master et les fichiers de table (/etc/auto.nfs pour les postes configurés avec le PaquetAufDesktop.

  • Que donne l'accés direct au répertoire en automount en ligne de commande ? Par exemple : cd /nfs/home

  • Vérifier, si le repertoire apparait, qu'il posséde bien les droits et propriétaires attendus : ls -lsd /nfs/home (-d pour voir le répertoire lui-même, et non son contenu)

  • vérifier que les uid/gid côté client et serveur sont bien synchrone (id mauvais.gringo doit donner le même résultat sur le client nfs et sur le serveur)

  • Si on essaye de monter la partition "à la main", quels sont les messages d'erreur ?

# mount -t nfs le-serveur-nfs:/home /mnt
mount to NFS server 'le-serveur-nfs' failed: server is down.
  • les logs ? /var/log/messages, /var/log/daemon.log

/var/log/messages:Nov 23 09:31:23 poste-client kernel: nfs: server 111.222.111.222 not responding, still trying
/var/log/messages:Nov 23 09:39:09 poste-client kernel: nfs: server 111.222.111.222 OK
  • le serveur est-il bien accessible via le portmapper ?

~# rpcinfo -p un-serveur-pas-nfs 
rpcinfo: ne peut contacter l'aiguilleur de ports: RPC: erreur système sur l'hôte cible - Connexion refusée
~# rpcinfo -p un-vrai-serveur-nfs
   program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    2   udp   2049  nfs
...
  • Vérifier les exports, vus du côté client :

# showmount -e un-serveur-nfs
Export list for nfs:
/home           10.196.0.0/20,192.168.0.0/16
/home2          10.196.0.0/20,192.168.0.0/16
/srv/nfs/ubuntu 10.196.1.0/24,192.168.0.0/16

Vérifications à faire côté serveur

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

NFS (dernière édition le 2011-02-07 18:28:35 par JeanChristopheAndré)