Mettre en place un Cluster RedHat sur VMware est une excellente solution pour assurer la haute disponibilité des services critiques. Voici un guide détaillé sur l’installation et la configuration d’un cluster RedHat avec Pacemaker et Corosync, en l’intégrant dans un environnement VMware.
Avant de commencer, assure-toi d’avoir : ✅ Deux ou plusieurs VMs sous Red Hat Enterprise Linux (RHEL 8 ou 9).
✅ Un stockage partagé (vSAN, NFS, iSCSI, Fibre Channel).
✅ Un réseau stable avec une IP statique pour chaque VM.
✅ VMware Tools installés sur chaque VM.
Sur tous les nœuds du cluster, installe Pacemaker, Corosync et les agents de fencing pour VMware.
yum install -y pacemaker pcs fence-agents-vmware
Active et démarre le service pcsd (service de gestion du cluster).
systemctl enable --now pcsd
Ajoute un mot de passe pour l’utilisateur de gestion du cluster.
echo "hacluster:password" | chpasswd
Authentifie tous les nœuds du cluster :
pcs cluster auth node1 node2 node3 -u hacluster -p password
Crée et configure le cluster avec Pacemaker.
pcs cluster setup --name my_cluster node1 node2 node3
Démarre et active le cluster :
pcs cluster start --all
pcs cluster enable --all
Vérifie l’état du cluster :
pcs status
Le fencing empêche un nœud en panne d’impacter le reste du cluster. Dans VMware, on utilise le fencing via vSphere (fence_vmware_rest).
Connecte-toi à l’hyperviseur vCenter et récupère les UUIDs des VMs :
govc vm.info -json | jq '.VirtualMachines[].Config.Uuid'
Ajoute un agent de fencing basé sur vSphere :
pcs stonith create fence_vmware fence_vmware_rest \
pcmk_host_map="node1:vm-uuid-node1;node2:vm-uuid-node2" \
ip="vcenter-IP" \
username="vcenter-user" \
password="vcenter-password" \
ssl_insecure=1 \
action="off" --force
Teste le fencing :
pcs stonith fence node1
Si tu veux rendre Apache HA avec Pacemaker :
yum install -y httpd
systemctl enable --now httpd
pcs resource create WebServer ocf:heartbeat:apache \
configfile="/etc/httpd/conf/httpd.conf" \
op monitor interval=30s \
--group web_group
pcs status
Tu devrais voir Apache en cours d’exécution sur un des nœuds.
Pour que l’application soit accessible même en cas de bascule, configure une IP flottante :
pcs resource create VirtualIP ocf:heartbeat:IPaddr2 \
ip=192.168.1.100 cidr_netmask=24 \
op monitor interval=30s \
--group web_group
Vérifie la configuration :
pcs status
Simule un crash de node1 pour voir si la bascule fonctionne.
pcs cluster stop node1
Vérifie si les services ont basculé sur node2 :
pcs status
Si tout fonctionne bien, la Virtual IP et Apache devraient maintenant tourner sur node2.
✅ Configurer le quorum et la gestion des votes
pcs quorum status
✅ Activer le watchdog pour une meilleure stabilité
yum install -y watchdog
systemctl enable --now watchdog
✅ Mettre en place des notifications d’alertes en cas d’incident Tu peux configurer Pacemaker pour envoyer des alertes par email.
Tu as maintenant un cluster Red Hat HA fonctionnel sur VMware, capable d’assurer une haute disponibilité avec Pacemaker, Corosync et fencing VMware.
✔ Cluster avec 2 ou 3 nœuds.
✔ Fencing pour éviter le split-brain.
✔ IP flottante pour l’accès aux services.
✔ Failover automatique d’Apache.