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