Résolu - Recherche solution SIMPLE pour monter un cluster FailOver

kortex
2015-05-11T16:52:03+02:00
Linux.général, failover, haute_disponibilité, cluster

Bonjour,

Je suis à la recherche, comme l'indique le titre, d'une solution simple pour monter un cluster FailOver

L'idée est relativement simple :

j'ai trois serveurs : un en production / deux de secours

le serveur de production écoute plusieurs adresses IP (une par site Internet)

s'il vient à y avoir un soucis sur le serveur de production, un des serveurs de secours doit :

ajouter une règle (ip rule add) si elle n'existe pas

ajouter une route (ip route add) si elle n'existe pas

monter les adresses IP des sites Internet

envoyer une requête arping vers le routeur de l'hébergeur pour prendre en compte le changement de machine

J'ai donc créé un script pour me simplifier ces opérations en cas de bascule manuelle.
Je cherche maintenant la solution pour automatiser cette tâche en cas de soucis.

J'ai regardé 'HeartBeat' mais il ne semble plus maintenu et est un peu lourd pour exécuter un simple script.

J'ai regardé le couple Corosync + Pacemaker : il est également trop lourd pour exécuter un simple script et me semble bien mal documenté. J'ai trouvé un blog d'une personne expliquant comment créer une ressource permettant d'exécuter un script mais il ne livre pas l'exemple du dit script. Hors, les codes retours attendus ne sont pas super simples à prendre en main selon l'état dans lequel on se trouve et le comportement est assez bizarre entre le test (ocf-tester) et l'exécution automatique.

Je suis en train de regarder KeepAlived mais j'ai pas l'impression que ce soit la solution la plus adaptée. Il permet bien l'exécution de scripts mais il me semble que c'est une fonction "bonus" donc j'en arriverais à un usage "détourné" du produit.

Est-ce que quelqu'un aurait une solution simple mais efficace pour ce soucis ?
Je n'ai pas besoin de synchronisation DRBD etc : juste lancer un script avec des arguments de manière simple et efficace.

Pour la partie réseau, j'ai deux cartes réseaux :

une qui a une adresse IP publique propre au serveur

une qui peut porter un bloc d'IP publiques mais également des IP locales

Les serveurs sont physiquement distants puisque dans plusieurs datacentres. Je compte donc utiliser les IP locales pour la communication du cluster.

Je vous remercie d'avance.