NFS

De Diablotins.org.


Distribution de ressources réseau, le protocole de SUN
Image:brush.png
«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.




Sommaire

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

Outils personnels
Projets :