La clusterisation dans Proxmox VE

La clusterisation dans Proxmox VE

Dans les articles précédents, nous avons commencé à expliquer ce qu'est Proxmox VE et comment cela fonctionne. Aujourd'hui, nous allons parler de la façon d'utiliser la possibilité de clustering et montrer quels avantages cela offre.

Qu'est-ce qu'un cluster et à quoi sert-il ? Un cluster (du mot anglais cluster) est un groupe de serveurs interconnectés par des canaux de communication rapides, fonctionnant et apparaissant à l'utilisateur comme une seule entité. Il existe plusieurs scénarios principaux d'utilisation d'un cluster :

  • Assurer la haute disponibilitĂ© (High-availability).
  • Équilibrage de charge (Équilibrage de charge).
  • Augmenter les performances (Haute performance).
  • Effectuer des calculs distribuĂ©s (Calcul distribuĂ©).

Chaque scénario impose ses propres exigences aux composants du cluster. Par exemple, pour un cluster effectuant des calculs distribués, l'exigence principale est une vitesse élevée des opérations à virgule flottante et une faible latence réseau. De tels clusters sont souvent utilisés à des fins de recherche scientifique.

Puisque nous avons abordĂ© le sujet des calculs distribuĂ©s, il convient de mentionner qu'il existe aussi le concept de systĂšme de grille (du mot anglais grid — grille, rĂ©seau). MalgrĂ© leurs similitudes, il ne faut pas confondre un systĂšme de grille avec un cluster. Un grid n'est pas un cluster au sens habituel du terme. Contrairement Ă  un cluster, les nƓuds d'un grid sont souvent hĂ©tĂ©rogĂšnes et prĂ©sentent une faible disponibilitĂ©. Cette approche facilite la rĂ©solution des tĂąches de calcul distribuĂ©, mais ne permet pas de crĂ©er un tout unifiĂ© Ă  partir des nƓuds.

Un exemple frappant de systÚme de grille est la plateforme de calcul populaire BOINC (Berkeley Open Infrastructure for Network Computing). Cette plateforme a été initialement créée pour le projet SETI@home (Search for Extra-Terrestrial Intelligence at Home), qui traite la question de la recherche de vie extraterrestre par l'analyse des signaux radio.

Comment cela fonctionneUn Ă©norme volume de donnĂ©es provenant des radiotĂ©lescopes est divisĂ© en plusieurs petits morceaux, qui sont envoyĂ©s aux nƓuds du systĂšme de grille (dans le projet SETI@home, ces nƓuds sont des ordinateurs de volontaires). Les donnĂ©es sont traitĂ©es sur les nƓuds et, une fois le traitement terminĂ©, elles sont renvoyĂ©es au serveur central du projet SETI. Ainsi, le projet rĂ©sout une tĂąche globale complexe sans disposer des puissances de calcul requises.

Maintenant que nous avons une compréhension claire de ce qu'est un cluster, examinons comment en créer un et l'utiliser. Nous allons utiliser un systÚme de virtualisation open source Proxmox VE.

Il est particuliÚrement important, avant de commencer à créer un cluster, de bien comprendre les limitations et les exigences systÚme de Proxmox, à savoir :

  • le nombre maximum de nƓuds dans le cluster — 32;
  • tous les nƓuds doivent avoir la mĂȘme version de Proxmox (il y a des exceptions, mais elles ne sont pas recommandĂ©es pour une utilisation en production);
  • si une fonctionnalitĂ© de haute disponibilitĂ© est prĂ©vue Ă  l'avenir, alors le cluster doit comprendre au moins 3 nƓuds;
  • pour que les nƓuds interagissent entre eux, les ports doivent ĂȘtre ouverts UDP/5404, UDP/5405 pour corosync et TCP/22 pour SSH;
  • la latence rĂ©seau entre les nƓuds ne doit pas dĂ©passer 2 ms.

Création du cluster

Important ! La configuration ci-dessous est à des fins de test. N'oubliez pas de vérifier avec documentation officielle Proxmox VE.

Pour lancer un cluster test, nous avons pris trois serveurs avec l'hyperviseur Proxmox installĂ©, tous de la mĂȘme configuration (2 cƓurs, 2 Go de RAM).

Si vous souhaitez savoir comment installer Proxmox, nous vous recommandons de lire notre article prĂ©cĂ©dent — La magie de la virtualisation : cours d'introduction Ă  Proxmox VE.

Initialement, aprĂšs l'installation du systĂšme d'exploitation, un serveur unique fonctionne en Standalone-mode.

La clusterisation dans Proxmox VE
Créons un cluster en cliquant sur le bouton Create Cluster dans la section correspondante.

La clusterisation dans Proxmox VE
Nous donnons un nom au futur cluster et sélectionnons la connexion réseau active.

La clusterisation dans Proxmox VE
Nous cliquons sur le bouton Create. Le serveur générera une clé de 2048 bits et l'enregistrera avec les paramÚtres du nouveau cluster dans des fichiers de configuration.

La clusterisation dans Proxmox VE
L'inscription TÂCHE OK indique que l'opĂ©ration a rĂ©ussi. Maintenant, en consultant les informations gĂ©nĂ©rales sur le systĂšme, il est clair que le serveur a basculĂ© en mode cluster. Pour l'instant, le cluster ne se compose que d'un seul nƓud, donc il n'a pas encore les fonctionnalitĂ©s pour lesquelles un cluster est nĂ©cessaire.

La clusterisation dans Proxmox VE

Rejoindre le cluster

Avant de se connecter au cluster créé, nous devons obtenir les informations nécessaires pour effectuer la connexion. Pour cela, nous allons dans la section Cluster et appuyons sur le bouton Join Information.

La clusterisation dans Proxmox VE
Dans la fenĂȘtre qui s'ouvre, nous sommes intĂ©ressĂ©s par le contenu du champ homonyme. Il faudra le copier.

La clusterisation dans Proxmox VE
Toutes les paramĂštres de connexion nĂ©cessaires sont codĂ©s ici : l'adresse du serveur pour se connecter et l'empreinte numĂ©rique. Nous nous rendons sur le serveur Ă  inclure dans le cluster. Nous cliquons sur le bouton Rejoindre le Cluster et dans la fenĂȘtre qui s'ouvre, nous collons le contenu copiĂ©.

La clusterisation dans Proxmox VE
Champs Adresse Peer et Fingerprint seront remplis automatiquement. Nous saisissons le mot de passe root pour le nƓud numĂ©ro 1, choisissons la connexion rĂ©seau et cliquons sur le bouton Rejoindre.

La clusterisation dans Proxmox VE
Pendant le processus de connexion au cluster, la page web de l'interface graphique peut cesser de se mettre Ă  jour. C'est normal, il suffit de recharger la page. Ajouter un autre nƓud se fait de la mĂȘme maniĂšre, et au final, nous obtenons un cluster complet de 3 nƓuds opĂ©rationnels.

La clusterisation dans Proxmox VE
Nous pouvons maintenant contrîler tous les nƓuds du cluster depuis une seule interface graphique.

La clusterisation dans Proxmox VE

Mise en place de la Haute Disponibilité

Proxmox prend en charge nativement la fonctionnalitĂ© de mise en place de HA pour les machines virtuelles et les conteneurs LXC. L'outil ha-manager dĂ©tecte et gĂšre les erreurs et pannes, exĂ©cutant un basculement d'urgence du nƓud dĂ©faillant vers un nƓud opĂ©rationnel. Pour que le mĂ©canisme fonctionne correctement, il est nĂ©cessaire que les machines virtuelles et les conteneurs aient un stockage de fichiers commun.

AprĂšs activation de la fonctionnalitĂ© Haute DisponibilitĂ©, la pile logicielle ha-manager commencera Ă  surveiller en permanence l'Ă©tat de fonctionnement de la machine virtuelle ou du conteneur et interagira de maniĂšre asynchrone avec les autres nƓuds du cluster.

Joindre un stockage commun

À titre d'exemple, nous avons dĂ©ployĂ© un petit stockage de fichiers NFS Ă  l'adresse 192.168.88.18. Pour que tous les nƓuds du cluster puissent l'utiliser, il faut effectuer les manipulations suivantes.

Nous sĂ©lectionnons dans le menu de l'interface web Datacenter — Stockage — Ajouter — NFS.

La clusterisation dans Proxmox VE
Nous remplissons les champs ID et Serveur. Dans la liste dĂ©roulante, Exporter nous choisissons le rĂ©pertoire souhaitĂ© parmi ceux disponibles et dans la liste Contenu — les types de donnĂ©es nĂ©cessaires. AprĂšs avoir cliquĂ© sur le bouton Ajouter le stockage sera connectĂ© Ă  tous les nƓuds du cluster.

La clusterisation dans Proxmox VE
Lors de la crĂ©ation de machines virtuelles et de conteneurs sur l'un des nƓuds, nous indiquons notre storage comme stockage.

Configurer la HA

À titre d'exemple, nous allons crĂ©er un conteneur avec Ubuntu 18.04 et configurer la Haute DisponibilitĂ© pour celui-ci. AprĂšs avoir créé et dĂ©marrĂ© le conteneur, nous accĂ©dons Ă  la section Datacenter — HA — Ajouter. Dans le champ qui s'ouvre, nous indiquons l'ID de la machine virtuelle/conteneur et le nombre maximum de tentatives de redĂ©marrage et de dĂ©placement entre les nƓuds.

Si ce nombre est dépassé, l'hyperviseur marquera la VM comme défaillante et la mettra dans un état d'erreur, aprÚs quoi il cessera d'effectuer toute opération avec elle.

La clusterisation dans Proxmox VE
AprĂšs avoir cliquĂ© sur le bouton Ajouter outil ha-manager informe toutes les nƓuds du cluster qu'Ă  prĂ©sent la VM avec l'ID spĂ©cifiĂ© est contrĂŽlĂ©e et qu'en cas de panne, elle doit ĂȘtre redĂ©marrĂ©e sur un autre nƓud.

La clusterisation dans Proxmox VE

Provoquons une panne

Pour voir comment fonctionne le mĂ©canisme de basculement, nous allons Ă©teindre de maniĂšre inattendue le node1. Observons depuis un autre nƓud ce qui se passe avec le cluster. Nous constatons que le systĂšme a enregistrĂ© la panne.

La clusterisation dans Proxmox VE

Le fonctionnement du mĂ©canisme HA ne signifie pas la continuitĂ© du travail de la VM. DĂšs qu'un nƓud « tombe », le travail de la VM s'arrĂȘte temporairement jusqu'Ă  son redĂ©marrage automatique sur un autre nƓud.

Et c'est lĂ  que commence la « magie » — le cluster a automatiquement rĂ©affectĂ© un nƓud pour exĂ©cuter notre VM et le travail a Ă©tĂ© automatiquement restaurĂ© en 120 secondes.

La clusterisation dans Proxmox VE
Éteignons le node2. Voyons si le cluster rĂ©sistera et si la VM reviendra automatiquement Ă  l'Ă©tat opĂ©rationnel.

La clusterisation dans Proxmox VE
Malheureusement, comme nous le voyons, nous avons un problĂšme avec le fait qu'il n'y a plus de quorum sur le seul nƓud restant en vie, ce qui dĂ©sactive automatiquement le fonctionnement de HA. Donnons dans la console une commande pour forcer l'Ă©tablissement d'un quorum.

pvecm s'attend Ă  1

La clusterisation dans Proxmox VE
AprÚs 2 minutes, le mécanisme HA a fonctionné correctement et ne trouvant pas node2, a lancé notre VM sur node3.

La clusterisation dans Proxmox VE
DĂšs que nous avons rallumĂ© node1 et node2, le fonctionnement du cluster a Ă©tĂ© entiĂšrement rĂ©tabli. Notez que la VM ne migre pas seule vers node1, mais cela peut ĂȘtre fait manuellement.

Bilan

Nous vous avons expliqué comment fonctionne le mécanisme de clustering dans Proxmox, ainsi que comment configurer HA pour les machines virtuelles et les conteneurs. Une utilisation correcte du clustering et de HA augmente considérablement la fiabilité de l'infrastructure et assure la récupération aprÚs des pannes.

Avant de crĂ©er un cluster, il faut d'abord planifier Ă  quelles fins il sera utilisĂ© et dans quelle mesure il devra ĂȘtre Ă©volutif Ă  l'avenir. Il est Ă©galement nĂ©cessaire de vĂ©rifier l'infrastructure rĂ©seau pour qu'elle soit prĂȘte Ă  fonctionner avec des latences minimales, afin que le futur cluster fonctionne sans pannes.

Dites-nous — utilisez-vous les possibilitĂ©s de clustering dans Proxmox ? Nous attendons vos commentaires.

Articles précédents sur le sujet de l'hyperviseur Proxmox VE :

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster