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.
1 |
yum install -y pacemaker pcs fence-agents-vmware |
Active et démarre le service pcsd (service de gestion du cluster).
1 |
systemctl enable --now pcsd |
Ajoute un mot de passe pour l’utilisateur de gestion du cluster.
1 |
echo "hacluster:password" | chpasswd |
Authentifie tous les nœuds du cluster :
1 |
pcs cluster auth node1 node2 node3 -u hacluster -p password |
Crée et configure le cluster avec Pacemaker.
1 |
pcs cluster setup --name my_cluster node1 node2 node3 |
Démarre et active le cluster :
1 2 |
pcs cluster start --all pcs cluster enable --all |
Vérifie l’état du cluster :
1 |
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 :
1 |
govc vm.info -json | jq '.VirtualMachines[].Config.Uuid' |
Ajoute un agent de fencing basé sur vSphere :
1 2 3 4 5 6 7 |
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 :
1 |
pcs stonith fence node1 |
Si tu veux rendre Apache HA avec Pacemaker :
1 2 |
yum install -y httpd systemctl enable --now httpd |
1 2 3 4 |
pcs resource create WebServer ocf:heartbeat:apache \ configfile="/etc/httpd/conf/httpd.conf" \ op monitor interval=30s \ --group web_group |
1 |
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 :
1 2 3 4 |
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 :
1 |
pcs status |
Simule un crash de node1 pour voir si la bascule fonctionne.
1 |
pcs cluster stop node1 |
Vérifie si les services ont basculé sur node2 :
1 |
pcs status |
Si tout fonctionne bien, la Virtual IP et Apache devraient maintenant tourner sur node2.
✅ Configurer le quorum et la gestion des votes
1 |
pcs quorum status |
✅ Activer le watchdog pour une meilleure stabilité
1 2 |
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.