L’aventure Raspberry PI – intermède 9 – Configuration d’un point de montage NFS

NFS (pour Network File System) est un protocole permettant à un ordinateur client d’accéder à des fichiers à travers le réseau comme s’il était branché en local.

Côté seveur

Installation

Avant tout, il faut installer le package nfs-utils . C’est lui qui contient tous les outils, le serveur et les utilitaires.

Configuration

La première étape est de configurer le nom de domaine dans /etc/idmapd.conf en modifiant la ligne pour qu’elle devienne :

Puis on crée le dossier de base du serveur nfs

Tu peux éventuellement monter dedans un disque dur externe si tu le souhaites (ce que j’ai fait moi !),  dans ce cas, rajoute dans le  /etc/fstab  une ligne du type :

puis monte là pour la session courante (elle sera ensuite montée automatiquement les prochaines fois).

J’ai décidé de partager tout de suite le répertoire /srv/http en nfs, j’ajoute aussi à mon  /etc/fstab  de mon serveur NFS la ligne ci-dessous puis je monte le système de fichier de la même façon :

Ensuite il faut créer un fichier  /etc/exports  qui contient l’adresse du montage et qui a le droit d’y accéder.

Comme indiqué, l’option  no_all_squash  permet à un utilisateur d’écrire des fichiers lui appartenant. Il faudra faire attention à ce que les uid et gid des différentes machines soient alignés. Si nécessaire recréer des utilisateurs. A noter que si les machines ont été clonées comme c’est le cas pour moi, tu n’as pas à t’inquiéter, les utilisateurs ont le même identifiant uid et les groupes gid.

Pour d’autres cas d’usage que les Raspberry Pi, il pourra être important de s’arrêter sur cette histoire d’utilisateurs.

Une fois le fichier exports adapté, on demande à l’utilitaire de générer les points de montage :

 Démarrage du serveur

On autorise les outils à se lancer au démarrage et on les démarre pour la session courante :

Côté client

Installation

De même, il faut installer le package nfs-utils . C’est lui qui contient tous les outils, le serveur et les utilitaires.

Puis on lance et autorise le service rpc-gssd. Sans lui, on aurait un délai à la connexion et des messages d’erreurs sur l’authentification dans les log.

 Configuration

Tu peux voir la liste des points de montage autorisés par un simple :

Le mieux est de monter le système de fichier sous /mnt/nfs4 , on crée donc le répertoire :

Puis on teste :

si le fichier test est bien créé sans erreur et visible depuis le serveur, alors tout fonctionne, on peut configurer le fichier /etc/fstab en y ajoutant la ligne suivante :

Ce point de montage ne se montera pas automatiquement au démarrage. Il faudra le monter manuellement. C’est un truc que j’ai du mettre en place pour éviter que le démarrage plante si le serveur nfs4 n’est pas en marche.

J’ajoute aussi la ligne suivante pour utiliser le /srv/http de mon serveur :

 Petit script pour monter automatiquement les points de montage en noauto du /etc/fstab

Ce script, basé sur le même principe que celui d’hier permet de monter automatiquement tous les points de montages de /etc/fstab qui ne sont pas montés au moment où il se lance. Il faut donc l’utiliser avec précaution ! Je sais il est paradoxal de monter automatiquement des points de montage en noauto, je rappelle que le noauto sert juste à éviter un échec du démarrage. Sur mon usage des Raspberry Pi, c’est donc adapté !

C’est un script python, donc il vaut mieux vérifier que python est installé sous peine d’inutilité :

Le script suivant est à enregistrer sous /usr/bin/verif_mount.py

Pour le rendre exécutable :

J’ai configuré cron pour le lancer toutes les 5 minutes. C’est un peu gaché, mais je n’avais pas de solution pour le lancer uniquement un certain temps après le démarrage. D’un autre côté ce script est tout léger.

Et j’ai ajouté la ligne suivante :

Si jamais tu n’as jamais encore activé cron sur cette machine, il faut le faire :

Voilà un serveur NFS prêt à partager entre les raspberry le répertoire /srv/http ! Tu ne vois pas encore forcément pourquoi j’ai fait ça, mais tu comprendras vite, je t’expliquerai demain.

the cloud

Par xkcd.com Permanent link to this comic: http://xkcd.com/908/
This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License.

Florck

Je suis Ingénieur en Technologies de l'Information, consultant en systèmes (GNU/Linux) et bases de données (Oracle). En recherche de contrôle sur mes informations personnelles : "La route est longue mais la voie est libre !"

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *