Cluster Linux avec Pacemaker, Corosync et PCS

Publié le 2016-10-30

Installer les packages

yum -y install corosync pacemaker pcs

Démarrage de pcsd

systemctl enable pcsd.service
systemctl start pcsd.service

Changer le mot de passe de l'utilisateur hacluster créé par pcsd

passwd hacluster

Authantification de pcsd sur les noeuds (ip ou noms si résolution)

pcs cluster auth SRV-TEST01A SRV-TEST01B

Création du cluster

pcs cluster setup --name DMZSVC01 SRV-TEST01A SRV-TEST01B

Démarrer tous les services (corosync et pacemaker) sur tous les noeuds

pcs cluster start --all

Activer les services au démarrage

systemctl enable corosync.service
systemctl enable pacemaker.service

Vérifier les status

crm_mon -1
pcs status
pcs status nodes
pcs status corosync

Désactiver le STONITH et le quorum (quorum inutile car juste 2 noeuds)

pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore

Lster les paramètres disponibles pour un type de ressource

pcs resource describe ocf:heartbeat:IPaddr2

Créer une IP virtuelle comme ressource

pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=142.101.210.23 cidr_netmask=25 op monitor interval=10s

Vérifier les paramètres définis pour une ressource

pcs resource show virtual_ip

Modifier les paramètres définis pour une ressource

pcs resource update virtual_ip ip=142.101.210.23

Vérifier les ressources

pcs status resources

Ajouter une contrainte (ip virtuelle de préférence sur SRV-TEST01A score de 50)

pcs constraint location virtual_ip prefers SRV-TEST01A=50

Vérifier les contraintes

pcs constraint

Créer la ressource postfix après avoir configurer les chemins vers GlusterFS et SSMTP comme MTA par défaut

pcs resource create smtp_postfix ocf:heartbeat:postfix binary="/usr/sbin/postfix" config_dir="/mnt/gluster/postfix/conf" op monitor interval="60s" timeout="20s"

Créer les contraintes pour postfix ou un resource group

pcs constraint location smtp_postfix prefers SRV-TEST01A=50
pcs constraint colocation add smtp_postfix virtual_ip INFINITY
pcs constraint order start virtual_ip then start smtp_postfix kind=Mandatory symmetrical=true

Les contraintes précédentes sont équivalentes à créer un groupe (l'ordre des resources est important)

pcs resource group add mail_group virtual_ip smtp_postfix

Créer un monitoring mail pour chaque evenement sur le cluster

pcs resource create cluster_monitoring ClusterMon user=root update=30 extra_options="-E /mnt/gluster/monitoring.pl" op monitor interval="120s" --clone

Arreter les services sur un noeud

pcs cluster stop SRV-TEST01A

Mettre un noeud en standby

pcs cluster standby SRV-TEST01A

Réactiver un noeud en standby

pcs cluster unstandby SRV-TEST01A

Réactiver une ressource Failed Unmanaged

pcs resource cleanup smtp_postfix
pcs resource manage smtp_postfix
pcs resource enable smtp_postfix

Déplacer une ressource

pcs resource move smtp_postfix SRV-TEST01A

La déplacer sur le noeud d'origine (défini par constraint

pcs resource clear smtp_postfix SRV-TEST01A

Liens complémentaires