Mettre en place un cluster haute disponibilité
EOLE propose un service de haute disponibilité[1] dont le rôle principal est de garantir la disponibilité d'un service et son bon fonctionnement. Ce service repose sur les logiciels libres Corosync[2] pour mettre les serveurs utilisés en cluster[3] [1] et Pacemaker[4] pour la gestion des ressources (démarrage, arrêt et supervision des ressources du cluster).
Conseil
Il est recommandé d'utiliser une interface réseau dédiée pour le dialogue inter nœud.
Il est possible, depuis l'interface de configuration du module, d'activer ou non ce service.
Il est préférable de réaliser des liaisons physiques directes entre les nœuds.
La génération de la configuration se fait à l'aide du script appliquer_hautedispo
.
Installer et configurer un module Sphynx qui sera la machine maître.
Installer et configurer un module Sphynx qui sera la machine esclave.
Sur le serveur Sphynx maître, exécuter l'instance à l'aide de la commande :
# instance
À la question Voulez vous synchroniser les nœuds ?
il ne faut rien saisir et passer l'autre machine.
Sur le serveur Sphynx esclave, exécuter l'instance à l'aide de la commande :
# instance
À la question Voulez vous synchroniser les nœuds ?
répondre oui
(les deux serveurs Sphynx doivent pouvoir communiquer en SSH).
Au moment de l'envoi de la clé RSA sur le serveur Sphynx, saisir le mot de passe de l'utilisateur root
du serveur Sphynx maître.
À la question Voulez vous attendre le script synchro-nodes.sh soit exécuté sur le nœud maître ?
il ne faut rien saisir et passer l'autre machine.
Sur le serveur Sphynx maître, à la question Voulez vous synchroniser les nœuds ?
, toujours en attente, il faut répondre oui
.
Au moment de l'envoi de la clé RSA sur le serveur Sphynx esclave, saisir le mot de passe de l'utilisateur root
du serveur Sphynx esclave.
Terminer la procédure d'instanciation en répondant aux 2 autres questions.
Remarque
Si vous êtes connecté en SSH avec la fonctionnalité transfert d’agent[6] (option par défaut de la commande ssh
) et que la clé privée a été copiée sur le serveur distant, la phrase secrète n'est pas demandée.
Sur le serveur Sphynx esclave, à la question Voulez vous attendre le script synchro-nodes.sh soit executé sur le nœud maître ?
, toujours en attente, il faut répondre oui
.
Terminer la procédure d'instanciation en répondant aux 2 autres questions.
Sur le serveur Sphynx esclave, exécuter la commande diagnose :
# diagnose
Les compte rendus sont à OK
.
Sur le serveur Sphynx maître, exécuter la commande diagnose :
# diagnose
Les compte rendus sont à OK
.
Sur le serveur Sphynx maître, afficher le contenu du fichier /etc/ha.d/.rsc_list
:
# cat /etc/ha.d/.rsc_list
Les ressources suivantes de type service sont présentes :
ipsec_rsc
arv_rsc
Sur le serveur Sphynx esclave, afficher le contenu du fichier /etc/ha.d/.rsc_list
:
# cat /etc/ha.d/.rsc_list
Les ressources suivantes de type service sont présentes :
ipsec_rsc
arv_rsc
Sur le serveur Sphynx maître :
# crm_mon -1
La sortie de crm_mon
permet de visualiser l'état du cluster.
À la ligne Online
toutes les machines actives sont visibles : le serveur Sphynx maître et le serveur Sphynx esclave.
Exemple
Ressources démarrées sur le serveur Sphynx maître :
VIP_externe
VIP_interne
VIP_src_addr
ipsec_rsc
arv_rsc
Exemple
Ressources démarrées sur les 2 nœuds :
gw_pingd_clone
La commande crm_mon
permet d'afficher l'état du cluster, l'option -1 –one-shot
affiche l'état à un seul instant et quitte.Il est également possible d'utiliser la commande crm status
. Cette commande peut aussi bien être utilisé dans l'interface de configuration du cluster.