This commit is contained in:
jlecour 2024-01-24 14:54:58 +01:00
parent 368bc41ced
commit 32db6b86fe

View file

@ -5,9 +5,9 @@ title: HowTo Pacemaker
* Documentation : <https://www.clusterlabs.org/pacemaker/doc/>
**Pacemaker** est un gestionnaire de ressources en cluster permettant de géré la haute disponibilité de ressources tournants sur plusieurs serveurs.
**Pacemaker** est un gestionnaire de ressources en cluster permettant de gérer la haute disponibilité de ressources tournants sur plusieurs serveurs.
Pacemaker utilise [Corosync](https://corosync.github.io/corosync/) pour géré la communication et les décisions entre les serveurs du cluster.
Pacemaker utilise [Corosync](https://corosync.github.io/corosync/) pour gérer la communication et les décisions entre les serveurs du cluster.
## Configuration d'un nouveau cluster
@ -36,11 +36,11 @@ Finalement nettoyer toute trace d'un cluster (Debian démarre le service pacemak
### Définition du cluster
> Il faut en plus que les machines puissent se connectées en root entre elles.
> Il faut en plus que les machines puissent se connecter en root entre elles.
Depuis l'une des machines du cluster (n'importe laquelle), configuré la connexion entre les serveurs du cluster.
> Cette commande peut être exécuter en plusieurs fois si le mot de passe de `hacluster` est différent sur les différents hôtes.
> Cette commande peut être exécutée en plusieurs fois si le mot de passe de `hacluster` est différent sur les différents hôtes.
~~~
host1# pcs host auth <host1> [addr=<ip_host1>] <host2> [addr=<ip_host2>] [...]
@ -64,7 +64,7 @@ host1# pcs cluster enable --all
### Activer ou désactiver le Fencing
Le **fencing** est géré via la configuration du `stonith` (Shoot The Other Node In The Head), dans le cas où il est activer, si une majorité des nodes d'un cluster n'arrivent pas à contacté un autre node alors le cluster éteindra automatiquement ce dernier node (généralement électriquement) d'une manière configurée, afin de protégé contre le split-brain.
Le **fencing** est géré via la configuration du `stonith` (Shoot The Other Node In The Head), dans le cas où il est activé, si une majorité des nodes d'un cluster n'arrivent pas à contacter un autre node alors le cluster éteindra automatiquement ce dernier node (généralement électriquement) d'une manière configurée, afin de protéger contre le split-brain.
Il est fortement recommandé de garder le fencing actif sur un cluster en production.
@ -82,7 +82,7 @@ pcs property set stonith-enabled=<true|false>
# pcs cluster cib-push "${cib_path:?}"
~~~
Si le nom des nodes pour le cluster est différent des noms connus par le matériel utilisé, il faut définir le paramètre `pcmk_host_map` avec le format suivant : `<nom_du_node1_pour_pacemaker>:<nom_du_node1_pour_stonith>;<nom_du_node2_pour_pacemaker>:<nom_du_node2_pour_stonith>` (si le stonith utilise plusieurs noms/ports pour un node, ils sont à séparé par des virgules).
Si le nom des nodes pour le cluster est différent des noms connus par le matériel utilisé, il faut définir le paramètre `pcmk_host_map` avec le format suivant : `<nom_du_node1_pour_pacemaker>:<nom_du_node1_pour_stonith>;<nom_du_node2_pour_pacemaker>:<nom_du_node2_pour_stonith>` (si le stonith utilise plusieurs noms/ports pour un node, ils sont à séparer par des virgules).
Pour obtenir la liste des matériels supportés, utilisé la commande suivante :
@ -117,7 +117,7 @@ Valeurs :
# pcs resource create <nom_de_ressource> <plugin_de_resource> <configuration> [clone|promotable]
~~~
> La configuration `clone` signifie que la ressource peut se trouvée active sur plusieurs machines en même temps, cela créé une ressource "locale" `<nom_de_ressource>_clone` qui est à utilisé pour les restrictions. `promotable` signifie que la ressource a une gestion interne de primaire/secondaire.
> La configuration `clone` signifie que la ressource peut se trouver active sur plusieurs machines en même temps, cela créé une ressource "locale" `<nom_de_ressource>_clone` qui est à utiliser pour les restrictions. `promotable` signifie que la ressource a une gestion interne de primaire/secondaire.
Les plugins de ressources disponibles à la définition sont obtenables avec les commandes suivantes (le format dans la commande de création de ressource est `<standard>:<provider>:<agent>` :
@ -143,7 +143,7 @@ Les configurations disponibles pour un plugin de ressource sont disponbiles avec
Pour définir une restriction de colocalisation de deux ressources (une ressource devant être sur un même serveur qu'un autre, ou le contraire) :
> Il est préféré de créé un groupe de ressource quand possible.
> Il est préférable de créer un groupe de ressource quand possible.
~~~
# pcs constraint colocation add <resource_contrainte> with <resource_contraignante> <score>