La Haute disponibilité des modules EOLE EOLE 2.3 révisé : Janvier 2014 Documentation sous licence Creative Commons by-nc-sa - EOLE (http ://eole.orion.education.fr)
V e r s i o n d u d o c u m e n t r é v i s é : J a n v i e r 2 0 1 4 D a t e d e c r é a t i o n : J a n v i e r 2 0 1 4 E d i t e u r P ô l e d e C o m p é t e n c e E O L E R é d a c t e u r s Équipe EOLE L i c e n c e Cette documentation, rédigée par le pôle de compétence EOLE, est mise à disposition selon les termes de la licence : Creative Commons by-nc-sa (Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique) 2.0 France : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/. Vous êtes libres : de reproduire, distribuer et communiquer cette création au public ; de modifier cette création Selon les conditions suivantes : paternité : vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'œuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggèrerait qu'ils vous soutiennent ou approuvent votre utilisation de l'œuvre) ; pas d'utilisation Commerciale : vous n'avez pas le droit d'utiliser cette création à des fins commerciales, y compris comme support de formation ; partage des Conditions Initiales à l'identique : si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci. À chaque réutilisation ou distribution de cette création, vous devez faire apparaître clairement au public les conditions contractuelles de sa mise à disposition. La meilleure manière de les indiquer est un lien vers cette page web. Chacune de ces conditions peut être levée si vous obtenez l'autorisation du titulaire des droits sur cette œuvre. Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs. Cette documentation est basée sur une réalisation du pôle de compétences EOLE. Les documents d'origines sont disponibles sur le site. EOLE est un projet libre (Licence GPL). Il est développé par le pôle de compétences EOLE du ministère de l'éducation nationale, rattaché à la Direction des Systèmes d'information et des Infrastructures de L'académie de Dijon (DS2i). Pour toute information concernant ce projet vous pouvez nous joindre : 2
Par courrier électronique : eole@ac-dijon.fr Par FAX : 03-80-44-88-10 Par courrier : EOLE-DS2i - 2G, rue du Général Delaborde - 21000 DIJON Le site du pôle de compétences EOLE : http://eole.orion.education.fr 3
Sommaire S o m m a i r e Préambule...5 I eole-pacemaker...6 II Configuration de la haute disponibilité...7 Glossaire...13 Annexe...14 1 Commandes crm... 14 4
Préambule P r é a m b u l e EOLE propose un service de haute disponibilité dont le rôle principal est de garantir la disponibilité d'un service et son bon fonctionnement. Il est possible, depuis l'interface de configuration du module, d'activer ou non ce service. 5
I eole-pacemaker e o l e - p a c e m a k e r Le paquet eole pacemaker permet la mise en place d'un service de haute disponibilité *. Logiciels et services Le paquet eole pacemaker s'appuie principalement sur le service Corosync *. Historique A la base, le service de haute disponibilité était uniquement disponible sur le module Sphynx via le service Heartbeat. Celui-ci se fait maintenant via les logiciels Corosync * et Pacemaker. Le service a été adapté afin d'être installé sur n'importe quel module EOLE, y compris en mode une carte. Conteneurs Le service s'installe sur le serveur maître. 6
II Configuration de la haute disponibilité EOLE propose un service de haute disponibilité dont le rôle principal est de garantir la disponibilité d'un service et son bon fonctionnement. Il est possible, depuis l'interface de configuration du module, d'activer ou non ce service. C o n f i g u r a t i o n d e l a h a u t e d i s p o n i b i l i t é 7
La génération de la configuration se fait à l'aide du script appliquer_hautedispo. Pacemaker permet de faire un cluster * de machines en haute disponibilit * é, dans notre cas l'implémentation du logiciel permet un cluster de deux machines (maître/esclave ou actif/passif). Chaque machine est un "node" du cluster. Il est recommandé d'utiliser une interface réseau dédiée pour le dialogue inter node. Activer le service de haute disponibilité Pour activer le service de haute disponibilité il faut se rendre dans l'onglet Services et passer la variable Activer la haute disponibilité à maitre ou esclave selon ce que vous souhaitez mettre en place. Il faut ensuite paramétrer le service de haute disponibilité dans l'onglet Haute dispo. La haute disponibilité en temps que maître C o n f i g u r a t i o n d e l a h a u t e d i s p o n i b i l i t é Paramétrage de corosync 8
C o n f i g u r a t i o n d e l a h a u t e d i s p o n i b i l i t é Sur le module Sphynx l'interface Interface de dialogue inter node est prédéfinie sur eth2. Il n'est pas nécessaire de changer cette valeur. Sur Eolebase on peut choisir une interface dédiée au dialogue inter-node. Le Nom de machine du node maitre doit contenir le Nom de la machine configuré renseigné sur le node esclave. Adresse IP du node esclave sur l'interface de dialogue inter node permet de saisir l'adresse IP du node esclave. Activer l'envoi de mail lors d'une bascule de node permet de recevoir une alerte lorsque les ressources sont basculées d'un node à l'autre. Le champ Destinataire du mail est pré-rempli par la valeur Adresse mail du réception pour les comptes système défini dans l'onglet Messagerie. Cette valeur, au format adresse électronique, peut être changée si les alertes doivent être envoyées à une autre personne. Il est également possible de choisir le sujet du courrier électronique dans le champ Sujet du mail. 9
Remarque Le Nom de machine du node esclave et l'adresse IP du node esclave sur l'interface de dialogue inter node permettent de renseigner le fichier hosts du module. Ressources de type IP Virtuelle La ressource de type IP virtuelle permet à un cluster d'être accessible via cette adresse sur l'un des deux nodes. Si l'un des nodes n'est plus accessible, l'autre prend le relais avec cette même adresse IP. Sur le module Sphynx il faut configurer les ressources de type IP Virtuelle pour les interfaces eth0 et eth1. Les étapes suivantes sont donc à réaliser pour les onglets Valeur 1 et Valeur 2. Le Nom de la ressource apparaît dans les logs et à l'exécution des commandes crm et crm_mon. Sur le module Sphynx la valeur Nom de la ressource est pré-définie et ne doit surtout pas être modifiée. Sur Eolebase ce champ peut contenir le nom de votre choix sans espace et sans caractères spéciaux. C o n f i g u r a t i o n d e l a h a u t e d i s p o n i b i l i t é Choisir l'interface sur laquelle on veut de la haute disponibilité dans la liste Interface de l'adresse IP redondée (VIP) et lui attribuer, dans le champ Adresse IP redondée (VIP), une adresse IP disponible sur le même réseau. Commandes crm Ressources de type Service Le Nom de la ressource apparaît dans les logs et les commandes crm et crm_mon. Sur le module Sphynx la valeur Nom de la ressource est pré-définie et ne doit surtout pas être modifiée. Sur Eolebase ce champ peut contenir le nom de votre choix sans espace et sans caractères spéciaux. 10
Ressources de type Ping Le Nom de la ressource apparaît dans les logs et les commandes crm et crm_mon. Sur le module Sphynx la valeur Nom de la ressource est pré-définie et ne doit surtout pas être modifiée. Sur Eolebase ce champ peut contenir le nom de votre choix sans espace et sans caractères spéciaux. Synchronisation des fichiers de configuration sur le node esclave La haute disponibilité en temps qu'esclave Paramétrage de corosync C o n f i g u r a t i o n d e l a h a u t e d i s p o n i b i l i t é 11
Sur le module Sphynx l'interface Interface de dialogue inter node est prédéfinie sur eth2. Il n'est pas nécessaire de changer cette valeur. Sur Eolebase on peut choisir une interface dédiée au dialogue inter-node. Le Nom de machine du node maitre doit contenir le Nom de la machine configuré renseigné sur le node maître. Adresse IP du node maitre sur l'interface de dialogue inter node permet de saisir l'adresse IP du node maître. Remarque Le Nom de machine du node maitre et l'adresse IP du node maitre sur l'interface de dialogue inter node permettent de renseigner le fichier hosts du module. C o n f i g u r a t i o n d e l a h a u t e d i s p o n i b i l i t é 12
Glossaire G l o s s a i r e Cluster Un cluster est un terme anglophone qui est utilisé pour parler de grappe ou de bloc suivant le contexte dans lequel il est utilisé : un cluster de serveur est une grappe de serveur constituée au minimum de 2 machines qui partage des ressources communes la plupart du temps à travers le réseau ; un cluster peut également être un bloc, un ensemble de données ou d'éléments présentant des similarités ; un cluster peut être un système informatique composé d'unité de calcul permettant une répartition de charge et une optimisation des traitements à réaliser pour effectuer des calculs. Corosync Haute Disponibilité Corosync est un moteur de cluster. Un cluster est un groupe de deux ou plusieurs machines. La haute disponibilité c'est garantir la disponibilité d'un service et son bon fonctionnement. 13
Annexe A n n e x e 1 Commandes crm Cette partie n'est pas documentée #fixme 14