Skip to main content

[Proxmox] CEPH et HA

Introduction

La mise en place de CEPH vous permet d'avoir un disque partagé entre les noeuds de votre cluster Proxmox.

Cela sera utile notamment pour la haute disponibilité (HA) que l'on mettra en place dans un second temps.

image.png

Prérequis

  • Avoir un cluster Proxmox prêt et configuré.

Installation de CEPH

Ajout des disques et carte réseaux CEPH

La première étape va être d'ajouté un disque partagé dans chacun des noeuds du cluster.

J'utilise un environnement VMware mais on peut très bien le faire avec des disque physiques sur des serveurs dans une baie :

image.png

image.png

image.png

image.png

J'ajoute un disque d'une taille de 10Go :

image.png

image.png

image.png

Puis on réitère l'opération sur chacun des noeuds du cluster Proxmox.

Désormais, il faut ajouter une carte réseau sur chaque noeud pour le réseau CEPH (192.168.201.0/24) et ajouté un Linux Bridge sur chacun des noeuds Proxmox :

image.png

N'oubliez pas d'appliquer la configuration réseau en appuyant sur Apply configuration.

Installation de CEPH sur les noeuds

Une fois les VMs redémarrées avec leur nouveau disque et nouvelle carte réseau, rendez-vous sur le Node 1 dans l'onglet et cliquer sur Installer CEPH :

image.png

Puis on peut lancer l'installation de la version actuelle de CEPH (quincy dans notre cas) :

image.png

Une fois l'installation terminée, on clique sur Next :

image.png

L'écran de configuration de CEPH devrait s'ouvrir et vous devrez sélectionner l'interface du réseau CEPH.

Vous devriez voir cette configuration :

image.png

Pour le moment, l'état de santé n'est pas bon puisque nous avons pas de stockage CEPH définit.

Maintenant, il faut réitérer l'installation de CEPH sur chacun des noeuds du cluster.

Configuration des Moniteurs et Managers

Désormais ce qui est recommandé, c'est de configurer chacun des noeuds avec le rôle Monitor et Manager pour qu'on puisse avoir de la surveillance du pool même si un des noeud tombe.*

Par défaut, le Node 1 possède déjà les rôles Monitor et Manager.

On commence par aller sur le Node 1 dans CEPH > Moniteur puis Créer :

image.png

On sélectionne d'abord le Node 2 :

image.png

Puis le Node 3 :

image.png

Et on fait de même pour le rôle Manager qui est juste en dessous avec nos Node 2 et 3 :

image.png

image.pngimage.png

Au final vous devriez avoir cette configuration :

image.png

Création des OSDs

Les OSDs sont les disques partagés CEPH.

On va commencer par configurer un OSD sur le Node 1 en allant dans CEPH > OSD  puis Create OSD :

image.png

On peut sélectionner le disque sur lequel on souhaite installer CEPH (/dev/sdb dans notre cas) :

image.png

Réitérer l'opération sur chacun des noeuds du cluster.

Vous devriez avoir la configuration suivante :

image.png

Création du pool de stockage

L'objectif va être de créer un groupe (pool) d'OSDs qui sera utilisé par nos VMs.

Pour cela, on se rend sur le Node 1 dans CEPH > Pools puis Create :

image.png

On choisit un nom ainsi que la taille du pool qui correspond au nombre d'OSD présent dans le pool :

image.png

 La taille minimale (Min Size) signifie que le pool continuera de fonctionner avec seulement 2 noeuds sur 3 disponibles.

Le stockage CEPH devrait apparaître sur chacun des noeuds :

image.png

Installation de la Haute Disponibilité (HA)

Création de la VM pour la HA

Nous allons créer une VM qui prendra en charge la HA, ce qui signifie qu'elle sera automatiquement répliquée sur le une autre noeud si le noeud principal de VM venait à devenir défaillant.

La migration ne sera effective que si les lecteurs CD sont supprimés des VMs sinon elle échouera systématiquement.

Pour cela nous allons créer une VM de manière standard mais nous allons l'installer sur le stockage CEPH :

image.png

Vous pouvez créer et installer votre VM normalement, la configuration de la HA viendra après ces étapes.

Configuration de la HA sur le cluster

Désormais, on va configurer la HA sur le cluster.

Pour cela, rendez-vous dans Cluster > HA > Groups puis Create :

image.png

Ensuite, donnez un nom à votre groupe de VM du Node 1 pour sa configuration HA et définissez les priorités :

image.png

Plus la priorité est haute, plus les VMs appartenant à ce groupe auront tendance à se rendre sur le noeud correspondant.

On peut maintenant créer les groupes HA pour les Nodes 2 et 3 :

image.png

image.png

Ajout des ressources pour la HA

L'objectif va être de définir les VMs qui devront utiliser notre configuration HA.

Pour cela, rendez-vous dans HA Puis Add :

image.png

On peut sélectionner notre VM debian-test (mettez la VM où vous souhaitez activer la HA), sélectionner le groupe HA que l'on souhaite ici pool-ha-01 et cliquer sur Add :

image.png

La HA est désormais fonctionnelle sur votre VM.

On peut le tester en arrêtant le Node 1 et la VM doit être migrée sur le Node 2.