Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pacemaker [Le 29/06/2010, 18:15] – 86.210.64.20 | pacemaker [Le 11/09/2022, 11:43] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Lucid réseaux pacemaker BROUILLON}} | + | {{tag>Xenial réseau haute_disponibilité}} |
| ---- | ---- | ||
| ====== Pacemaker ====== | ====== Pacemaker ====== | ||
| - | <note important> | + | {{: |
| - | Cette page est en cours de construction | + | |
| - | </ | + | |
| - | {{: | + | Pacemaker est un gestionnaire de cluster haute disponibilité. Il est chargé de démarrer, arrêter et superviser les ressources du cluster. Ce projet est supporté par les entreprises Red Hat, Novel et Linbit. Un cluster est un groupe de deux ou plusieurs machines. |
| - | Pacemaker est un gestionnaire | + | Pour des services vraiment délicats comme un serveur web il peut être intéressant |
| - | Pour des services vraiment délicats comme un serveur web il peut être intéressant de configurer deux serveurs webs sur deux machines physiques. Si l'un des deux serveurs tombe en panne pacemaker se chargera de remplacer le serveur défaillant par le deuxième. L' | + | {{: |
| - | {{: | + | Comme l'on peut le voir sur le schéma, Pacemaker s' |
| - | + | ||
| - | Comme l'on peut le voir sur le schéma Pacemaker s' | + | |
| < | < | ||
| - | Une interface java développée par la sociétée | + | Une interface java développée par la société |
| - | + | \\ | |
| - | Cette interface permet à partir d'un accès ssh d' | + | Cette interface permet à partir d' |
| - | + | \\ | |
| - | Cette interface est initialement | + | Cette interface est initialement |
| + | \\ | ||
| Il est tout de même conseillé de bien comprendre la configuration en ligne de commande avant d' | Il est tout de même conseillé de bien comprendre la configuration en ligne de commande avant d' | ||
| - | + | \\ | |
| - | Télécharger | + | Téléchargez |
| </ | </ | ||
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| - | | + | * Savoir ce qu'est la notion de [[haute disponibilité]] |
| - | | + | * Avoir des rudiments de connaissances concernant |
| - | * Avoir des rudiments de connaissances concernant | + | |
| ===== Installation ===== | ===== Installation ===== | ||
| Ligne 41: | Ligne 36: | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | Dans cet example | + | Dans cet exemple |
| - | Voici un tableau de la configuration | + | Voici un tableau de la configuration |
| - | | ^ Nom de poste ^ adresse ip | + | | |
| - | ^ pc 1 | machine1 | + | ^ pc 1 | machine1 |
| - | ^ pc 2 | machine2 | | + | ^ pc 2 | machine2 |
| ==== Configuration des machines ==== | ==== Configuration des machines ==== | ||
| - | **Modification du nom des machines** | + | === Modification du nom des machines |
| - | Donner des noms à nos deux machines permettra d' | + | Donner des noms différents |
| sudo hostname <nom de machine> | sudo hostname <nom de machine> | ||
| - | Editer | + | [[: |
| - | Fermer | + | Fermez |
| | | ||
| - | Editer | + | [[: |
| - | + | ||
| - | sudo vim /etc/hosts | + | |
| | | ||
| - | Vous devriez voir un contenu semblable | + | Vous devriez voir un contenu semblable |
| + | < | ||
| 127.0.0.1 | 127.0.0.1 | ||
| 127.0.1.1 | 127.0.1.1 | ||
| - | + | </ | |
| - | Rajouter ceci: | + | |
| + | Rajoutez ceci: | ||
| + | < | ||
| 127.0.0.1 | 127.0.0.1 | ||
| 192.168.1.101 machine1 | 192.168.1.101 machine1 | ||
| 192.168.1.102 machine2 | 192.168.1.102 machine2 | ||
| - | | + | </ |
| - | **Configuration | + | |
| + | === Configuration | ||
| - | Fixer les adresse ip des machines en suivant cette [[http:// | + | Fixez les adresses IP des machines en suivant cette [[:tutoriel:comment_configurer_son_reseau_local# |
| - | Editer le fichier /etc/resolv.conf et ajouter ceci: | + | Pensez à configurer les serveurs DNS. |
| + | [[: | ||
| + | < | ||
| nameserver <adresse ip serveur dns> | nameserver <adresse ip serveur dns> | ||
| + | </ | ||
| - | === Configuration de la partie exécutive du cluster === | + | ==== Configuration de la partie exécutive du cluster |
| - | Comme je vous l'ai dit précédement | + | Comme énoncé précédemment, |
| - | == Configuration de corosync == | + | === Configuration de corosync |
| - | Création d' | + | Création d' |
| corosync-keygen | corosync-keygen | ||
| <note tip> | <note tip> | ||
| - | Si vous êtes connecté au poste à distance. | + | Si vous êtes connecté au poste à distance. |
| </ | </ | ||
| - | Envoi de ce fichier et modification des droits de ce fichier sur l' | + | Envoi de ce fichier et modification des droits de ce fichier sur l' |
| sudo scp / | sudo scp / | ||
| Ligne 110: | Ligne 108: | ||
| sudo chmod 400 / | sudo chmod 400 / | ||
| | | ||
| - | Configuration du fichier | + | [[: |
| - | + | ||
| - | sudo vim / | + | |
| La partie du fichier à modifier est la partie concernant la configuration de l' | La partie du fichier à modifier est la partie concernant la configuration de l' | ||
| + | < | ||
| interface { | interface { | ||
| # The following values need to be set based on your environment | # The following values need to be set based on your environment | ||
| Ligne 123: | Ligne 119: | ||
| mcastport: 5405 | mcastport: 5405 | ||
| } | } | ||
| - | | + | </ |
| - | ^ Options ^ Description ^ | + | ^ Options |
| - | | ringnumber | numéro | + | | ringnumber |
| - | | bindnetaddr | correspond | + | | bindnetaddr | Correspond |
| - | | mcastaddr | adresse | + | | mcastaddr |
| - | | mcast port | port multicast utilisé | | + | | mcast port | Port multicast utilisé |
| - | Activer le démon corosync | + | === Activer le démon corosync |
| - | vim / | + | [[: |
| - | + | ||
| - | Faites la modifiacation suivante | + | |
| + | Faites la modification suivante : | ||
| + | < | ||
| START=yes | START=yes | ||
| + | </ | ||
| - | Lancement des deux démons sur les deux membres: | + | Lancement des deux démons sur les deux membres : |
| / | / | ||
| + | | ||
| + | Affichage de l' | ||
| - | Affichage de l' | + | sudo crm_mon --one-shot |
| - | + | ||
| - | sudo crm_mon --one-shot | + | |
| - | + | ||
| - | Le résultat de la commande devrait ressembler à ça: | + | |
| + | Le résultat de la commande devrait ressembler à cela : | ||
| + | < | ||
| Last updated: Mon May 3 10:08:55 2010 | Last updated: Mon May 3 10:08:55 2010 | ||
| Stack: openais | Stack: openais | ||
| Ligne 158: | Ligne 155: | ||
| ============ | ============ | ||
| Online: [ machine1 machine2 ] | Online: [ machine1 machine2 ] | ||
| + | </ | ||
| - | == Configuration avancée de corosync == | + | === Configuration avancée de corosync |
| - | Il peut être judicieux de configurer plusieurs interfaces redondantes pour le lien entre les deux postes. | + | Il peut être judicieux de configurer plusieurs interfaces redondantes pour le lien entre les deux postes. |
| - | + | ||
| - | Pour cela il suffit de déclarer une deuxième interface avec le paramètre ringnumber incrémenté, | + | |
| + | Pour cela il suffit de déclarer une deuxième interface avec le paramètre **// | ||
| + | < | ||
| interface { | interface { | ||
| ringnumber: | ringnumber: | ||
| Ligne 171: | Ligne 169: | ||
| mcastport: | mcastport: | ||
| } | } | ||
| - | interface { | + | |
| ringnumber: | ringnumber: | ||
| bindnetaddr: | bindnetaddr: | ||
| Ligne 177: | Ligne 175: | ||
| mcastport: | mcastport: | ||
| } | } | ||
| + | </ | ||
| - | Modifier | + | Modifiez |
| + | < | ||
| rrd_mode: active | rrd_mode: active | ||
| + | </ | ||
| + | ^ Options ^ Description | ||
| + | | active | ||
| + | | passive | La deuxième est utilisée seulement dans le cas où la première ne fonctionne plus | | ||
| - | ^ Options ^ Description ^ | + | ===== Commandes de gestion du cluster ===== |
| - | | active | Les deux interfaces sont utilisés | | + | |
| - | | passive | La deuxièmle est utilisé seulement dans le cas où la première ne fonctionne plus | | + | |
| - | + | ||
| - | ===== Commandes de gestion du cluster===== | + | |
| === Informations sur l' | === Informations sur l' | ||
| - | Afficher | + | * Affichez |
| + | |||
| - | crm_mon | + | ^ Options |
| - | + | | -f | |
| - | + | | -1 --one-shot | |
| - | ^ Options | + | |
| - | | -f | + | |
| - | | -1 --one-shot | + | |
| === Action sur les postes et les ressources === | === Action sur les postes et les ressources === | ||
| - | Accéder à l' | + | * Accéder à l' |
| - | + | ||
| - | | + | |
| - | ^ Commandes | + | ^ Commandes |
| - | | help | + | | help | Liste les commandes disponibles | |
| - | | status | + | | status |
| - | | end, | + | | end, |
| - | | quit, | + | | quit, |
| - | Mettre un poste en maintenance | + | * Mettre un poste en maintenance |
| - | + | | |
| - | | + | |
| - | + | | |
| - | Sortir un poste de maintenance | + | |
| - | + | | |
| - | | + | |
| - | | + | |
| - | Migrer une ressource vers un autre poste | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | Annuler la migration de la ressource | + | |
| - | + | ||
| - | sudo crm ressource unmigrate | + | |
| - | | + | |
| === Modification de la configuration du cluster === | === Modification de la configuration du cluster === | ||
| - | Entrer dans la mode de configuration | + | * Entrer dans la mode de configuration |
| - | + | ||
| - | | + | |
| | | ||
| == Modifier la configuration d'un cluster en activité == | == Modifier la configuration d'un cluster en activité == | ||
| - | Crée une copie de la configuration actuelle | + | * Créer |
| - | + | crm(live)# cib new copy_config</ | |
| - | | + | |
| - | crm(live)# cib new copy_config | + | |
| - | + | | |
| - | Utiliser la copie de la configuration | + | |
| - | + | | |
| - | | + | |
| - | | + | |
| - | Entrer dans le mode de configuration | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | Voir la configuration | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | Supprimer une ressource | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | Appliquer la nouvelle configuration au cluster | + | |
| - | + | ||
| - | | + | |
| ===== Configuration de clusters===== | ===== Configuration de clusters===== | ||
| - | Cette section regroupe | + | Cette section regroupe |
| ==== Cluster de deux machines ==== | ==== Cluster de deux machines ==== | ||
| - | [[pacemaker_tutoriel_ip_plus_script_lsb| Adresse | + | Suivez le tutoriel **[[tutoriel: |
| ===== Supervision du cluster ===== | ===== Supervision du cluster ===== | ||
| Ligne 277: | Ligne 244: | ||
| ==== Trap snmp ==== | ==== Trap snmp ==== | ||
| - | Pacemaker gère l' | + | Pacemaker gère l' |
| - | === Supervision avec l' | + | ==== Supervision avec l' |
| - | Cette partie s' | + | Cette partie s' |
| Il est possible de créer un script permettant de savoir si les compteurs d' | Il est possible de créer un script permettant de savoir si les compteurs d' | ||
| - | Création | + | [[: |
| - | + | ||
| - | sudo vim / | + | |
| | | ||
| - | Contenu de ce script | + | Contenu de ce script |
| + | < | ||
| + | OK_STATE=0 | ||
| + | WARNING_STATE=1 | ||
| + | CRITICAL_STATE=2 | ||
| + | cnt=0 | ||
| - | héhé | + | cnt=`sudo crm_mon -1f | grep -q fail-count` |
| - | Déclarer le script dans la configuration de l' | + | if [ $? -eq 0 ] |
| + | then | ||
| + | echo " | ||
| + | exit $WARNING_STATE | ||
| + | else | ||
| - | Editer le fichier / | + | echo "OK: all ressources are working properly" |
| + | exit $OK_STATE | ||
| + | fi</ | ||
| + | Déclarer le script dans la configuration de l' | ||
| + | |||
| + | [[: | ||
| + | < | ||
| command[check_pacemaker]=/ | command[check_pacemaker]=/ | ||
| + | </ | ||
| ===== Désinstallation ===== | ===== Désinstallation ===== | ||
| - | Pour supprimer cette application, | + | Pour supprimer cette application, |
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| Ligne 309: | Ligne 289: | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
| + | * **(en)** [[https:// | ||
| * //Basé sur l' | * //Basé sur l' | ||
| Ligne 314: | Ligne 295: | ||
| ---- | ---- | ||
| // | // | ||
| + | |||
| + | Mise en forme : // | ||
