Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Création d’un montage NFS

De AJLSM
Aller à la navigation Aller à la recherche

Scénario :

On souhaite :

  1. créer un répertoire partagé sur l’hôte,
  2. créer un accès FTP pour donner l’accès au contenu de ce répertoire à un tiers (client ou prestataire). Ce tiers n'a pas accès au serveur client en SSH. Il peut uniquement intervenir sur le contenu du répertoire.
  3. monter ce partage en NFS sur le serveur client dans un répertoire spécifique.
  4. Option : créer un lien symbolique du contenu du montage sur le serveur client. Utile lorsque l'on donne accès à du code à modifier à un tiers sans lui donner accès au serveur client en SSH. Les modifications du contenu du répertoire sont répercutées dans le répertoire correspondant, sur le serveur client.

Dans l’exemple suivant :

  • l’hôte est le serveur de données « eole2.ajlsm.com »,
  • le répertoire à partager est « /var/data/module-pleade-data/ »,
  • l'utilisateur FTP est « module-pleade:pleade »,
  • le client NFS est le serveur de recette « mercure »
  • le montage doit être réalisé dans « /recette/msh-dijon/drupal/internet/web/modules/custom ».

Création du répertoire de partage sur l’hôte

Sur l’hôte (eole2.ajlsm.com), avec l’utilisateur root, créer le répertoire de partage :

$ mkdir /var/data/module-pleade-data

Attribuer les droits au répertoire :

$ chown -R module-pleade:pleade /var/data/module-pleade-data

Création de l’utilisateur FTP

Dans webmin, créer l’utilisateur module-pleade du groupe pleade, qui pointe sur /var/data/module-pleade-data en suivant la doc : http://mw.ajlsm.com/wiki/Cr%C3%A9er_compte_FTP_sur_eole

Valider avec un test de connexion depuis un client FTP. Par exemple : Filezilla.

Configuration des exportations NFS sur le serveur hôte

Sur l’hôte (eole2.ajlsm.com), et dans /etc/exports, ajouter :

$ vim /etc/exports

Ajouter la ligne suivante :

# module-pleade-data
/var/data/module-pleade-data      192.168.123.3(no_subtree_check,sync,rw)

Lancer le service NFS

$ /etc/init.d/nfs-kernel-server start

Réglage du pare-feu sur l’hôte

Vérifier l’état du pare-feu

$ sudo ufw status

Dans l’exemple suivi pour ce tuto, le réglage du pare-feu de l’hôte (eole2.ajlsm.com) est déjà créé.

Anywhere                   ALLOW       192.168.123.0/24

Sinon, ouvrir le port pour NFS comme suit :

$ sudo ufw allow from client_ip to any port nfs

Puis vérifier qu’il est bien pris en compte :

$ sudo ufw status

Dans la sortie de ufw status, l’IP du « client » doit apparaître avec un port ouvert.

Création de points de montage et de répertoires de montage sur le client

Sur le client (Mercure), créer le répertoire du point de montage :

$ sudo mkdir -p /var/data/module-pleade-data

Ensuite, monter le répertoire de l’hôte sur le client :

sudo mount 192.168.123.101:/var/data/module-pleade-data /var/data/module-pleade-data

Vérifier le montage :

$ df -h

192.168.123.101 est l'IP locale de eole2.ajlsm.com

[...]
tmpfs                                         3,5G     0  3,5G   0% /run/user/1000
tmpfs                                         100K     0  100K   0% /var/lib/lxd/shmounts
tmpfs                                         100K     0  100K   0% /var/lib/lxd/devlxd
192.168.123.101:/var/data/module-pleade-data   66T   16T   47T  25% /var/data/module-pleade-data

Création de l’accès direct au contenu du répertoire partagé

On souhaite partager uniquement le contenu du répertoire de montage.

C'est utile lors d'une intervention externe sur le code et sans accès SSH au client.

Les modifications sont directement reportées sur le client, grâce au lien symbolique.

Pour cela, on crée un lien symbolique depuis répertoire vide du client vers le montage NFS de l'hôte.

Depuis /recette/msh-dijon/drupal/internet/web/modules/custom

$ ln -s /var/data/module-pleade-data/pleade

Depuis le client (mercure), le test suivant doit afficher le contenu du répertoire :

$ ls -l /var/data/module-pleade-data/pleade

Montage des répertoires NFS à distance au démarrage

Pour monter automatiquement les partages NFS lors du démarrage du serveur client, modifier le fichier /etc/fstab

$ sudo vim /etc/fstab

Ajouter la ligne suivante :

$ 192.168.123.101:/var/data/module-pleade-data    /var/data/module-pleade-data    nfs    rw,soft,intr     0        0

L’IP locale de l’hôtel eole2.ajlsm.com est 192.168.123.101