Cet article complète l'article précédent sur HaProxy en failover avec Pacemaker et Corosync
La problématique à la fin de cet article était que les services basculent bien sur le nouveau serveur mais l'IP FailOver chez OVH restait routée vers la première machine.
Suite au travail de Pierre, en stage chez nous voici comment faire pour que Pacemaker puisse interragir avec l'API OVH et faire basculer l'IP FailOver sur le second serveur.
Mise en place du script
Installation du module Python pour ovh
apt-get install pip
pip install ovh
Connexion à l'api
Fichier /etc/ovh.conf
[default]
endpoint=ovh-eu
[ovh-eu]
application_key=your_application_key
application_secret=your_application_secret
consumer_key=your_consumer_key
Le script python pour gérer la bascule
Fichier /usr/local/bin/script.py :
Script disponible ici : https://github.com/aukfood/OVHFailOver
Ce script est à tester dans vos conditions d'installation.
chmod +x /usr/local/bin/script.py
Fichier de ressource Pacemaker
A tester et expérimenter sur votre environnement.
Fichier /usr/lib/ocf/resource.d/heartbeat/OVHFailOver :
Script disponible ici : https://github.com/aukfood/OVHFailOver
Ne pas oublier :
chmod +x /usr/lib/ocf/resource.d/heartbeat/OVHFailOver
Utilisation du script
Rajouter dans les ressources Pacemaker la gestion de l'IP FailOver
pcs resource create IPFO ocf:heartbeat:OVHFailOver op monitor interval="30"
Bien sûr à grouper avec les autres ressources pour que tout bascule en même temps.
Test
Pour tester si tout bascule correctement :
pcs node standby lb01-gra
pcs node unstandby lb01-gra
Conclusion
Avec ces deux articles on arrive à mettre en place un service de Load Balancer avec HaProxy sur deux datacenter différents.
Merci à Pierre pour ce travail