Aller au contenu

Exercice 2 — Brancher le stockage partagé

Durée : ~20 min · En équipe · Théorie associée : Le cluster Proxmox et le stockage partagé

Objectif

Le cluster aria dispose d'un stockage NFS nommé nfs-aria, visible et utilisable depuis les trois nœuds.

Prérequis

  • L'exercice 1 terminé : le cluster aria a le quorum.
  • Le numéro de votre équipe, noté E.
  • L'adresse du serveur NFS de la salle, notée NFS_SERVEUR, donnée par l'enseignant. Le serveur prête à chaque équipe un dossier /export/equipe-E.

Étape 1 — Lister les exports du serveur NFS

Ouvrez le Shell du serveur 1.

Bash
showmount -e NFS_SERVEUR

La liste des exports contient /export/equipe-E

La liste contient le dossier de votre équipe, suivi du réseau autorisé à le monter. Si la commande échoue, le serveur NFS n'est pas joignable : inutile d'aller plus loin, avisez l'enseignant.

Étape 2 — Ajouter le stockage au cluster

Sélectionnez Datacenter, puis Storage, et cliquez sur Add > NFS.

Champ Valeur
ID nfs-aria
Server NFS_SERVEUR
Export /export/equipe-E
Content Disk image, Snippets
Nodes All (No restrictions)
Enable coché

La fenêtre Add NFS remplie, avec Disk image et Snippets sélectionnés dans Content

Cliquez sur Add.

Le champ Content dit ce que Proxmox a le droit de ranger sur ce stockage. Disk image accueillera les disques des VM. Snippets accueillera le fichier cloud-init qui installe Docker : il doit lui aussi être visible de tous les nœuds, sinon une VM refuserait de démarrer sur un nœud qui n'a pas le fichier.

Étape 3 — Voir le stockage sur les trois nœuds

Dépliez les trois nœuds dans l'arborescence.

Le stockage nfs-aria apparaît sous chacun des trois nœuds

nfs-aria apparaît sous chacun d'eux. Vous ne l'avez déclaré qu'une seule fois : la déclaration est écrite dans /etc/pve/storage.cfg, et chaque nœud a monté l'export de lui-même.

Étape 4 — Lire la déclaration du stockage

Dans le Shell de n'importe quel nœud :

Bash
cat /etc/pve/storage.cfg

Le fichier contient un bloc nfs: nfs-aria avec le serveur, l'export, le chemin et le contenu

Le bloc nfs: nfs-aria reprend les valeurs de l'étape 2, plus une ligne path /mnt/pve/nfs-aria : c'est l'endroit où chaque nœud monte l'export.

Étape 5 — Vérifier le montage sur le serveur 2

Ouvrez le Shell du serveur 2.

Bash
df -h /mnt/pve/nfs-aria

La colonne Filesystem affiche NFS_SERVEUR:/export/equipe-E

La colonne Filesystem ne désigne pas un disque du serveur, mais NFS_SERVEUR:/export/equipe-E. Ce qui est écrit dans ce dossier part sur le réseau, vers une autre machine.

Étape 6 — Écrire un fichier depuis le serveur 2

Bash
touch /mnt/pve/nfs-aria/ecrit-par-le-serveur-2

La commande ne renvoie rien. Le fichier vient d'être créé sur le serveur NFS, et non sur le serveur 2.

Étape 7 — Lire ce fichier depuis le serveur 3

Ouvrez le Shell du serveur 3.

Bash
ls /mnt/pve/nfs-aria

Le fichier ecrit-par-le-serveur-2 apparaît, à côté des dossiers images et snippets

Le fichier écrit par le serveur 2 est là. C'est exactement ce qui permettra à la VM d'un nœud de démarrer sur un autre : son disque sera dans ce dossier, lisible de partout.

Les dossiers images et snippets ont été créés par Proxmox, un par type de contenu coché à l'étape 2.

Étape 8 — Supprimer le fichier de test

Toujours sur le serveur 3 :

Bash
rm /mnt/pve/nfs-aria/ecrit-par-le-serveur-2

Étape 9 — Lire l'état des stockages

Bash
pvesm status

nfs-aria est de type nfs et active, avec sa taille et son espace libre

nfs-aria est de type nfs et son état est active. Comparez sa taille avec celle de local-lvm : ce ne sont pas les mêmes disques. Lancez la même commande sur le serveur 1 : nfs-aria affiche exactement la même taille et le même espace libre, alors que local-lvm change d'un nœud à l'autre.

La liste contient aussi vmdata, le stockage du second disque de chaque serveur. Il est local, lui aussi : comme local-lvm, sa taille change d'un nœud à l'autre.

Vérification finale

  • nfs-aria apparaît sous les trois nœuds dans l'arborescence
  • pvesm status affiche nfs-aria en état active sur les trois nœuds
  • Un fichier écrit depuis un nœud est visible depuis les deux autres
  • Le fichier de test a été supprimé

Question 1

pvesm status affiche un espace libre différent pour local-lvm sur chaque nœud, mais le même pour nfs-aria. Pourquoi ?

  • a) Parce que Proxmox fait la moyenne de l'espace des trois nœuds pour les stockages réseau.
  • b) Parce que chaque local-lvm désigne les disques de son propre nœud, alors que nfs-aria désigne le même dossier sur le même serveur NFS pour les trois.
  • c) Parce que local-lvm n'est pas encore synchronisé entre les nœuds.
Voir la réponse **b) Parce que chaque `local-lvm` désigne les disques de son propre nœud.** Les trois `local-lvm` portent le même nom, mais ce sont trois stockages distincts, chacun dans son serveur. `nfs-aria` est un seul et même stockage, que trois nœuds regardent en même temps. Le choix c) suppose qu'un stockage local finirait par se synchroniser. Il ne le fait jamais : rien ne recopie les disques d'un `local-lvm` vers les autres nœuds. C'est pourquoi une VM dont le disque est local ne peut pas redémarrer ailleurs.

En cas de problème

Symptôme Cause probable Correction
showmount répond RPC: Unable to receive ou ne répond pas Serveur NFS injoignable ping NFS_SERVEUR, puis aviser l'enseignant
Le menu Export de la fenêtre Add NFS reste vide Le serveur ne liste pas ses exports, ou l'adresse est fausse Vérifier l'adresse, puis taper /export/equipe-E à la main
nfs-aria apparaît avec un point d'interrogation sur un nœud Ce nœud n'a pas pu monter l'export pvesm status sur ce nœud, puis ping NFS_SERVEUR
touch répond Permission denied L'export n'autorise pas l'écriture de root Aviser l'enseignant : l'export doit être en no_root_squash