Mysql Cluster (Haute-Disponibilité)

Fermé
Taekwon - 6 juin 2008 à 11:55
 Hyl - 18 août 2011 à 16:03
Bonjour,
Voilà j'ai mis en plaçe une solution de haute-disponibilité sur deux machines équipé de Debian, en utilisant le module DRBD pour faire la réplication, et HeartBeat pour le basculement (avec IP virtuelle). Ma solution est plutôt adapté quand il s'agit d'un simple serveur apache2, en revanche, pour mysql se pose un problème. En effet, lorsque je crée des tables, ou des BDs, et que le serveur Maître tombe, ces dernière sont belles et bien toujours disponibles. Le problème intervient dans le cas ou un nombre continu et important de requête sont éxecutées, et que le serveur tombe à ce moment. J'ai fais un simple test, à l'aide d'un simple script php qui écrit en continu dans un des tables de ma BD, j'ai coupé la machine maître, à ce moment j'ai effectivement un léger temps de chargement, et peu après (5-6) secondes, les requêtes sont relancé (car l'ip a basculé), or, je vais voir dans ma BD, et je me rend compte que lors du basculement, j'ai perdu des données (6-8 tuples). Je voudrais donc savoir si la solution de cluster mysql, permettait de palier à ce type de problème ? Je me suis renseigné sur le site, mais je débute et je suis très rapidement perdu, et je doute encore, si la solution de cluster mysql est adapté à mon problème.

Merci d'avance.

4 réponses

Bonjour,

Je vous conseille de lire cet article : https://www.postgresql.fr/?q=node/1432

Mysql est a la mode car il est rapide et facile d'emploi. Mais pour l'intégrité des données, Postgresql a toujours été nettement plus évolué.

Mysql est plus dapaté pour les petites bases ou en lecture seule où sa rapidité et sa légèreté sont appréciable.
Mais pour les transactions lourdes ou nécessitant un bon niveau de sécurité, il est préférable d'utiliser Postgresql ou Oracle.

Voir http://pgpool.projects.postgresql.org/ aussi dans votre cas.

Cordialement,
0
Cette solution paraît en effet très intéressante, je vais m'y documenter plus amplement.
Merci bien.
0
Salut, c'est encore moi.
J'ai finalement décidé d'adopter la solution de cluster MySQL. Néanmoins, j'ai un problème. Pour information, ma "structure" se compose de deux nœuds de stockages ainsi que d'un nœud de "management". Je lance le NDB sur les deux nœuds de stockage, je lance le NDB_MGM sur le management, j'aperçois avec la commande show, que mes deux nœuds de stockage ont bien été détecté par le cluster. Or, la réplication de table en elle-même fonctionne (elle est tout de suite dupliqué sur un des noeuds), mais pas la création de Base de données, ce que je trouve, étrange. Je voudrais savoir si cela était normal et s'il y avait moyen de résoudre ce problème.

Merci d'avance.
0
Bonjour,

Il semble que les créations de base de données ne soient prises en compte (et répliquées) qu'à partir du moment où elles contiennent au moins une table basé sur le moteur de cluster (NDBcluster donc).
Je suppose que la création de Base de données sans table est suffisament exceptionnelle pour que Mysql Cluster se satisfasse de ce type de synchronisation.

Cordialement,
0
Si ca peut vous eclairer : http://admincloud.net/24/cluster-mysql-haute-disponibilite/
0