Différences entre les versions de « Nfs »

De BlaxWiki
Aller à la navigationAller à la recherche
Ligne 60 : Ligne 60 :
=== Client Nfs ===
=== Client Nfs ===


Le service portmap (ou rpcbind sur les os récent) doit etre lancé et nfs-common avant le service netfs. Le service nfsd n'a aucune raison de tourner sur un client nfs. Le paquet nfs-utils doit être
Le service portmap (ou rpcbind sur les os récent) doit etre lancé et nfs-common avant le service netfs. Le service nfsd n'a aucune raison de tourner sur un client nfs. Le paquet nfs-utils doit être installé aussi. Sur certain os (genre centos 6.2), rpcbind n'est pas lancé directement, mais netfs qui est démarré le démarre (il n'y a plus portmap ou nfs-common).
installé aussi


<pre>
<pre>

Version du 22 juin 2012 à 16:16


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 (rpcbind sur les OS récent) 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

Le service portmap (ou rpcbind sur les os récent) doit etre lancé et nfs-common avant le service netfs. Le service nfsd n'a aucune raison de tourner sur un client nfs. Le paquet nfs-utils doit être installé aussi. Sur certain os (genre centos 6.2), rpcbind n'est pas lancé directement, mais netfs qui est démarré le démarre (il n'y a plus portmap ou nfs-common).

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"