Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
pacemaker_tutoriel_ip_plus_script_lsb [Le 29/06/2010, 19:08] 86.210.64.20 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Lucid tutoriel pacemaker BROUILLON}} | ||
- | ---- | ||
- | |||
- | ====== Cluster de deux machines ip virtuelle + supervision service ====== | ||
- | |||
- | <note important> | ||
- | Cet article est en cours de rédaction. Si vous avez des améliorations à apporter ou des sugestions à me proposer n'hésitez pas à me contacter via la mailling list de la documentation. | ||
- | </note> | ||
- | |||
- | |||
- | 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. | ||
- | |||
- | Détails des étapes de la configuration: | ||
- | |||
- | - Adresse ip virtuelle partagée entre les deux menbres 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) | ||
- | - clonage le service nginx devra être démarrée sur les deux machines | ||
- | - ordonancement des ressources le service (nginx) devra être démarrée pour que l'adresse ip virtuelle soit attribuée à un membre du cluster | ||
- | |||
- | ===== Pré-requis ===== | ||
- | |||
- | * Disposer des [[:sudo|droits d'administration]]. | ||
- | * Bien connaître le principe de fonctionnement de [[pacemaker]]. | ||
- | * Comprendre le principe de norme LSB pour les scripts d'initialisation. | ||
- | | ||
- | |||
- | <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. | ||
- | </note> | ||
- | * Avoir effectuer 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]] | ||
- | * Ne pas avoir peur de lire la documentation officielle de pacemaker qui se trouve [[http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/index.html|ici]]. | ||
- | |||
- | ===== Configuration ===== | ||
- | |||
- | Entrer dans le mode de configuration du cluster | ||
- | |||
- | sudo crm configure | ||
- | | ||
- | Premierement nous allons désactivé deux fonctionnalités inutile pour notre cluster | ||
- | |||
- | * mode stonith "shot the other node in the head" permet lorsqu'une machine n'est plus joignable d'être sur que cette machine soit hors ligne | ||
- | * quorum indique le nombre minimal de membres pour prendre une décision. Ce paramètre est utile pour les cluster de plus de deux machines | ||
- | |||
- | |||
- | désactivation du mode stonith | ||
- | |||
- | property stonith-enabled=false | ||
- | |||
- | désctivation du paramètre quorum | ||
- | |||
- | property no-quorum-policy=ignore | ||
- | |||
- | Supervision d'un service grace à son script situé dans le dossier /etc/init.d. Pacemaker s'assurera qu'il est bien lancé toutes les 5 secondes. | ||
- | |||
- | Avant toute chose pensez à désactiver le démarage automatique du démon avec la commande ci dessous | ||
- | |||
- | sudo update-rc.d -f nginx remove | ||
- | |||
- | Syntaxe de base | ||
- | |||
- | primitive <nom de la ressource (ce que vous voulez)> lsb::<nom du démon> op monitor interval=5s | ||
- | |||
- | Dans notre cas | ||
- | |||
- | 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 | ||
- | |||
- | Syntaxe de base | ||
- | |||
- | clone <nom de la ressource> <nom de la ressource à cloner> | ||
- | |||
- | Dans notre cas | ||
- | | ||
- | clone clone_reverse_proxy reverse-proxy | ||
- | | ||
- | Création d'une ip virtuelle partagée entre les deux membres du cluster | ||
- | |||
- | primitive <nom de la ressource> ocf:heartbeat:IPaddr2 params ip="<adresse ip virtuelle>" broadcast="<adresse de broadcast>" cidr_netmask="<masque en écriture décimal>" nic="<nom de l'interface virtuelle>" meta target-role="started" migration-threshold="2" op monitor interval="<interval de temps de supervision>" | ||
- | | ||
- | explications: | ||
- | |||
- | ^ Options ^ explications ^ | ||
- | | target-role | started ou stopped l'état dans lequel pacemaker doit maintenir la ressource | | ||
- | | migration-threshold | nombre de fois maximal d'échec de la ressource, après le nombre de tentatives la machine est déclarée inéligible pour recevoir la ressource | | ||
- | |||
- | |||
- | |||
- | Dans notre cas | ||
- | | ||
- | primitive ip_virtuelle ocf:heartbeat:IPaddr2 params ip="192.168.1.100" broadcast="192.168.1.255" cidr_netmask="24" nic="eth0:0" meta target-role="started" migration-threshold="2" op monitor interval="10s" | ||
- | |||
- | Par défaut pacemaker répartie les ressources entre les membres du cluster. Bien qu'ici une des ressource soit clonée il est préférable de crée un lien entre les deux ressources clone_reverse_proxy et ip_virtuelle | ||
- | |||
- | Syntaxe de base | ||
- | |||
- | colocation link-ressources INFINITY: <nom de la première ressource> <nom de la deuxième> | ||
- | | ||
- | Dans notre cas | ||
- | |||
- | colocation link-ressources INFINITY: clone_reverse_proxy ip_virtuelle | ||
- | | ||
- | Il est aussi nécéssaire d'établir un ordre de démmarage entre les ressources. En effet l'ip virtuelle ne doit être activée que si le démon nginx est lancée | ||
- | |||
- | Syntaxe de base | ||
- | |||
- | order <nom de la ressource> mandatory: <première ressource à lancer> <deuxième ressource> | ||
- | |||
- | Dans notre cas | ||
- | |||
- | order demon_before mandatory: clone_reverse_proxy ip_virtuelle | ||
- | | ||
- | Il peut aussi être intéressant de choisir une machine préférée pour accueillir la ressource. Ici nous voulons que l'adresse ip virtuelle soit activée par défaut sur la machine1. | ||
- | |||
- | Syntaxe de base | ||
- | |||
- | location <nom ressource> <nom de la ressource> <score>: <nom du poste> | ||
- | | ||
- | Dans notre cas | ||
- | |||
- | location node-master ip_virtuelle 50: machine1 | ||
- | |||
- | Vérifier que votre configuration est correcte, normalement l'analyse ne doit pas rapporter d'erreurs | ||
- | |||
- | verify | ||
- | | ||
- | Puis appliquez votre configuration au cluster | ||
- | |||
- | commit | ||
- | |||
- | |||
- | ===== Voir aussi ===== | ||
- | |||
- | * **(fr)** [[pacemaker|fiche du logiciel pacemaker]] | ||
- | |||
- | |||
- | |||
- | ---- | ||
- | //Contributeurs principaux : [[:utilisateurs:Miam Miam]].// | ||
- | |||