Mise en place de la haute disponibilité OpenNebula
À partir d'EOLE 2.7.1, le module Hâpy implémente nativement le mode clustering afin de fournir une solution de haute disponibilité[1].
Prérequis
La mise en place de la haute-disponibilité sur Hâpy nécessite au minimum 3 serveurs pour que le cluster soit fonctionnel.
Il faut également disposer de :
- 4 adresses IP dans le même sous-réseau (une adresse par machine et une adresse IP virtuelle[2]) ;
- 4 noms DNS pouvant être résolus par les serveurs (un par machine et un pour l'adresse IP virtuelle).
Truc & astuce
Les nœuds à ajouter au cluster doivent avoir une entrée sur le DNS local ou être ajoutés dans le fichier /etc/hosts
du module Hâpy maître.
La déclaration des nœuds peut s'effectuer en activant la fonctionnalité Déclarer des noms d'hôtes supplémentaires
disponible dans l'onglet expert Réseau avancé
.
Installation et configuration des serveurs
Pour commencer, il faut installer les serveurs (nœuds) et en choisir un qui sera le "premier" leader.
Ensuite, il faut saisir la configuration de chacun des serveurs en activant le support de la haute disponibilité en mode expert dans l'onglet Virtualisation
.
Le nœud choisi pour être le "premier" leader aura l'index 0.
À partir d'EOLE 2.7.2, une variable supplémentaire permet de déclarer le nom DNS associé à l'adresse IP virtuelle.
Ce nom de domaine permettra de toujours utiliser le nœud master pour d'accéder à l'interface OpenNebula.
Truc & astuce
Les configurations de tous les serveurs sont identiques à quelques détails près :
- l'adresse IP du serveur ;
- le nom DNS du serveur ;
- l'index du serveur dans la liste des nœuds de virtualisation.
Attention
La liste des nœuds de virtualisation doit contenir tous les nœuds du cluster dans l'ordre de leur index.
Instanciation des serveurs de la grappe
Instancier tous les nœuds avec un index supérieur à 0 en répondant non à la question concernant l'inscription de nouveaux nœuds dans la grappe ;
Instancier le nœud avec l'index 0 et répondre oui à la question concernant l'inscription de nouveaux nœuds dans la grappe ;
1Vous allez inscrire un noeud dans une grappe Hâpy
2Pour ce faire vous devez vous munir du mot de passe de l'utilisateur 'root' de chacun des noeuds
3Voulez-vous commencer ? [oui/non]
4[oui] :
567Traitement du noeud hapy1
89* Gestion des clés SSH
1011[ ... ]
Reconfigurer tous les nœuds avec un index supérieur à 0
Vérification de la santé de la grappe
Toutes les commandes doivent être exécutées sur le "leader", le "leader" est le porteur de la VIP, il est donc préférable d'utiliser la VIP pour l'interaction avec la grappe.
Vérifier la "zone"
# onezone show 0
ZONE 0 INFORMATION
ID : 0
NAME : OpenNebula
ZONE SERVERS
ID NAME ENDPOINT
0 hapy1.ac-test.f http://hapy1.ac-test.fr/RPC2
1 hapy2.ac-test.f http://hapy2.ac-test.fr/RPC2
2 hapy3.ac-test.f http://hapy3.ac-test.fr/RPC2
HA & FEDERATION SYNC STATUS
ID NAME STATE TERM INDEX COMMIT VOTE FED_INDEX
0 hapy1.ac-test.f leader 1 200 200 0 -1
1 hapy2.ac-test.f follower 1 200 200 1 -1
2 hapy3.ac-test.f follower 1 200 200 2 -1
ZONE TEMPLATE
ENDPOINT="http://localhost:2633/RPC2"
Vérifier la grappe ONE
# onehost list
ID NAME CLUSTER TVM ALLOCATED_CPU ALLOCATED_MEM STAT
0 hapy1.ac-test.f default 0 0 / 100 (0%) 0K / 1.9G (0%) on
1 hapy2.ac-test.f default 0 0 / 100 (0%) 0K / 1.9G (0%) on
2 hapy3.ac-test.f default 0 0 / 100 (0%) 0K / 1.9G (0%) on
Remarque
Il est possible que les hôtes soient en "err" et non en "on".
Après quelques minutes si les noeuds ne sont pas passé à "on" vous avez un problème.
Espace de stockage réseau répliqué
Truc & astuceHowto
Un tutoriel est disponible dans le projet git hebergé sur la forge du pôle :
https://dev-eole.ac-dijon.fr/projects/eole-glusterfs/repository/entry/doc/howto.md