# [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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/5z2image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/5z2image.png)

## Prérequis

- [Installer un cluster Proxmox](https://wiki.neopipe.fr/books/proxmox/page/proxmox-cluster)

## 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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/2KYimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/2KYimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/pe1image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/pe1image.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/qZBimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/qZBimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/VL7image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/VL7image.png)

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

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/8nAimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/8nAimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/oCHimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/oCHimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/rCCimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/rCCimage.png)

<p class="callout info">Puis on réitère l'opération sur chacun des noeuds du cluster Proxmox.</p>

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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/vw7image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/vw7image.png)

<p class="callout warning">N'oubliez pas d'appliquer la configuration réseau en appuyant sur **Apply configuration**.</p>

#### 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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/blzimage.png)

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

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/08Wimage.png)

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

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/cbAimage.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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/5j0image.png)

<p class="callout info">Pour le moment, l'état de santé n'est pas bon puisque nous avons pas de stockage CEPH définit.</p>

<p class="callout info">Maintenant, il faut réitérer l'installation de CEPH sur chacun des noeuds du cluster.</p>

#### 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.\*

<p class="callout warning">Par défaut, le Node 1 possède déjà les rôles Monitor et Manager.</p>

On commence par aller sur le **Node 1** dans **CEPH &gt; Moniteur** puis **Créer** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/pnaimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/pnaimage.png)

On sélectionne d'abord le **Node 2** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/SVpimage.png)

Puis le **Node 3** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/1faimage.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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/AbEimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/AbEimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Wqyimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/Wqyimage.png)[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/LrCimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/LrCimage.png)

Au final vous devriez avoir cette configuration :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/XLdimage.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 &gt; OSD** puis **Create OSD** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/teIimage.png)

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

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/H8yimage.png)

<p class="callout success">Réitérer l'opération sur chacun des noeuds du cluster.</p>

Vous devriez avoir la configuration suivante :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/FtNimage.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 &gt; Pools** puis **Create** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Bypimage.png)

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

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/18Uimage.png)

<p class="callout info"> La **taille minimale** (Min Size) signifie que le pool continuera de fonctionner avec seulement 2 noeuds sur 3 disponibles.</p>

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

## ![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/0kpimage.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.

<p class="callout warning">La migration ne sera effective que si les lecteurs **CD** sont supprimés des VMs sinon elle échouera systématiquement.</p>

Pour cela nous allons créer une VM de manière standard mais nous allons l'installer sur le **<span style="text-decoration: underline;">stockage</span> CEPH** :

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/185image.png)

<p class="callout info">Vous pouvez créer et installer votre VM normalement, la configuration de la HA viendra après ces étapes.</p>

#### Configuration de la HA sur le cluster

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

Pour cela, rendez-vous dans **Cluster &gt; HA &gt; Groups** puis **Create** :

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Sx8image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/Sx8image.png)

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

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/itGimage.png)

<p class="callout info">Plus la priorité est haute, plus les VMs appartenant à ce groupe auront tendance à se rendre sur le noeud correspondant.</p>

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

![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Qjwimage.png)

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/S8Simage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/S8Simage.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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/Hw2image.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](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/5l6image.png)

<p class="callout success">La HA est désormais fonctionnelle sur votre VM.</p>

<p class="callout info">On peut le tester en arrêtant le **Node 1** et la VM doit être migrée sur le **Node 2**.</p>