Mise en place d'un stockage partagé
Création — Nicolas THOREZ 2022/11/12 11:21
Ceph
Un espace de stockage partagé permet au sein d'un cluster de disposer des ressources disque de chaque VMs présentes sur cet espace sur tous les éléments du cluster. Les ressources disques étant les éléments les plus lourds sur un VM, ce sont elles qui mettent le plus de temps à ce déplacer. En partageant l'espace de stockage, ces ressources n'ont plus besoin de se déplacer, juste de se synchroniser sur chaque espace. Ainsi, le déplacement d'une VM consiste alors à synchroniser les données depuis la dernière synchronisation (très peu de données en faites vu que la synchronisation par défaut et quasi instantanée) et déplacer la partie calcul. Le déplacement ne prend à ce moment là plus que quelques secondes au lieu de plusieurs minutes avant avec le déplacement des disques. Bien sûr, cela dépends énormément des ressources et des capacités de l'infrastructure.
En définitive, la mise en place d'un espace partagé contribue à la mise en place d'une haute disponibilité des services, pour les besoins de la production ou d'un PCA/PRA.
Sur Proxmox, la solution utilisée est Ceph.
Prérequis
Même si ça paraît évident, Ceph n'est utile que sur un cluster PVE. Afin de pouvoir établir un quorum, il est nécessaire d'avoir au moins 3 nœuds dans le cluster. Si il y en a plus, l'idéal et d'en avoir un nombre impair afin que le quorum puisse dégager une majorité claire lors de chaque élection.
Pour assurer une meilleure qualité de la synchronisation et éviter de perturber les autres flux, il est préférable de définir un réseau spécifique pour cela. Cela dépend bien sûr des ressources disponibles.
Mise en place
- On commence donc par installer
Cephsur chaque nœud. Pour cela et pour chaque serveur, on va sur l'ongletCephet on clique surInstaller Ceph:

- Rien de particulier sur la fenêtre qui s'ouvre, on clique juste sur
Start pacific installation:

- L'installation passe par
apt, il nous faut donc valider la demande sur la console :

Déconnexion
Lors de l'installation deCeph, le réseau peut se réinitialiser, entraînant une déconnexion de l'interface web. N'hésitez pas à vous reconnecter.- Une fois l'installation terminée, on clique sur
Suivant:

Autres nœud
Pour les autres nœud, la page suivante indiqueConfiguration already initialized. On passe donc directement à la suite.- Ici, nous allons indiquer :
- l'adresse de contact du cluster
Ceph - l'adresse du réseau des VMs
- le nombre de réplique au sein du cluster
- le nombre minimal de réplique avant erreur
- Une fois les champs renseignés, on passe à la suite en cliquant sur
Suivant:

- Cette fenêtre est juste un récapitulatif des étapes restantes, on clique sur
Terminé:

- Une fois tous les nœuds initialisés, on ajoute chaque serveur (exception faîte du 1er) en tant que moniteur. Pour cela, on va sur le nœud à ajouter,
Ceph,Moniteuret on clique surCréerdans la zoneMoniteur:

- On clique sur
Créer:

- On passe ensuite à l'ajout en tant que manager. On clique alors sur
Créerdans la zoneManagercette fois ci :

- Comme précédemment, on clique sur
Créer:

- Maintenant, il nous faut intégrer les disques dans le cluster
Ceph(ajout d'un disque par nœud). Pour cela, sur chaque nœud, on clique surOSDpuisCréer: OSD:

- On sélectionne le disque libre et on clique sur
Créer:

- Quand tous les disques ont été ajoutés, il ne nous reste plus qu'à créer l'espace de stockage partagé. Pour cela, on va dans
Poolset on clique surCréer:

- On choisit le nom de l'espace et on clique sur
Créer:

- Une fois créé, l'espace apparaît alors sur tous les nœuds. L'onglet
Cephpermet alors de superviser l'état du partage :

Mémoire
Attention.Ceph peut être assez gourmand en RAM sur des petits serveurs. Dans de telles configurations, il peut être intéressant de limiter son usage de la mémoire à 1Go en ajoutant dans le fichier de configuration /etc/ceph/ceph.conf la ligne suivante :
osd_memory_target = 1073741824
Discussion