Proxmox : configuration du quorum avec un cluster de 2 serveurs

Dans ce tutoriel, je vais vous expliquer comment configurer le quorum avec un cluster Proxmox composé de deux serveurs.

Avant de commencer ce tutoriel, on va parler Quorum.

Qu’est ce que le Quorum

Voici une bref définition du Quorum : c’est le nombre minimal de votant nécessaire dans une assemblée pour prendre une décision.

Transposer en informatique au sein d’un cluster que ce soit Proxmox ou Hyper-V, l’assemblée est représenté par le nombre de serveur qui compose le cluster, ce Quorum permet de maintenir le service en HA.

Chaque membre du cluster ont le même poids lors d’un vote et pour valider la décision, le résultat du vote doit être de 51%.

Lors de la mise en place d’un cluster avec deux nœuds, en cas de perte d’un nœud du cluster, le quorum ne peut être atteint car le serveur restant représente que 50% du vote et dans ce cas là, il y a échec du vote et donc le service de haute disponibilité ne peut être assuré.

Pour palier à cet échec de vote quand l’on a un cluster ave deux nœuds, on ajoute un témoin qui permet d’avoir un vote supplémentaire, ce qui dans le cas avec 2 nœuds + un témoin chaque votant représente 33%, en cas de perte d’un nœud dans le cluster, le total des votants restant est de 66% et donc le Quorum est atteint et le ou les services maintenu en haute disponibilité.

Le témoin peut être de différente nature :

  • Serveur supplémentaire
  • Disque de témoins comme sur Hyper-V

Le Quorum est un élément essentiel dans la mise en place d’un Cluster.

Si vous souhaitez en savoir Microsoft a écrit un article complet sur le Quorum : https://learn.microsoft.com/fr-fr/azure-stack/hci/concepts/quorum

Le Quorum dans Proxmox

Proxmox est conçu pour fonctionner avec au minimum 3 serveurs et palier la perte d’un serveur, de se fait Proxmox n’intègre plus la fonctionnalité de témoin.

Le clustering dans Proxmox est géré avec Corosync et il est possible de configurer un périphérique (Device) comme témoin pour le Quorum.

Avertissement concernant Ceph

Le cluster Ceph fonctionnant de façon indépendante du cluster Proxmox, ce ne permet pas de faire fonctionner un cluster Ceph correctement avec deux nœuds.

Prérequis

Pour utiliser un Cluster Proxmox avec deux serveurs il faut :

  • Un cluster Proxmox avec deux serveurs
  • Une machine Linux qui ne fonctionne pas sur le cluster Proxmox que l’on va utiliser comme témoin en installation de la paquet corosync-qnetd.

Dans ce tutoriel, je vais utiliser une machine Ubuntu hébergée sur un autre système de virtualisation.

Installation et configuration d’un témoin de Quorum pour Proxmox

On va commencer par configurer le serveur qui va servir de témoin.

Installer le paquet : corosync-qnetd

sudo apt install corosync-qnetd
 -y

On va maintenant configurer la connexion SSH des serveurs Proxmox sur le serveur témoins.

Sur le serveur Proxmox qui sera utilisé pour la configuration du Quorum afficher la clé publique :

cat /root/.ssh/id_rsa.pub

Sur le serveur passé en root :

sudo su root

Ouvrir le fichier authorized_keys de l’utilisateur root pour ajouter la clé publique :

nano /root/.ssh/authorized_keys

Coller la clé publique :

Le serveur qui va servir de témoin est prêt.

Avant de commencer la configuration du témoin, voici la configuration du Quorum sur le cluster Proxmox obtenu avec la commande :

pvecm status

Comme on peut le voir, il y a seulement les deux serveurs membres du cluster qui ont un droit de vote.

Sur chaque serveur Proxmox installer le paquet : corosync-qdevice.

apt install corosync-qdevice -y

Maintenant que tout est installé sur les 2 serveurs Proxmox, on va passer à la configuration du Quorum.

Depuis le serveur Proxmox qui a sa clé publique de configurer sur le serveur témoins entrer la commande suivante :

pvecm qdevice setup witness-server-ip

Confirmer la connexion SSH :

Patienter pendant la configuration …

Comme on peut le voir sur la capture, la configuration est faite sur les deux serveurs Proxmox.

Une fois la configuration terminée, afficher de nouveau la configuration du Quorum :

pvecm status

Cette fois ci, on peut voir que l’on a 3 votant, QDevice a été ajouté.

Dans le fichier de configuration /etc/pve/corosync.conf on retrouve également le serveur configuré comme témoin.

La configuration du témoin est terminée. Avec cette configuration, vous pouvez mettre en place un cluster de deux serveur Proxmox avec un stockage de type SAN et avoir une infrastructure de virtualisation hautement disponible.

Solution alternative uniquement pour effectuer des tests

Il existe une solution alternative valable uniquement pour faire des tests, qui consiste à modifier le nombre d’un serveur du Cluter.

  1. Ouvrir le fichier /etc/pve/corosync.conf
  2. Sur l’un des nœuds modifier la paramètre quorum_votes de 1 à 2.
  3. Incrémenter la valeur config_version à +1 pour la synchronisation

Pour tester le HA entre les serveurs Proxmox, vous pouvez éteindre le nœud qui a un seul vote et vérifier le basculement.

Il ne faut surtout pas utiliser cette solution en production, car si le nœud à 2 votes tombe, l’autre nœud ne prendra pas le relai du HA car le Quorum ne sera pas atteint.




Laisser un commentaire