Mise en cluster et utilisation de glusterfs
Bonjour à tous,
Aujourd’hui nous allons aborder la mise en cluster de Proxmox 6.2-4.
Je vous renvoie à la page de Proxmox pour voir la différence avec la version 5.3 en présentation dans ce blog.
https://proxmox.com/en/proxmox-ve/features
– L’installation de cette version ne diffère en rien de la 5.3.
Étant en préparation de maquette concernant différents hyperviseurs avec stockage distribué ou parallèle pour un projet professionnel, j’ai voulu vous présenter Proxmox en mode cluster fonctionnement de concert avec Glusferfs.
Pour une petite présentation de Gluster et son installation, vous pouvez vous rendre sur cette page.
Idem pour l’installation de Proxmox.
http://51.89.188.82/installation-de-proxmox/
De quoi allons nous avoir besoin pour cette maquette ?
D’un hyperviseur pour simuler des serveurs ou bien de machines physiques, si vous en avez les moyens.
Il nous faudra donc trois serveurs pour Proxmox ( le cluster peut tourner avec deux machines si besoin) et de trois autres serveurs pour simuler le stockage distribué ou parallèle (deux serveurs peuvent suffire).
– Les serveurs proxmox
2 vcpu 4Gio de Ram et deux disques dur, un pour le système et un pour le stockage en local (ce dernier n’est pas obligatoire si vous avez un stockage externe type, synology ou autre, le montage des iso pourra se faire en NFS, SMB ou ISCSI).
– Pour les serveurs Gluster,
1 vcpu et 1Gio de Ram ainsi que deux disques de 8Gio chacun.
Pour le réseau, il se fera sur un vlan spécifique et chaque serveur aura une seule carte réseau à sa disposition, pour simplifier un peu l’architecture.
Dans la réalité, il faudra si possible attribuer un port physique avec un vlan spécifique pour la partie stockage ainsi que pour les vm et l’administration.
Et encore, je ne parle pas de la redondance des ports pour palier une perte réseau ou pour améliorer les débits ou les deux.
Petite explication du bonding via ce lien.
https://doc.ubuntu-fr.org/bonding
Petit aparté concernant le stockage distribué ou parallèle sous proxmox.
Proxmox prend en charge nativement le Ceph ainsi que Glusterfs.
Ce qui est pour moi, de base, un avantage intéressant.
On verra lors de la mise en place de cette partie, la facilité avec laquelle on peut monter et utiliser ce typer de technologie sous cet hyperviseur.
Pour la nomenclature, elle se fera comme suit.
– Les serveurs proxmox :
pve1 10.2.1.71/24
pve2 10.2.1.72/24
pve3 10.2.1.73/24
– La partie glusterfs :
glusterfs-1 10.2.1.75/24
glusterfs-2 10.2.1.76/24
glusterfs-3 10.2.1.77/24
Pensez bien à faire en sorte que les serveurs puissent répondre à leur résolution dns et à leurs ip.
– Étape 1 : Banque de donnée ISO
Nous allons commencer par monter un stockage qui fera office de banque Iso.
On commence par cliquer sur Datacenter pour faire apparaître l’onglet de droite.
Cliquer ensuite sur Stockage et Ajouter et choisir CIFS.
Vous devriez voir apparaître cette fenêtre.
Dans la partie « ID« , il vous faudra rentrer un nom pour définir ce stockage.
Pour moi ce sera « Iso »
Pour le « Serveur« , l’IP du serveur ou se trouve votre SMB
Pour la partie « Nom et mot de passe utilisateur », pas besoin de l’expliquer, je pense.
Pour le « Share« …rien à faire, si vos infos sont correctes, il trouvera automatiquement le partage.
En bas à droite, vous pouvez apercevoir un onglet, en cliquant dessus, vous pouvez choisir le type de données qui sera intégrée à ce volume.
Ce volume ne servant uniquement que pour les Iso, on choisira donc « Image ISO« .
Il vous sera possible de modifier ce paramètre au besoin par la suite.
Il vous suffira ensuite de cliquer sur Ajouter.
Vous voila donc avec votre banque de données Iso.
Avoir une banque Iso, ok mais si elle ne contient rien, elle ne sera pas très utile.
Pour ajouter une ISO, rien de plus simple, cliquer à gauche sur votre nouvelle banque de donnée Iso.
Sélectionner contenu et cliquer sur upload
Un onglet s’ouvrira pour vous permettre de sélectionner une ISO se trouvant sur votre PC ou un autre partage réseau.
– Étape 2 : Mise en place d’un volume Glusterfs
Je ne vais pas revenir sur la mise en place de Glusterfs, il vous suffira de lire ma présentation dessus.
Avant toute chose et même si je l’ai répété plus haut mais il est impératif que les serveurs puissent communiquer entre eux (Proxmox et Glusterfs).
Cette vérification faite, on peut passer à la mise en place du volume.
La procédure est la même que pour la partie ISO, je ne vais donc pas me répéter.
La seule différence se fera au niveau du choix, ici Glusterfs.
Une fenêtre apparaîtra comme pour la partie ISO.
Sur cette capture, j’ai choisi d’utiliser une résolution DNS mais une IP fera très bien l’affaire.
On peut voir que c’est pratiquement la même chose à deux différences près.
Il n’y a pas de Nom d’utilisateur et de mot de passe à donner.
Et il faudra rentrer manuellement la désignation du volume glusterfs.
Ensuite, il suffira de choisir « Image disque » et de cliquer sur « OK«
Et voila, une banque de donnée sous Glusterfs.
– Étape 3 : Mise en place du cluster
Cette partie est assez simple.
Se placer en vue Datacenter en cliquant dessus.
Sélectionner « Cluster » et cliquer sur « Créer un cluster«
Donnez un nom à votre cluster.
Sélectionnez l’interface réseau de votre serveur.
Cliquez sur Créer.
Vous devriez obtenir ce message.
Ajoutons un deuxième serveur à ce nœud.
Toujours au niveau de l’interface de création du cluster du premier serveur (pve1).
Cliquez sur « Join Information » et cliquer sur « Copy Information« .
Allez sur l’interface du deuxième serveur.
Se placer en vue Datacenter en cliquant dessus.
Sélectionner « Cluster » et cliquer sur « Joindre le Cluster«
Copier le contenu du presse papier dans la case « Information«
Rentrer le mot de passe serveur (10.2.1.71/pv1) et dans « Cluster Network » cliquer dessus et sélectionner l’interface réseau du serveur qui doit rejoindre le cluster.
Cliquer sur « Join »le_nom_de_votre_cluster »«
Il est possible que vous perdiez la connexion web, il vous suffira de rafraîchir celle-ci (en vérifiant avant que le serveur ait bien été pris en compte dans le cluster en via pv1 ou pv2 ).
Vous pouvez constater que les volumes Iso et Gluster se sont repiqués automatiquement sur les autres serveurs.
– Étape 4, Création d’une vm.
Se rendre sur une des interfaces d’un des serveurs du cluster.
Faire un Clique droit sur l’un des nœuds et sélectionner « Créer une VM«
Deux choses ici méritent une attention.
L’onglet OS et Disque Dur.
Pour l’onglet « OS« , il faudra sélectionner la banque de données ISO
Pour « Disque Dur« , il faudra choisir Glusterfs
Le reste étant identique à un hyperviseur classique.
– Étape 5, Mise en place du HA.
Dans cette partie, on se concentre sur la mise en place du HA.
Commençons par cliquer sur Datacenter et sélectionner « Groupes »
Ici, on va donner un nom à notre groupe HA et on va sélectionner les serveurs qui en feront partie ainsi que leurs poids de priorité.
Je donne le même poids à mes serveurs, ce qui signifie qu’ils auront la même chance d’être candidat en cas de perte d’un des serveurs.
Si j’avais mis un poids de 1 à pv1, de 2 à pv2 et 3 à pv3, si ma vm était sur pv3 et que celui-ci devait tomber et être hors ligne, pv1 aurait la priorité sur pv2 pour accueillir la vm lors du redémarrage de celle-ci.
Nous voila donc avec notre HA actif.
Vous pouvez voir sur la capture ci-dessous l’état de la VM et diverses informations concernant celle-ci et le HA.
Vous pouvez Migrer à chaud une vm d’un nœud à l’autre.
En cas de coupure d’un nœud, la vm pourra migrer automatiquement sur un autre nœud en fonction de vos préférences et redémarrera (ou pas) en fonction aussi de vos réglages.
Il y a encore mille chose à dire sur Proxmox mais on va finir ici.
A la fin de l’article, je vais vous mettre des liens pour une gestion en CLI (toujours intéressant de pouvoir le faire) et sur deux ou trois petites choses.
A bientôt.
Liens utiles :
https://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_6.2
https://wiki.debian.org/fr/NetworkConfiguration#Configurer_une_interface_r.2BAOk-seau_manuellement
https://pve.proxmox.com/wiki/Cluster_Manager