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 02/07/2010, 19:54] – 90.25.247.127 | 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é}} |
| ---- | ---- | ||
| Ligne 6: | Ligne 6: | ||
| {{: | {{: | ||
| - | 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 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. |
| - | 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' | + | 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é [[http:// | Une interface java développée par la société [[http:// | ||
| - | + | \\ | |
| - | 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 37: | Ligne 36: | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | Dans cet exemple nous mettrons en place un cluster de deux machines. Avant de passer à la configuration du cluster il est nécessaire de faire quelques modifications pour que nos deux machines puissent communiquer entre elles. | + | Dans cet exemple nous mettrons en place un cluster de deux machines. Avant de passer à la configuration du cluster, il est nécessaire de faire quelques modifications pour que les deux machines puissent communiquer entre elles. |
| - | Voici un tableau de la configuration | + | Voici un tableau de la configuration |
| - | | ^ Nom de poste ^ Adresse | + | | |
| - | ^ 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> | ||
| - | Éditer | + | [[: |
| - | Fermer | + | Fermez |
| | | ||
| - | Éditer | + | [[: |
| - | + | ||
| - | sudo vim /etc/hosts | + | |
| | | ||
| - | Vous devriez voir un contenu semblable à celui ci (le nom de machine dépend bien sur de votre configuration): | + | Vous devriez voir un contenu semblable à celui-ci (le nom de machine dépend bien sûr de votre configuration) : |
| + | < | ||
| 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 des adresses | + | |
| + | === Configuration des adresses | ||
| - | Fixer les adresses | + | Fixez les adresses |
| - | Éditer 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édemment pacemaker s' | + | Comme énoncé |
| - | == 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 106: | 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 119: | Ligne 119: | ||
| mcastport: 5405 | mcastport: 5405 | ||
| } | } | ||
| - | | + | </ |
| - | ^ Options ^ Description ^ | + | ^ Options |
| - | | ringnumber | Numéro de l' | + | | ringnumber |
| | bindnetaddr | Correspond au réseau configuré sur la carte allant servir pour les tests entre membres | | | bindnetaddr | Correspond au réseau configuré sur la carte allant servir pour les tests entre membres | | ||
| - | | mcastaddr | Adresse de multicast | + | | mcastaddr |
| - | | mcast port | Port multicast utilisé | | + | | mcast port | Port multicast utilisé |
| - | Activer le démon corosync | + | === Activer le démon corosync |
| - | vim / | + | [[: |
| - | + | ||
| - | Faites la modification 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 à cela: | + | |
| + | 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 154: | 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 167: | Ligne 169: | ||
| mcastport: | mcastport: | ||
| } | } | ||
| - | interface { | + | |
| ringnumber: | ringnumber: | ||
| bindnetaddr: | bindnetaddr: | ||
| Ligne 173: | 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ème 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 | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | Mettre à zéro les compteurs d' | + | |
| - | + | ||
| - | sud | + | |
| - | + | ||
| - | Mettre à zéro l' | + | |
| - | + | ||
| - | | + | |
| === 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 | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | Vérifier sa 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 ==== | ||
| - | [[tutoriel: | + | Suivez le tutoriel **[[tutoriel: |
| ===== Supervision du cluster ===== | ===== Supervision du cluster ===== | ||
| Ligne 285: | 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 | ||
| - | Éditer 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 317: | Ligne 289: | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
| + | * **(en)** [[https:// | ||
| * //Basé sur l' | * //Basé sur l' | ||
| Ligne 322: | Ligne 295: | ||
| ---- | ---- | ||
| // | // | ||
| + | |||
| + | Mise en forme : // | ||
