Modifications entre les versions 7 et 8
Version 7 à la date du 2007-12-10 15:25:58
Taille: 2779
Éditeur: ThomasNoël
Commentaire: en majuscule parce que c'est mon bon plaisir
Version 8 à la date du 2007-12-10 15:46:13
Taille: 4101
Éditeur: ThomasNoël
Commentaire: un peu de gras
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
## page was renamed from nfs
== Expliquer le principe ==
Ligne 4: Ligne 2:
 * schéma général
 * les lacunes de nfs
 * pour l'utiliser quand même ?
= Principes =
Ligne 8: Ligne 4:
== Détails des deux/trois petits trucs à faire == 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 =
Ligne 12: Ligne 17:
=== Configuration côté serveur === == Configuration côté serveur ==
Ligne 14: Ligne 19:
 * (détailler les deux secondes de manip')  * Installation du logiciel serveur :
  {{{# aptitude install portmap 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 !
Ligne 16: Ligne 30:
=== Configuration côté client === A détailler :
  * différences entre `nfs-kernel-server`, `nfs-user-server` et `unfs3`.
  * quelques options de `exports`

== Configuration côté client ==
Ligne 20: Ligne 38:
Ligne 21: Ligne 40:
== Que faire lorsque "ça ne marche pas" ? == = Que faire lorsque "ça ne marche pas" ? =

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 portmap 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

  • (détailler les deux secondes de manip')
  • parler de automount. Pourquoi ce serait déraisonnable de refuser de l'utiliser

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