Page suivantePage pr�c�denteTable des mati�res

4. Installer un client NFS

Tout d'abord il faudra compiler un noyau avec le syst�me de fichiers NFS, soit compil� dans le noyau, soit disponible sous forme de module. Si vous n'avez encore jamais compil� un noyau vous aurez peut �tre besoin de consulter le HOWTO du noyau. Si vous utilisez une distribution tr�s cool (comme Chapeau Rouge) et que vous n'avez jamais trifouill� le noyau (pas toucher toucher) il y a des chances que NFS soit automagiquement disponible.

Vous pouvez maintenant, � l'invite (prompt) du root, entrer la commande mount appropri�e et le syst�me de fichiers appara�tra. Continuons avec l'exemple de la section pr�c�dente, nous voulons monter /mn/eris/local depuis eris. La commande est :


mount -o rsize=1024, wsize=1024 eris:/mn/eris/local /mnt

Nous reviendrons plus tard sur les options rsize et wsize. Le syst�me de fichiers est maintenant disponible sous /mnt et vous pouvez faire un cd sur lui, puis un ls et regarder les fichiers individuellement. Vous remarquerez que ce n'est pas aussi rapide qu'avec un syst�me de fichiers local, mais beaucoup plus pratique que ftp. Si, au lieu de monter le syst�me de fichiers, mount renvoie un message d'erreur comme mount: eris:/mn/eris/local failed, reason given by server: Permission denied alors le fichier exports est incorrect, ou vous avez oubli� de lancer exportfs apr�s avoir modifi� le fichier exports. S'il dit mount: clntudp_ipdate: RPC: Program not registered cela signifie que nfsd ou mountd ne tourne pas sur le serveur, ou que vous avez le probl�me avec les fichiers hosts.{allow,deny} mentionn� plus haut.

Pour vous d�barrasser du syst�me de fichiers, vous pouvez faire :


umount /mnt

Pour que le syst�me monte automatiquement un syst�me de fichiers NFS au d�marrage, �ditez /etc/fstab de la fa�on habituelle. Par exemple avec une ligne comme celle-ci :


# device       mountpoint    fs-type    options           dumps  sfckorder
...
eris:/mn/eris/local   /mnt   nfs     rsize=1024,wsize=1024   0   0
...

C'est presque tout ce qu'il y a � savoir. Vous pouvez jeter un coup d'oeil � la page de manuel nfs. Continuons plize.

4.1 Options de montage

Il y a trois comportements principaux des clients NFS en cas de chute du serveur qui sont sp�cifi�s par les options de montage :

soft

Le client NFS renverra une erreur au processus concern� si apr�s quelques essais le serveur NFS persiste � ne pas r�pondre. Si vous voulez utiliser cette option, vous devez v�rifier que votre logiciel la g�re correctement. Je ne recommande pas ce r�glage, c'est un bon moyen de perdre des donn�es et corrompre des fichiers. En particulier, n'utilisez pas �a pour les disques o� sont stock�s vos mails (si vous tenez � vos mails).

hard

Le client NFS r�essaiera infiniment jusqu'� ce qu'il soit tu�. Les op�rations reprendront normalement si le serveur NFS se r�tablit ou red�marre. Le client ne pourra pas �tre interrompu ou tu�.

hard,intr

Comme hard, mais Ctrl-C tuera le processus bloqu�. Dans quelques cas, notament un disque /usr/spool/mail mont� par NFS cela ne changera rien car le shell ignore le Ctrl-C quand il teste si vous avez du mail. Je recommande cette option pour tous les syst�mes de fichiers NFS, y compris le spool du mail.

Reprenons l'exemple pr�c�dent, votre entr�e fstab est maintenant :


# device       mountpoint   fs-type    options            dumps  sfckorder
...
eris:/mn/eris/local   /mnt  nfs   rsize=1024,wsize=1024,hard,intr 0   0
...

4.2 Optimisation de NFS

Normalement, si les options rsize et wsize ne sont pas pr�cis�es, NFS �crira et lira par blocs de 4096 ou 8192 octets. Mais certaines combinaisons de noyau Linux et cartes r�seau ne peuvent pas fonctionner avec ces valeurs, de plus, m�me si cela marche, cela peut ne pas �tre optimal du tout. Il nous faudra donc exp�rimenter et trouver les valeurs de rsize et wsize qui fonctionnent et donnent les transferts les plus rapides. Vous pouvez tester la vitesse obtenue avec diff�rentes valeurs des options avec des commandes simples. La commande mount ci-dessus ayant �t� ex�cut�e, si vous avez l'acc�s en �criture sur le disque vous pouvez tester les performances en �criture s�quentielle :


time dd if=/dev/zero of=/mnt/testfile bs=16k count=4096

Ceci cr�e un fichier de 64 Mo ne contenant que des 0. Faites le quelques (5-10?) fois et prenez la moyenne des temps. C'est le temps `elapsed' ou `wall clock' qui est le plus int�ressant. Ensuite vous pouvez tester les performances en lecture en relisant le fichier :


time dd if=/mnt/testfile of=/dev/null bs=16k

faites le quelques fois et prenez la moyenne. Puis d�montez (umount) et remontez (mount) avec des valeurs plus grandes pour rsize et wsize. Il vaut mieux prendre des multiples de 1024, et probablement pas plus grand que 16384 octets, car les gros blocs ralentissent les acc�s al�atoires. Imm�diatement apr�s avoir remount� avec une taille sup�rieure, placez vous (cd) dans le syst�me de fichiers et faites des trucs comme ls, explorez un peu pour v�rifier que tout est bien normal. Si la valeur de rsize/wsize est trop grande, les sympt�mes sont vraiment bizarres et pas �vidents. Un sympt�me typique est une liste de fichiers donn�e par ls incompl�te sans aucun message d'erreur. Ou la lecture de fichier qui �choue myst�rieusement et sans message d'erreur. Apr�s vous �tre assur�s que les wsize/rsize choisis fonctionnent, vous pouvez faire les tests de rapidit�. Diff�rentes plateformes de serveur auront peut-�tre des tailles optimales diff�rentes. SunOS et Solaris sont r�put�s pour �tre beaucoup plus rapides avec une taille de 4096 octets.

Les noyaux Linux r�cents (depuis 1.3) font parfois des lectures anticip�es (read ahead) pour des rsizes sup�rieurs ou �gaux � la taille de page de la machine. Sur les processeurs Untel la taille de la page est de 4096 octets. La lecture anticip�e augmentera sensiblement les performances en lecture. Sur une machine Untel on devrait donc choisir un rsize de 4096 si c'est possible.

Un truc pour augmenter les performances d'�criture de NFS est d'invalider les �critures synchrones sur le serveur. Les sp�cifications de NFS disent que les requ�tes d'�criture de NFS ne doivent pas �tre consid�r�es comme termin�es avant que les donn�es ne soient sur un m�dium non versatile (normalement le disque). Ceci r�duit les performances � l'�criture, les �critures asynchrones sont plus rapides. Le nfsd Linux ne fait pas d'�critures synchrones car l'impl�mentation du syst�me de fichiers ne s'y pr�te pas, mais sur les serveurs non Linux vous pouvez augmenter les performances de cette fa�on dans votre fichier exports :


/dir    -async, access=linuxbox

ou quelque chose du genre. R�f�rez vous � la page de manuel exports de la machine concern�e. Notez que ceci augmente les risques de perte de donn�es.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:37