Pourquoi un cluster à deux nœuds est le pire choix : la question de la majorité
Acheter un second serveur et monter un cluster ressemble à de la résilience. En réalité deux nœuds sont plus fragiles qu’un seul : si l’un tombe, l’autre ne peut plus décider.
AtlasPVE ·
Cette fiche répond à
- proxmox cluster 2 nœuds
- proxmox quorum c’est quoi
- combien de serveurs pour un cluster proxmox
- proxmox il ne reste qu’un nœud
- proxmox qdevice c’est quoi
Vous avez acheté le second serveur et monté un cluster. Vous êtes rassuré : il y a deux machines maintenant, et si l’une tombe l’autre continue.
Elle ne continue pas. Un cluster à deux nœuds est plus fragile qu’un nœud seul, et le jour où vous l’apprenez est en général un mauvais jour.
Pourquoi
Les décisions d’un cluster se prennent à la majorité. Si deux nœuds sur trois sont debout, il y a majorité et le cluster continue de fonctionner. Si l’un des deux nœuds tombe, le seul nœud restant n’est pas une majorité, et le cluster se verrouille : les machines continuent de tourner, mais la configuration ne peut plus changer, aucune nouvelle machine ne démarre, et l’essentiel du travail d’administration s’arrête.
Ce n’est pas un défaut, c’est un choix délibéré. L’alternative est bien pire : quand deux nœuds ne se voient plus, chacun dit « je suis debout, l’autre est tombé » et démarre la même machine virtuelle à deux endroits. Le même disque est écrit des deux côtés et les données sont abîmées sans retour.
Le cluster vous protège donc en vous verrouillant. Mais à deux nœuds, cette protection se déclenche dans la moitié des pannes.
Le bon nombre est trois
Dans un cluster à trois nœuds, si l’un tombe il en reste deux, la majorité tient et la vie continue. C’est pourquoi le chiffre trois revient partout dans la documentation des clusters.
La troisième machine n’a pas besoin d’être puissante. Elle ne fait que voter, elle n’a pas à exécuter de travail. Une petite machine, même un vieil ordinateur, fait l’affaire.
Si vous ne voulez vraiment pas d’une troisième machine, on peut monter à la place un petit nœud témoin dont le seul rôle est de voter. Ce n’est pas un nœud complet et vous ne pouvez pas y faire tourner de machines, mais il complète le calcul de la majorité à trois. Si vous restez à deux nœuds, montez au moins celui-là.
Si vous restez à deux nœuds, sachez ceci
Quand un nœud est mis en maintenance, le nœud restant devient lui aussi ingérable. Même une mise à jour planifiée vous laisse donc verrouillé.
Il est possible de dire à la main « qu’un nœud seul puisse décider aussi », mais cela rouvre exactement le risque de double démarrage décrit plus haut. Cela se fait de façon temporaire, délibérée et brève ; ce n’est pas une solution permanente.
Monter un cluster n’est pas faire des sauvegardes
Ce sont les deux choses les plus souvent confondues. Un cluster sert à la disponibilité : pour que le travail continue quand une machine tombe. Une sauvegarde sert à la récupération : pour revenir en arrière après une corruption ou une suppression par erreur.
Un cluster ne ramènera pas une machine virtuelle supprimée par accident. La suppression se propage immédiatement à tous les nœuds, car un cluster existe justement pour qu’ils voient la même chose. Même avec un cluster, il vous faudra des sauvegardes.
Ce que fait Atlas
Atlas traite le cluster non comme un concept mais comme un état : combien de nœuds existent, combien votent, si la majorité tient en ce moment.
C’est pour les mises à jour que cela sert le plus. Avant qu’un nœud soit mis à jour, Atlas regarde combien des machines qui y tournent peuvent passer sur un autre nœud et vous propose un ordre. La proposition reste une proposition : la commande de déplacement ne s’exécute pas toute seule, c’est vous qui appuyez sur le bouton.
Un détail compte particulièrement ici, et il touche directement au sujet de cet article. La commande qui interroge l’état du cluster échoue de la même façon dans deux situations différentes : être vraiment une machine isolée, et être membre d’un cluster dont la couche de cluster s’est effondrée. Si on ne distingue pas ces deux cas, le produit dit « pas de cluster, majorité correcte » au moment précis où le cluster s’est effondré. Autrement dit, il formule la phrase la plus rassurante à l’instant le plus dangereux.
Atlas les distingue en regardant si le fichier de configuration existe : ce fichier est écrit en même temps que l’adhésion et reste en place même quand la couche de cluster s’effondre. La distinction tient en un seul endroit, car elle était auparavant écrite séparément à trois endroits différents et les trois avaient la même erreur.
Sources
La documentation officielle de Proxmox. En anglais, et c’est elle qui a le dernier mot sur ce sujet.