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
Prochaine révision Les deux révisions suivantes
tutoriel:pacemaker_configuration_ip_virtuelle_plus_script_lsb [Le 13/08/2011, 13:27]
194.29.137.8 [Paramétrage de l'ip virtuelle]
tutoriel:pacemaker_configuration_ip_virtuelle_plus_script_lsb [Le 07/03/2020, 17:20]
5.51.84.115 [Cluster de deux machines ip virtuelle + supervision d'un service]
Ligne 5: Ligne 5:
  
  
-Ce tutoriel est une sous partie de la documentation pacemaker. Il décrit les différentes étapes de configuration du cluster par l'​intermédiaire ​du crm. Je vous conseille néanmoins de configurer les ressources avec l'​interface java de Linbit.+Ce tutoriel est une sous-partie de la documentation pacemaker. Il décrit les différentes étapes de configuration du cluster par l'​intermédiaire ​de la commande ​crm. Je vous conseille néanmoins de configurer les ressources avec l'​interface java de Linbit.
  
-Le but de cette configuration est de créé ​un cluster de serveur web (ou de reverse proxy) de deux machines. Une adresse virtuelle est partagée entre les deux machines, lorsque l'une d'​entre elle est hors ligne l'​autre machine peut prendre le relai automatiquement.+Le but de cette configuration est de créer ​un cluster de serveur web (ou de reverse proxy) de deux machines. Une adresse virtuelle est partagée entre les deux machines, lorsque l'une d'​entre elle est hors ligne l'​autre machine peut prendre le relai automatiquement.
  
 Détail des étapes de la configuration:​ Détail des étapes de la configuration:​
Ligne 13: Ligne 13:
   - Adresse ip virtuelle partagée entre les deux membres du cluster ici 192.168.1.100   - Adresse ip virtuelle partagée entre les deux membres du cluster ici 192.168.1.100
   - Lancement, arrêt et supervision d'un service par l'​intermédiaire d'un script d'​initialisation compatible LSB (ici nginx)   - Lancement, arrêt et supervision d'un service par l'​intermédiaire d'un script d'​initialisation compatible LSB (ici nginx)
-  - Clonage du service, nginx devra être démarré sur les deux machines+  - Clonage du service, nginx sera démarré sur les deux machines
   - Ordonnancement des ressources le service, nginx devra être démarré pour que l'​adresse ip virtuelle soit attribuée à un membre du cluster   - Ordonnancement des ressources le service, nginx devra être démarré pour que l'​adresse ip virtuelle soit attribuée à un membre du cluster
  
Ligne 19: Ligne 19:
 |              ^ Nom de poste                  ^ Adresse ip          ^ |              ^ Nom de poste                  ^ Adresse ip          ^
 ^ pc 1      | machine1 ​           | 192.168.1.101 ​   | ^ pc 1      | machine1 ​           | 192.168.1.101 ​   |
-^ pc 2      | machine2 |             ​192.168.1.102 ​    ​|+^ pc 2      | machine2 ​           | 192.168.1.102 ​   |
  
 ===== Pré-requis ===== ===== Pré-requis =====
  
   * Bien connaître le principe de fonctionnement de [[:​pacemaker]].   * Bien connaître le principe de fonctionnement de [[:​pacemaker]].
-  * Comprendre le principe de norme LSB pour les scripts d'​initialisation. ​+  * Comprendre le principe de la norme LSB pour les scripts d'​initialisation. ​
   ​   ​
  
 <​note>​ <​note>​
-Les scripts d'​initialisation sont ceux disponible ​dans le répertoire /​etc/​init.d/​. Pacemaker va les utiliser pour démarrer, arrêter et superviser l'​état du service. C'est pourquoi ces scripts doivent respecter les normes lsb. Pacemaker a par exemple besoin que les scripts possèdent un argument status. Pour plus d'​informations visitez cette [[http://​wiki.debian.org/​LSBInitScripts|page]]+Les scripts d'​initialisation sont ceux disponibles ​dans le répertoire /​etc/​init.d/​. Pacemaker va les utiliser pour démarrer, arrêter et superviser l'​état du service. C'est pourquoi ces scripts doivent respecter les normes lsb. Pacemaker a par exemple besoin que les scripts possèdent un argument status. Pour plus d'​informations visitez cette [[http://​wiki.debian.org/​LSBInitScripts|page]]
 </​note>​ </​note>​
   * Avoir effectué le tutoriel officiel en anglais est une bonne chose. [[http://​www.clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1/​html/​Clusters_from_Scratch/​index.html|lien]] ​   * Avoir effectué le tutoriel officiel en anglais est une bonne chose. [[http://​www.clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1/​html/​Clusters_from_Scratch/​index.html|lien]] ​
Ligne 58: Ligne 58:
   property no-quorum-policy=ignore ​   property no-quorum-policy=ignore ​
  
-Supervision d'un service grâce à son script situé dans le dossier /​etc/​init.d. Pacemaker s'​assurera qu'il est bien lancé toutes les 5 secondes.+
  
 ==== Paramétrage du service nginx ==== ==== Paramétrage du service nginx ====
Ligne 67: Ligne 67:
  
   sudo update-rc.d -f nginx remove   sudo update-rc.d -f nginx remove
 +
 +Ensuite nous allons indiquer à pacemaker de superviser le processus nginx. Pour cela il est nécessaire que le logiciel possède un script de démarrage et d'​arrêt dans le répertoire /​etc/​init.d. Ce script doit en outre respecter les normes LSB (si il est est déjà présent il doit sûrement les respecter). A l'​avenir c'est pacemaker qui démarrera nginx par intermédiaire de ce script. ​
 +
 +Instruction permettant à pacemaker de superviser un programme par l'​intermédiaire de son script systemV (init script)
  
 Syntaxe de base Syntaxe de base
Ligne 76: Ligne 80:
   primitive reverse-proxy lsb::nginx op monitor interval=5s   primitive reverse-proxy lsb::nginx op monitor interval=5s
   ​   ​
-Clonage de la ressource pour que le démon nginx soit démarré sur les deux machines+Clonage de la ressource pour que le démon nginx soit démarré sur les deux machines ​en même temps. Cela permet une migration plus rapide. Pacemaker n'​ayant pas à démarrer le processus puis à faire migrer l'​adresse ip.
  
 Syntaxe de base Syntaxe de base
Ligne 186: Ligne 190:
      ​reverse-proxy:​0:​ migration-threshold=1000000 fail-count=1      ​reverse-proxy:​0:​ migration-threshold=1000000 fail-count=1
  
-et si vous effectué ​cette commande ​+et si vous effectuez ​cette commande ​
  
   sudo /​etc/​init.d/​nginx status   sudo /​etc/​init.d/​nginx status
Ligne 194: Ligne 198:
   nginx is running   nginx is running
  
-Le processus a bien été redémarré après qu'il a été tuéIl n'y a pas eu de migration de l'​adresse ip.+Le processus a bien été redémarré après qu'il a été tuéIl n'y a pas eu de migration de l'​adresse ip.
  
 ==== Blocage du redémarrage du serveur nginx ==== ==== Blocage du redémarrage du serveur nginx ====
Ligne 204: Ligne 208:
   plop !   plop !
   ​   ​
-tuer à nouveau le processus du démon nginx +Tuer à nouveau le processus du démon nginx 
  
 Vous devriez obtenir ce résultat Vous devriez obtenir ce résultat
Ligne 218: Ligne 222:
      ​reverse-proxy:​0:​ migration-threshold=1000000 fail-count=1000000      ​reverse-proxy:​0:​ migration-threshold=1000000 fail-count=1000000
  
-On peut voir que l'​adresse ip virtuelle a été migrée vers la machine 2 et que le compteur d'​échec ​à été fixé à sa valeur maximale.+On peut voir que l'​adresse ip virtuelle a été migrée vers la machine 2 et que le compteur d'​échec ​été fixé à sa valeur maximale.
  
 ===== Voir aussi ===== ===== Voir aussi =====
  • tutoriel/pacemaker_configuration_ip_virtuelle_plus_script_lsb.txt
  • Dernière modification: Le 11/09/2022, 12:24
  • par moths-art