OVH Cloud OVH Cloud

Heartbeat et MySql

2 réponses
Avatar
Guillaume Leccese
Bonjour la liste,

je suis en train de monter un "cluster" mysql, en utilisant la réplication (dual
Master) et un lien HeartBeat pour avoir une IP Virtuel qui se balade d'un
serveur à l'autre.

Les deux machines sont reliées pas un cable GB Croisé et un petit cable série.
La réplication s'effectue via le cable croisé. J'ai donc en permanence les deux
serveur à l'identique (les machines étant puissante, la réplication est
quasiment instantanée).

Au départ, j'ai commencé par configurer HB sans ajouter de servir dans
haresources. L'IP virtuel se balade bien, c'est génial :)

Si je configure mysql comme ressource, le serveur est lancé d'un coté, et éteint
de l'autre. Si le master devient indisponible, HB demarre bien MySql sur le
slave, et ca repart comme en 40.

Si vous avez bien suivit, et si j'ai bien expliqué, vous comprendrez qu'étant
donné que j'ai une configuration dual master, j'aimerais bien que mon mysql
reste allumé sur les deux serveurs, mais que le changement d'ip se fasse à la
fois sur une indispo du master mais aussi sur un crash de la database du master
tout en ayant le deuxieme master (mysql) synchro au niveau des data, c'est a
dire en marche sur le slave HB.

Donc ma question est:

est-il possible de dire a HeartBeat de lancer le service, même sur le slave ??
Je n'ai rien trouvé dans la doc, a moins que je sois passé a coté ...

Merci d'avance.

Guillaume.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

2 réponses

Avatar
Guillaume Leccese
Salut,

en fait j'en suis arrivé à cette solution:

HB pour l'ip virtuelle
MON pour checker MySql et tapper dans HB pour faire changer l'ip de machine.

Ca marche nickel.

Concernant la réplication, j'ai fait des tests, et c'est extrêmement rapide. En
général, y'a une requete de décalage, mais ca va tellement vite que bon ... J'ai
fait bouffé un fichier de plus d'1go de data sql et c'est passé comme une lettre
à la poste.

De toute facon, y'a forcement un moment ou si ca casse, c'est critique. Mais
nous faisons avec les moyens a dispo :)

Merci pour ta réponse.

Guillaume.

rixed wrote:
Bonjour !

-[ Wed, Dec 28, 2005 at 12:10:13PM +0100, Guillaume Leccese ]----
La réplication s'effectue via le cable croisé. J'ai donc en
permanence les deux serveur à l'identique (les machines étant puissante, la
réplication est quasiment instantanée).



Je suis pas sur que la puissance des machines soit une protection contre les
pannes : certe la réplication est rapide, mais le système à tout autant de
chances de se planter là où ca fait mal (c'est à dire lorsqu'un maximum
d'infos ne sont pas à jour de l'autre coté).

Si vous avez bien suivit, et si j'ai bien expliqué, vous comprendrez
qu'étant donné que j'ai une configuration dual master, j'aimerais bien que
mon mysql reste allumé sur les deux serveurs, mais que le changement d'ip
se fasse à la fois sur une indispo du master mais aussi sur un crash de la
database du master tout en ayant le deuxieme master (mysql) synchro au
niveau des data, c'est a dire en marche sur le slave HB.



Donc, dans ce cas mysql n'est tout simplement _pas_ une ressource HB. Tu doit
le lancer normalement sur les deux machines.
Par contre, tu dois monitorer son bon fonctionnement sur le master pour
déclencher le basculement en cas de soucis. Je ne me souviens plus trop du
fonctionnement de HB, mais je crois me souvenir qu'il y a un truc spécial pour
le monitoring : une fonctionnalité de respawn qui lance un process et qui
vérifie qu'il tourne bien toujours et peut être aussi interprete son
exit-code. C'est là qu'il faut que tu monitor ta base, avec un script qui fait
une requette qui ne doit pas échouer par exemple. Si ca échoue, tu met le HB
en standby, soit automatiquement si c'est prévu (me souviens plus), soit tout
seul à la mano (/etc/init.d/heartbeat standby je crois me souvenir ?)






--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
rixed
Bonjour !

-[ Wed, Dec 28, 2005 at 12:10:13PM +0100, Guillaume Leccese ]----
La réplication s'effectue via le cable croisé. J'ai donc en
permanence les deux serveur à l'identique (les machines étant puissante, la
réplication est quasiment instantanée).



Je suis pas sur que la puissance des machines soit une protection contre les
pannes : certe la réplication est rapide, mais le système à tout autant de
chances de se planter là où ca fait mal (c'est à dire lorsqu'un maximum
d'infos ne sont pas à jour de l'autre coté).

Si vous avez bien suivit, et si j'ai bien expliqué, vous comprendrez
qu'étant donné que j'ai une configuration dual master, j'aimerais bien que
mon mysql reste allumé sur les deux serveurs, mais que le changement d'ip
se fasse à la fois sur une indispo du master mais aussi sur un crash de la
database du master tout en ayant le deuxieme master (mysql) synchro au
niveau des data, c'est a dire en marche sur le slave HB.



Donc, dans ce cas mysql n'est tout simplement _pas_ une ressource HB. Tu doit
le lancer normalement sur les deux machines.
Par contre, tu dois monitorer son bon fonctionnement sur le master pour
déclencher le basculement en cas de soucis. Je ne me souviens plus trop du
fonctionnement de HB, mais je crois me souvenir qu'il y a un truc spécial pour
le monitoring : une fonctionnalité de respawn qui lance un process et qui
vérifie qu'il tourne bien toujours et peut être aussi interprete son
exit-code. C'est là qu'il faut que tu monitor ta base, avec un script qui fait
une requette qui ne doit pas échouer par exemple. Si ca échoue, tu met le HB
en standby, soit automatiquement si c'est prévu (me souviens plus), soit tout
seul à la mano (/etc/init.d/heartbeat standby je crois me souvenir ?)



--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact