| Linux/UNIX Linuxverfechter finden hier Weggefährten. |
Diskussion: MySQL Cluster im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Ich möchte mich mit MySQL HA Lösungen beschäftigen, unsere jetzigen Lösungen basieren auf einer gebalancten Webserver Umgebung und einem ...
![]() |
| | #1 (permalink) |
| Anzeige Ich möchte mich mit MySQL HA Lösungen beschäftigen, unsere jetzigen Lösungen basieren auf einer gebalancten Webserver Umgebung und einem MySQL Server mit maximal einem hot stand by Server. Zur Zeit verwenden wir INNODB, ich habe jetzt gelesen, dass MySQL ab Version 5 clusterfähig ist. Hier kommt dann die NDB-Speicherengine zum Einsatz, in den Howtos habe ich gesehen, das man mindestens 3-4 Server benötigt, 2 für die Speichernodes, 1 Management Server und einen API Knoten, der in manchen Howto's aber auch weggelassen wird. Meine Frage ist jetzt wenn ich eine Webserver Umgebung habe, auf welchen Server greifen dann die Webserver/IP greifen die Webserver letztendlich zu? Auf die IP-Adresse des Management Servers, wozu ist der API Server genau da, wieso wird er oft weggelassen? Danke! | |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Zuerstmal solltest du dir anschauen ob MySQL-Clustering wirklich eine brauchbare Lösung für dich ist. In Webumgebungen ist sie es erfahrungsgemäss zumeist nicht. Das liegt vor allem daran, dass NDB-Tabellen nicht die Features bieten wie InnoDB oder MyISAM. Schau dir also unbedingt nochmal die Spezifikationen der NDB-Tabellen an und schau ob eure Webapplikation damit überhaupt klar kommt. Sollte es nicht reichen, dann solltest du ggf. eher auf eine replizierte Umgebung setzen. Bei schreibintensiven Umgebungen wäre da eine Master-Master-Replikation sicherlich brauchbar. Habt ihr eher Lesezugriffe auf die DB, können diese auf mehrere Slave-Servern mittels Hardware-Loadbalancer oder eine Softwarelösung gut verteilt werden. Nun noch zu eigentlichen Frage... Im Normalfall stellt man im Cluster einen API-Knoten für jeden Webserver zur Verfügung, über den dann der Zugriff auf's Cluster erfolgt. Oftmals wird der API-Knoten sogar auf den Webservern selbst installiert. Die Alternative ist ein Loadbalancer, der die Zugriffe auf die einzelnen Storage-Knoten verteilt. Aber wie bereits gesagt... die Erfahrung hat gezeigt, dass in Webumgebungen replizierte Lösungen eher brauchbar sind als Cluster. Ich würde dir das Buch "High Performance MySQL" von Jeremy D. Zawodny und Derek J. Balling (ist bei O'Reilly erscheinen) empfehlen. Da bekommst du auf knapp 300 Seiten die Möglichkeiten der Lastverteilung bei MySQL erklärt, beginnend mit der Master-Slave-Replikation, über replizierte Umgebungen mit mehreren Mastern bis hin zum MySQL-Cluster.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Themenstarter | Hallo Bitmuncher, stimmt, das wir dann auf viele Features verzichten müssen ist mir bewusst, ist man bei einer Master-Master Replikation auf 2 Server beschränkt? Dann würde ich mir einen Hardware Loadbalancer mit mehreren Master - Master Servern genauer anschauen. Danke schonmal für die ausführliche Antwort. |
| | |
| | #4 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Mit einer Multi-Master-Replikation mit mehr als 2 Servern hab ich keine Erfahrung. Ich würde auch davon abraten, auch wenn sie theoretisch möglich sein dürfte, wenn man die Replikationswege gut plant. Problematisch wird vermutlich eher die Wartung und eine anständige Redundanz wirst du damit auf Dauer vermutlich auch nicht hinbekommen. Wenn du aber so viele Schreibzugriffe auf die DBs erwartest, dass du mehr als 2 Master einplanst, ist ggf. MySQL allgemein nicht die richtige Wahl. Ich würde da eher auf eine dateibasierte DB-Lösung setzen wie Berkeley DB oder SQLite und die DB-Dateien auf einem (oder mehreren) entsprechend schnellen Fileserver(n) (z.B. einem NAS) für die Webserver verfügbar machen.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
| | #5 (permalink) |
| Themenstarter | Hallo Bitmuncher, ich habe mich erstmal für eine Master-Master Replikation entschieden. Das ist schonmal besser als die jetzige Lösung. Cluster kommt denke ich einfach nicht in Frage. Spricht etwas dagegen vor die 2 Master Server einen Loadbalancer zu schalten? Hast du Erfahrung mit einer Master-Master Repikation? In der my.cnf muss ich doch die Datenbanken angeben welche repliziert werden sollen, wie muss das bei mehreren Datenbanken aussehen, ein Komma dazwischen? (replicate-do-db: exampledb1, exampledb2) Danke |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 30.09.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 441 | Für jede DB, die repliziert werden soll, muss eine extra Zeile mit replicate-do-db in den mysql-Abschnitt der my.cnf. Ein LB bei einer Master-Master-Replikation sollte eigentlich kein Problem sein. Bedenke aber, dass jeder Master alle Schreibzugriffe durchführen muss, egal auf welchen gerade geschrieben wird. Sollten es zuviele Schreibzugriffe werden, werdet ihr vermutlich um ein Aufteilen der DBs auf mehrere Server nicht herum kommen.
__________________ Mein Blog - Mein Job - Diaspora Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund. Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+ |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [SOLVED] Simpler MySQL Cluster : SQL Node not connected | buggybunny | Linux/UNIX | 0 | 12.10.07 13:02 |
| Linux Cluster | Headmaster | Network · LAN, WAN, Firewalls | 6 | 07.04.06 21:55 |
| JohnNet (jtr cluster) | kraeh | Virenschutz · Tools & Aggressive Software | 9 | 24.09.05 15:45 |
| Cluster-Größe | Achim_S | Windows | 2 | 12.03.04 15:07 |
| Cluster mit 4 Rechnern | Watchme | Network · LAN, WAN, Firewalls | 1 | 22.10.03 21:02 |