NFS

Un article de Diablotins.org.


Image:brush.png

Sommaire

Synopsis

«N.F.S.» (Network File System) est un protocole réseau défini pour «distribuer» des systèmes de fichiers, c'est à dire qu'il permet de partager des ressources sur un réseau.
Ce protocole, créé par Sun Microsystems, utilise la couche IP, UDP à l'origine mais il s'est étendu à TCP, pour se distribuer.Aussi, les clients doivent contacter «portmap» avant FreeBSD 5.x ou «rpcbind» depuis pour se connecter. Ces deux services dédient un autre service à une plage de ports IP.Ils doivent donc être en fonction avant N.F.S.

Lancement des services

Le serveur

Ajoutez ces entrĂ©es dans le fichier /etc/rc.conf :

  nfs_server_enable="YES"
  rpcbind_enable="YES " # pour FREEBSD 5.X
  portmap_enable="YES" # pour FREEBSD 4.X
  mountd_flags="-r"
  nfs_server_flags="-t -u -n 4"

Redémarrez le serveur pour prendre ceci en compte.

Pour les impatients

Pour les impatients qui ne dĂ©sirent pas redĂ©marrer le serveur pour activer NFS, relançons tous les services requis : - Avant FreeBSD 5.x, remplacez rpcbind par portmap. -

  # killall -9 rpcbind 
  # killall -9 nfsd
  # killall -9 mountd
  # rpcbind
  # nfsd -u -t -n 4
  # mountd -r

Configuration client

Ajoutez ces entrĂ©es dans le fichier /etc/rc.conf :

  nfs_client_enable="YES" 
  nfs_reserved_port_only="YES"

Afin de préserver la sécurité de la machine, NFS n'étant pas le plus sûr moyen de partager des fichiers, nous désactivons toutes les autres plages RPC, qui ne sont pas utilisées par NFS.

Distribution et partage

Définissons sur le serveur, ce qu'il doit distribuer, les points de montage à qui et comment. Cette configuration est décrite dans le fichier /etc/exports:

/data -maproot=root machine_client autre_client
  • /data est le rĂ©pertoire Ă  distribuer.
  • -maproot=root permet Ă  l'utilisateur root distant d'opĂ©rer en tant que root sur le rĂ©pertoire distribuĂ©.
  • machines_client est la dĂ©finition des clients autorisĂ©s Ă  monter ce rĂ©pertoire par leur nom, l'IP ou CIDR.

Utilisation par un client

Crééons un point de montage local, le répertoire «/mnt/nfs».

  # mkdir /mnt/nfs
  # ln -s /mnt/nfs// /data/
  # nfsiod -n 4
  # mount -t nfs server:/data /mnt/nfs/>nom_server<

Monter le partage au démarrage

Pour monter un répertoire distribué par un serveur au démarrage, il faut ajouter une entrée dans «/etc/fstab»:

  # vi /etc/fstab
  [...]
  <serveur>:/data /mnt/nfs/ nfs rw 0 0
  [...]

On peut alors monter le rĂ©pertoire via :

 # mount /mnt/nfs/

ou

  # mount -a

qui tentera de monter toutes les entrées de «/etc/fstab». Parcourez ce point de montage pour créer répertoires des fichiers.

Commandes utiles

  • pour voir la liste des exports d'un serveur NFS.
   # showmount -e server 
  • pour voir les binding RPC d'un serveur RPC/NFS.
   # rpcinfo  
  • cotĂ© serveur et client pour voir les statistiques d'Ă©change et d'appels distants NFS.
   # nfsstat

Documentation

Pour en savoir plus

Récupérée de « http://diablotins.org/index.php/NFS »
Projets :
Boîte à outils