Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
pacemaker [Le 29/08/2010, 23:02]
frombenny orthographe tag réseau selon demande faite sur les chantiers du wiki
pacemaker [Le 11/09/2022, 11:43] (Version actuelle)
moths-art 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)
Ligne 1: Ligne 1:
-{{tag>Lucid réseau haute_disponibilité}}+{{tag>Xenial ​réseau haute_disponibilité}}
 ---- ----
  
Ligne 8: Ligne 8:
 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'​utilisateur ​ni aura vu que du feu et ne se sera jamais rendu compte que l'un des serveurs était tombé en panne.+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'​utilisateur ​n'​y ​aura vu que du feu et ne se sera jamais rendu compte que l'un des serveurs était tombé en panne.
  
 {{:​pacemaker_lucid_01.png?​400*300}} {{:​pacemaker_lucid_01.png?​400*300}}
Ligne 16: Ligne 16:
 <​note>​ <​note>​
 Une interface java développée par la société [[http://​www.linbit.com/​en/​|Linbit]] permet de configurer le cluster via une interface graphique. Une interface java développée par la société [[http://​www.linbit.com/​en/​|Linbit]] permet de configurer le cluster via une interface graphique.
-\\ \\  +\\ 
-Cette interface permet à partir d'un [[:​ssh|accès ssh]] d'​installer et de configurer le logiciel pacemaker et les logiciels sur lesquels pacemaker se base. +Cette interface permet à partir d'un [[:​ssh|accès ssh]] d'​installer et de configurer le logiciel pacemaker et les logiciels sur lesquels pacemaker se base sur les serveurs à distance
-\\ \\  +\\ 
-Cette interface est initialement ​prévu ​pour mettre en place la technologie de raid réseau [[:drbd]]. Bien entendu dans le cas présent, nous n'​utiliserons pas cette fonctionnalité. +Cette interface est initialement ​prévue ​pour mettre en place la technologie de raid réseau [[:drbd]]. Bien entendu dans le cas présent, nous n'​utiliserons pas cette fonctionnalité. 
-\\ \\ +\\
 Il est tout de même conseillé de bien comprendre la configuration en ligne de commande avant d'​utiliser cet outil. Il est tout de même conseillé de bien comprendre la configuration en ligne de commande avant d'​utiliser cet outil.
-\\ \\ +\\
 Téléchargez l'​applet java [[http://​oss.linbit.com/​drbd-mc/​|ici]]. Téléchargez l'​applet java [[http://​oss.linbit.com/​drbd-mc/​|ici]].
 </​note>​ </​note>​
Ligne 28: Ligne 28:
 ===== Pré-requis ===== ===== Pré-requis =====
  
-  * Avoir au minimum deux postes sous Ubuntu 10.04 LTS (sinon il n'y a pas vraiment d'​intérêt à faire un cluster) 
   * Savoir ce qu'est la notion de [[haute disponibilité]]   * Savoir ce qu'est la notion de [[haute disponibilité]]
-  * Avoir des rudiments de connaissances concernant ​le réseau+  * Avoir des rudiments de connaissances concernant ​les réseaux
  
 ===== Installation ===== ===== Installation =====
Ligne 39: Ligne 38:
 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. 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 ​que sera utilisée par la suite :+Voici un tableau de la configuration ​qui sera utilisée par la suite :
  
 |           ^ Nom de poste ^ Adresse IP       ^ |           ^ Nom de poste ^ Adresse IP       ^
Ligne 50: Ligne 49:
 === Modification du nom des machines === === Modification du nom des machines ===
  
-Donner des noms différent ​à chacune des machines permettra d'​avoir une configuration plus lisible dans le futur. (Ne pas utiliser de majuscules pour éviter un bug avec l'​interface java)+Donner des noms différents ​à chacune des machines permettra d'​avoir une configuration plus lisible dans le futur. (Ne pas utiliser de majuscules pour éviter un bug avec l'​interface java)
  
   sudo hostname <nom de machine>   sudo hostname <nom de machine>
Ligne 60: Ligne 59:
 [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier de configuration]] **''/​etc/​hosts''​** [[:​tutoriel:​comment_editer_un_fichier|éditez le fichier de configuration]] **''/​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) :
 <​file>​ <​file>​
   127.0.0.1 ​      ​localhost   127.0.0.1 ​      ​localhost
Ligne 75: Ligne 74:
 === Configuration des adresses IP des interfaces === === Configuration des adresses IP des interfaces ===
  
-Fixez les adresses IP des machines en suivant cette [[:​tutoriel:​comment_configurer_son_reseau_local#​fixer_l_adresse_ip_de_nos_machines|procédure]]. Pensez à configurer les serveurs DNS.+Fixez les adresses IP des machines en suivant cette [[:​tutoriel:​comment_configurer_son_reseau_local#​fixer_l_adresse_ip_de_nos_machines|procédure]]. ​ 
 + 
 +Pensez à configurer les serveurs DNS.
  
 [[:​tutoriel:​comment_modifier_un_fichier|Éditez le fichier]] ''​**/​etc/​resolv.conf**''​ et ajouter ceci: [[:​tutoriel:​comment_modifier_un_fichier|Éditez le fichier]] ''​**/​etc/​resolv.conf**''​ et ajouter ceci:
Ligne 118: Ligne 119:
                   mcastport: 5405                   mcastport: 5405
           }           }
-</​file> ​   +</​file>​
  
  
Ligne 136: Ligne 137:
 </​file>​ </​file>​
  
-Lancement des deux démons sur les deux membres : +Lancement des deux démons sur les deux membres :
  
   /​etc/​init.d/​corosync start   /​etc/​init.d/​corosync start
Ligne 158: Ligne 159:
 === 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é. Pensez à changer l'​adresse de multicast et le port de destination((bien que je ne sois pas sur que cela soit indispensable.)).+Pour cela il suffit de déclarer une deuxième interface avec le paramètre **//​ringnumber//​** incrémenté. Pensez à changer l'​adresse de multicast et le port de destination((bien que je ne sois pas sûr que cela soit indispensable.)).
 <​file>​ <​file>​
   interface {   interface {
Ligne 168: Ligne 169:
  mcastport: ​  5400  mcastport: ​  5400
  }  }
- interface {+  ​interface {
  ringnumber: ​ 1  ringnumber: ​ 1
  bindnetaddr:​ 192.168.1.0  bindnetaddr:​ 192.168.1.0
Ligne 183: Ligne 184:
  
 ^ Options ^ Description ​                                                                     ^ ^ Options ^ Description ​                                                                     ^
-| active ​ | Les deux interfaces sont utilisés ​                                               |+| active ​ | Les deux interfaces sont utilisées ​                                               |
 | passive | La deuxième est utilisée seulement dans le cas où la première ne fonctionne plus | | passive | La deuxième est utilisée seulement dans le cas où la première ne fonctionne plus |
  
Ligne 193: Ligne 194:
    
  
-^ Options ​       ^ Explications ​                                                                  ^  +^ Options ​       ^ Explications ​                                                                  ^ 
-| -f             | Permet d'​afficher les compteurs d'​erreurs durant les migrations des ressources |  +| -f             | Permet d'​afficher les compteurs d'​erreurs durant les migrations des ressources | 
-| -1 --one-shot ​ | Affiche l'​état à un seul instant et quitte (utile dans les scripts) ​           | +| -1 --one-shot ​ | Affiche l'​état à un seul instant et quitte (utile dans les scripts) ​           |
  
 === Action sur les postes et les ressources === === Action sur les postes et les ressources ===
Ligne 202: Ligne 203:
  
  
-^ Commandes ​    ^ Explications ​                   ^  +^ Commandes ​    ^ Explications ​                   ^ 
-| help          | Liste les commandes disponibles | +| help          | Liste les commandes disponibles |
 | status ​       | Affiche l'​état du cluster ​      | | status ​       | Affiche l'​état du cluster ​      |
-| end,​cd,​up ​    | Revenir au niveau précédent ​    |  +| end,​cd,​up ​    | Revenir au niveau précédent ​    | 
-| quit,​bye,​exit | Quitter le crm                  | +| quit,​bye,​exit | Quitter le crm                  |
  
  
   * Mettre un poste en maintenance :<​code>​sudo crm node standby</​code>​   * Mettre un poste en maintenance :<​code>​sudo crm node standby</​code>​
   * Sortir un poste de maintenance :<​code>​sudo crm node online</​code>​   * Sortir un poste de maintenance :<​code>​sudo crm node online</​code>​
-  * Migrer une ressource vers un autre poste :<​code>​sudo crm ressource ​migrate <nom ressource>​ <nom du poste allant accueillir la ressource></​code>​ +  * Migrer une ressource vers un autre poste :<​code>​sudo crm resource ​migrate <nom ressource>​ <nom du poste allant accueillir la ressource></​code>​ 
-  * Annuler la migration de la ressource :<​code>​sudo crm ressource ​unmigrate <nom ressource></​code>​+  * Annuler la migration de la ressource :<​code>​sudo crm resource ​unmigrate <nom ressource></​code>​
   * Mettre à zéro les compteurs d'​échec pour un hôte et une ressource donnés :<​code>​sudo crm resource failcount <nom de la ressource>​ delete <nom de l'​hôte></​code>​   * Mettre à zéro les compteurs d'​échec pour un hôte et une ressource donnés :<​code>​sudo crm resource failcount <nom de la ressource>​ delete <nom de l'​hôte></​code>​
   * Mettre à zéro l'​état d'une ressource :<​code>​sudo crm resource cleanup <nom de la ressource></​code>​   * Mettre à zéro l'​état d'une ressource :<​code>​sudo crm resource cleanup <nom de la ressource></​code>​
Ligne 233: Ligne 234:
 ===== Configuration de clusters===== ===== Configuration de clusters=====
  
-Cette section regroupe tous les liens vers des tutoriels proposant des configurations de cluster. Si cette documentation vous a permis de comprendre et d'​utiliser pacemaker. Il serait intéressant que vous laissiez une trace de la configuration que vous avez réalisé.+Cette section regroupe tous les liens vers des tutoriels proposant des configurations de cluster. Si cette documentation vous a permis de comprendre et d'​utiliser pacemaker, il serait intéressant que vous laissiez une trace de la configuration que vous avez réalisée.
  
 ==== Cluster de deux machines ==== ==== Cluster de deux machines ====
Ligne 243: Ligne 244:
 ==== Trap snmp ==== ==== Trap snmp ====
  
-Pacemaker gère l'​envoi de traps snmp. Si quelqu'​un ​à réussit ​à les utiliser, sa contribution est la bienvenue.+Pacemaker gère l'​envoi de traps snmp. Si quelqu'​un ​a réussi ​à les utiliser, sa contribution est la bienvenue.
  
-=== Supervision avec l'​agent nrpe ===+==== Supervision avec l'​agent nrpe ====
  
 Cette partie s'​adresse aux personnes connaissant [[:nagios]] et l'​agent [[nrpe]]. Cette partie s'​adresse aux personnes connaissant [[:nagios]] et l'​agent [[nrpe]].
Ligne 254: Ligne 255:
   ​   ​
 Contenu de ce script : Contenu de ce script :
 +<​code>#​!/​bin/​sh
 +OK_STATE=0
 +WARNING_STATE=1
 +CRITICAL_STATE=2
 +cnt=0
 +
 +cnt=`sudo crm_mon -1f | grep -q fail-count`
 +
 +if [ $? -eq 0 ]
 +then
 +        echo "​WARNING:​ some ressources have failed!"​
 +        exit $WARNING_STATE
 +else
  
-FIXME  héhé (?)+echo "OK: all ressources are working properly"​ 
 +exit $OK_STATE
  
 +fi</​code>​
 Déclarer le script dans la configuration de l'​agent nrpe Déclarer le script dans la configuration de l'​agent nrpe
  
Ligne 266: Ligne 282:
 ===== Désinstallation ===== ===== Désinstallation =====
  
-Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, ​le configuration globale de l'​application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels ​sont toujours conservés.+Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, ​la configuration globale de l'​application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels ​seront ​toujours conservés.
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 273: Ligne 289:
   * **(en)** [[http://​www.clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1/​html/​Pacemaker_Explained/​index.html|documentation officielle]]   * **(en)** [[http://​www.clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1/​html/​Pacemaker_Explained/​index.html|documentation officielle]]
   * **(en)** [[http://​www.clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1/​html/​Clusters_from_Scratch/​index.html|tutoriel officiel]]   * **(en)** [[http://​www.clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1/​html/​Clusters_from_Scratch/​index.html|tutoriel officiel]]
 +  * **(en)** [[https://​wiki.ubuntu.com/​ClusterStack/​LucidTesting| wiki.ubuntu.com]]
   * //Basé sur l'​article [[http://​wiki.lustre.org/​index.php/​Using_Pacemaker_with_Lustre|« Using Pacemaker with Lustre ​ »]].//   * //Basé sur l'​article [[http://​wiki.lustre.org/​index.php/​Using_Pacemaker_with_Lustre|« Using Pacemaker with Lustre ​ »]].//
  
Ligne 279: Ligne 296:
 //​Contributeurs principaux : [[:​utilisateurs:​Miam Miam]].// //​Contributeurs principaux : [[:​utilisateurs:​Miam Miam]].//
  
-Mise en forme : //​[[:​utilisateurs:​draco31.fr|draco31.fr]]//​+Mise en forme : //​[[:​utilisateurs:​draco31.fr|draco31.fr]].//
  
  • pacemaker.1283115773.txt.gz
  • Dernière modification: Le 18/04/2011, 14:58
  • (modification externe)