Nfs
De BlaxWiki
Révision datée du 2 septembre 2011 à 08:58 par 217.174.199.129 (discussion)
Serveur NFS Linux
- S'assurer que le kernel intègre bien le support NFS (.config) en dur tant qu'a faire :
CONFIG_NFS_FS=y CONFIG_NFS_V3=y # CONFIG_NFS_DIRECTIO is not set # CONFIG_ROOT_NFS is not set (à activer si l'on veut faire booter un serveur en pxe / nfs) CONFIG_NFSD=y CONFIG_NFSD_V3=y
- Editer le fichier /etc/exports et y ajouter les répertoires à monter ainsi que l'hote distant autorisé à effectuer le montage :
/var/www/vm localhost(ro) 212.43.248.153(ro) /etc localhost(ro) 212.43.248.153(ro) /var/lib/mysql localhost(ro) 212.43.248.153(ro) Faire un exportfs -a pour prendre en compte le /etc/exports
Sur le serveur, nfs & portmap doivent etre lancés.
Pour partager ou monter les systèmes de fichiers NFS, les services suivants fonctionnent de concert, selon la version de NFS qui est implémentée :
nfs — Un service qui lance les processus RPC appropriés pour répondre aux requêtes pour les systèmes de fichiers NFS partagés.
nfslock — Un service facultatif qui lance les processus RPC appropriés pour permettre aux clients NFS de verrouiller des fichiers sur le serveur.
portmap — Le service RPC pour Linux ; il répond aux requêtes pour des services RPC et définit des connexions vers le service RPC. Il n'est pas utilisé avec NFSv4.
Les processus RPC suivants facilitent les services NFS :
rpc.mountd — Ce processus reçoit la requête de montage en provenance d'un client NFS et vérifie que le système de fichiers demandé est bien exporté. Ce processus est démarré
automatiquement par le service nfs et ne nécessite pas de configuration au niveau de l'utilisateur. Ce processus n'est pas utilisé avec NFSv4.
rpc.nfsd — Ce processus est le serveur NFS. Il fonctionne avec le noyau Linux pour satisfaire les requêtes dynamiques des clients NFS, comme par exemple pour fournir des fils de
serveur (ou threads) chaque fois qu'un client NFS se connecte. Ce processus correspond au service nfs.
rpc.lockd — Un processus facultatif qui permet aux clients NFS de verrouiller des fichiers sur le serveur. Il correspond au service nfslock. Ce processus n'est pas utilisé avec
NFSv4.
rpc.statd — Ce processus implémente le protocole RPC de Moniteur de statut de réseau (NSM) (de l'anglais Network Status Monitor) qui avertit les clients NFS lorsqu'un serveur
est redémarré sans avoir été préalablement arrêté correctement. Ce processus est lancé automatiquement par le service nfslock et ne nécessite pas de configuration au niveau de
l'utilisateur. Ce processus n'est pas utilisé avec NFSv4.
rpc.rquotad — Ce processus fournit des informations sur les quotas utilisateur s'appliquant aux utilisateurs distants. Il est lancé automatiquement par le service nfs et ne
nécessite pas de configuration au niveau de l'utilisateur.
rpc.idmapd — Ce processus fournit au client et serveur NFSv4 des appels ascendants (aussi appelés upcalls) qui établissent la correspondance entre les noms NFSv4 (qui sont des
chaînes se présentant sous la forme utilisateur@domaine) et les UID et GID locaux. Pour que idmapd puisse fonctionner avec NFSv4, /etc/idmapd.conf doit être configuré. Ce service
est nécessaire pour une utilisation avec NFSv4.
rpc.svcgssd — Ce processus fournit le mécanisme de transport serveur pour le processus d'authentification (Kerberos Version 5) avec NFSv4. Ce service est nécessaire pour une
utilisation avec NFSv4.
rpc.gssd — Ce processus fournit le mécanisme de transport client pour le processus d'authentification (Kerberos Version 5) avec NFSv4. Ce service est nécessaire pour une
utilisation avec NFSv4.
Client Nfs
Si le client n'arrive pas à faire un mount nfs, essayer de faire un mount nfs en local sur le serveur nfs. Si le serveur n'y arrive pas non plus, rajouter dans le /etc/fstab du serveur nfs : rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0 nfsd /proc/fs/nfsd nfsd defaults 0 0
Options pour le montage nfs
* rw, monte le FS en lecture/écriture (doit donc être exporté en rw),
* ro, monte le FS en lecture seule,
* bg, si le montage ne fonctionne pas, cette option permet de faire des tentatives ultérieures en tâche de fond et de continuer à traiter les autres requêtes de montage,
* hard, si un serveur ne fonctionne pas, cette option permet de bloquer les accès à ce serveur jusqu’à ce qu’il fonctionne de nouveau (à utiliser avec modération),
* soft, si un serveur ne fonctionne pas, cette option permet d’envoyer une erreur en retour évite de bloquer des processus en attente de montage,
* noexec, ne pas permettre l’exécution des binaires,
* intr, permet aux utilisateurs d’interrompre les opérations bloquées,
* nointr, n’autorise pas les interruptions des utilisateurs,
* retrans=n, précise le nombre de tentatives à faire avant l’envoi d’une erreur,
* timeo=n, précise la période de timeout (en 1/10 e de secondes) pour les requêtes,
* rsize=n, précise la taille du tampon de lecture à n octets (pour UDP 8 Ko maximum est préférable - ne gère pas la congestion),
* wsize=n, précise la taille du tampon d’écriture à n octets (pour UDP 8 Ko maximum est préférable - ne gère pas la congestion).
remote_host:/repertoire_distant repertoire_local nfs rsize=1024,wsize=1024 0 0
Lorsque le client boot en pxe / nfs, si il bloque sur udev, modifier le fichier /tftpboot/nfsroot/centos5_26_x32/etc/sysconfig/network-scripts/net.hotplug avant : ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*) apres : eth*|ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*)
Sous freebsd, il faut editer le fichier /etc/rc.conf et rajouter : nfs_client_enable="YES" et nfs_reserved_port_only="YES"