Cluster Proxmox Hyperconvergé chez OVH

But de l'opération

On va réaliser la msie en place d’un cluster proxmox avec du CEPH pour créer un système de virtualisation hyperconvergé.
On va réaliser ça chez OVH avec trois serveurs RISE avec les specifications suivantes:
2x960Go SSD + 2x6To HDD
128 Go de RAM
Interface Publique: 500Mbps upload et download
Interface privée: 1Gbps upload et download

Mise en place des serveurs

Création des partitions disques

Ce que l’on veut réussir à faire c’est avoir des OSD CEPH sur les disques SSD et sur les disques HDD. Grâce à ça on va avoir deux type de stockages, qui auront leur propre utilité.

On va donc commencer par créer les partitions et installer le système d’exploitation Proxmox avec l’utilistaire OVH.

La subtilité dans ce partitionning, c’est la création de la partition 5 sur /mnt/tmp. On va venir par la suite supprimer cette partition.

Libre à vous de définir les tailles des partitions root/swap/data et tmp.

Configuration des réseaux

Création et attribution du VRack aux serveurs

On va venir créer un Vrack et attribuer ce VRack à l’interface privée de nos serveurs.

Mise en place du Vrack sur les serveurs Proxmox

Sur proxmox, on va aller dans l’onglet network, puis on va venir créer un nouveau bridge, auquel on attache l’interface physique eno2.

On va créer un réseaux privé, ici j’ai choisi le 192.168.9.10/29

On  valide et on clique sur « Apply Configuration »

On fait la même chose sur les deux autres serveurs proxmox avec ces IP 192.168.9.11/29 et 192.168.9.12/29

Configuration du cluster Proxmox

On va maintenant créer le cluster proxmox. Pour cela on vient utiliser l’interface privée configurée plus haut. Elle sevira pour le failover.

Disclaimer: Cette methode n’est pas optimale dans un premier temps. En effet utiliser le même lien pour la HA des VM et la réplication CEPH. En effet la latence induite par la migration d’une VM pourrais générer des erreur de réplication CEPH.

 

Une fois le cluster créé sur un des noeud, on vient ajouter les deux autres noeuds via « Join Cluster ». On copie les informations de connexion ainsi que le mot de passe de l’utilisateur root du noeud sur lequel on a créé le cluster. Après un petit moment d’attente, le noeud rejoins le cluster et depuis le noeud n°1 on peut voir les trois noeuds.

Configuration de CEPH

On va maintenant installer CEPH sur chaque neouds et configurer les différents éléments.

Une fois CEPH installé, on va ajouter les monitors et  managers sur chaque noeuds.

 

La procédure est la même pour créer un manager et un monitor. On clique sur « Create », on selectionne le noeud sur lequel on veut installer et on valide.

 

 

Configuration des partitions sur Proxmox

Modification du fichier fstab

Comme expliqué plus haut, la partition que l’on a créé lors de l’installation initiale ne sert à rien dans l’état. On va venir la réinitialiser pour l’utiliser comme OSD CEPH. On vient la supprimer du fichier fstab et reboot le serveur.

Suppression des partition tmp

On va supprimer la partition créé lors l’initialisation et en créer une nouvelle simple. Cette étape permet de venir casser le raid1 créer lors de l’instalation proxmox. Sans ça votre partition sur le SSD ne sera pas visible.

 

Il faut faire l’operation sur le SSD n°1 puis reboot et refaire l’operation sur le SSD n°2

Installation et configuration de CEPH

Maintenant que les partitions sont prêtes, on peut installer CEPH sur le noeud proxmox et le configurer.

Configuration des OSD

On va ensuite créer les OSD.

On va créer les OSD sur les trois noeuds  de la même manière.

 

Ce qui nous donne pour notre configuration cette liste

Configuration des Pool

On continue la configuration avec la création des « pools ».

C’est à proprement parlé la ou on va venir stocker les VM, ISO etc…

Si on laisse les choix par défaut, CEPH va créer un pool partager entre tous les OSD, sauf que dans notre cas nous avons des OSD NVME et des OSD HDD, on va vouloir utiliser l’un ou l’autre suivant notre usage.

Crush Rules

On va donc d’abord créer des « crush rules »

Dans les captures ci contre, j’ai créé une crush rule pour mon stockage nvme et HDD

Si vous avez des SSd et pas du nvme il faudra lancer cette commande:

ceph osd crush rule create-replicated replicated_ssd default host ssd

On confirm que les crush rules sont ok dans l’onglet CEPH -> Configuration et Crush Map

Création des Pools Storage

On va aller créer notre pool pour les osd HDD.

Il faut venir selectionner le crush map dédié au HDD au niveau du point 4.

On refait la manipulation mais pour le NVME.

Ce qui donne au final pour notre configuration ceci:

Fin de la configuration

La partie configuration de CEPH avec Proxmox se termine ici.

On a donc créer un cluster Proxmox avec du stockage distribué sur des serveurs Bare Metal en utilisant le VRack d’OVH.

On peut voir qu’il est plutôt facile et rapide de créer une infrastructure hyperconvergé que ce soit en cloud ou On Premise.

Cerise sur le gâteau avec CEPH, il n’est pas obligé d’avoir un noeud Proxmox pour mettre en place du CEPH, on peut tout à fait créer un système de stockage distribué pour y stocker des fichiers, ou l’utiliser comme stockage S3.