NFS

De PiX Wiki
Aller à : Navigation, rechercher

Description

NFS est un moyen de partager une arborescence d'un côté (serveur) et d'y accéder, par le réseau, via un ou plusieurs clients en lecture et écriture.

NFS = Network File System


Tutoriels

Installation

Client

Gentoo

  • configurer le kernel
  • compiler avec le use flag "nfs" ...
  • installer "nfs-utils"
  • démarrer le rpcbind suivants :


Voilà, c'est prêt :)


Ubuntu

Avant, le mount, il faut installer ce paquet :

apt-get install nfs-common

C'est prêt :)

Serveur

Red Hat

  • démarrage du serveur NFS :
[3][root@serveur ~]$ /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]


Monter un partage NFS

Voir mount ...


Configuration

les fichier de configuration

Red Hat

La configuration du démon NFS : /etc/sysconfig/nfs

La configuration des exports : /etc/exports


augmenter le nombre de thread

Dans le fichier de configuration :

RPCNFSDCOUNT=128

... on le passe à 128, pour de meilleures performances pour VMware ;-)


exporter les répertoires partagés

Exemple :

/nfs_backup <network>/255.255.0.0(rw,async,no_subtree_check,no_root_squash)
/mnt/data1/nfs/ <network>/255.255.0.0(rw,async,no_subtree_check,no_root_squash)


Problèmes connus

Dès que je lance une copie, tout le PC se bloque aléatoirement

Voici ce que j'ai constaté avec mon NAS Synology et le montage d'un export NFS :

  • tout va bien après le mount
  • par contre, une copie (sur un réseau 100Mbits) pose de gros souci à mon PC sous Gentoo
  • les applications, quelle qu'elles soient, bloque sans raison (c'est une horreur et ça rend fou)
  • en gros, toutes les 2 minutes, je peux observer un blocage de l'application que j'utilisais pendant 1 ou 2 minutes ... super quoi


Mais, c'est quoi ce bordel !!!! ??? Et bien, ce n'est PAS lié aux partages NFS XD ... sisi, je vous le jure ... Le problème est lié au THP (Transparent Huge Page) : c'est donc un problème de gestion de mémoire qui est apparu un peu avant le kernel 3.0 ... Ce problème, c'est le fait que une device "lente" (NFS n'est pas vraiment rapide comparé à un SSD ...) va utiliser beaucoup de mémoire vive (il va utiliser le maximum, par défaut ... mais ça dépend des distributions ; avec Gentoo, c'est à moi de configurer cela) et, à cause de cela, il bloque les autres applications qui nécessite des pages mémoire "géante" ... du coup, les applications se mettent à bloquer les unes après les autres.

Pour éviter ce problème (ceci est un workaround, pas une réel fix durable même si cela fonctionne très bien), il faut recompiler le kernel avec ce paramètre :

 .config - Linux/x86_64 3.0.6-gentoo Kernel Configuration                                                             
 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 
  ┌─────────────────────────────────────────────────── madvise ───────────────────────────────────────────────────┐   
  │ CONFIG_TRANSPARENT_HUGEPAGE_MADVISE:                                                                          │   
  │                                                                                                               │   
  │ Enabling Transparent Hugepage madvise, will only provide a                                                    │   
  │ performance improvement benefit to the applications using                                                     │   
  │ madvise(MADV_HUGEPAGE) but it won't risk to increase the                                                      │   
  │ memory footprint of applications without a guaranteed                                                         │   
  │ benefit.                                                                                                      │   
  │ Symbol: TRANSPARENT_HUGEPAGE_MADVISE [=y]                                                                     │   
  │ Type  : boolean                                                                                               │   
  │ Prompt: madvise                                                                                               │   
  │   Defined at mm/Kconfig:333                                                                                   │   
  │   Depends on: <choice>                                                                                        │   
  │   Location:                                                                                                   │   
  │     -> Processor type and features                                                                            │   
  │       -> Transparent Hugepage Support (TRANSPARENT_HUGEPAGE [=y])                                             │   
  │         -> Transparent Hugepage Support sysfs defaults (<choice> [=y])

En configurer sur "madvise" le "Transparent Hugepage Support sysfs", on évite de remplir la mémoire avec les crasses que l'on copie sur un périphérique lent et, de ce fait, on évite le blocage des applications.

Maintenant, je n'ai plus vraiment de problème de blocage :-)


Liens

NFS/Client sur Wiki Gentoo

Chapter 18. Network File System (NFS)

18.6. NFS Server Configuration


Voir aussi