MySQL über drei Rechner

cra

New Member
Hallo zusammen

Ich bin dabei eine neue Infrastruktur aufzubauen. Bislang hatte ich zwei Server (Debian Leny), welche jeweils einen MySQL-Server betrieben und diesen gegenseitig replizierten.

Nun habe ich das Problem, dass ich gerne einen dritten Rechner mit in den Bund nehmen möchte; doch mit der Replikation scheint dies irgend wie nicht mehr so wirklich zu funktionieren.

Kennt jemand eine Möglichkeit, dass die DB auf allen drei Rechnern verwendet werden kann, egal welcher der drei ausfällt? (Die Zugriffe erfolgen immer nur lokal)

Ist MySQL-Cluster ein Thema? Funktioniert dies mit drei Rechnern?

Danke für euere Infos
CRA
 
Du kannst eine Replikation a -> b -> c -> a aufsetzen.

Wenn es allerdings mehr Server werden wäre eine Applikationsseitige Lösung (z.B. ded. Server für Writes mit Replikation auf den Rest, lokale Server für Reads) sinnvoller.

Ob ein Cluster für Dich konkret hilfreich ode reine potentielle Lösung ist - hängt sehr von der Applikation ab.
 
Hallo marce

Das Problem dieser Ring-Replikation ist, dass wenn einer ausfällt, dass der Ring dann offen ist und ich Nodes mit unterschiedlichen Daten haben (wenn auf allen dreien geschrieben wird). Dieses System nutze ich heute, jedoch nur mit 2 Nodes.

Ist es möglich, ein MySQL-Cluster auf zu ziehen mit nur 3 Rechnern? Kennt jemand eine brauchbare Anleitung (DE oder ENG)
 
Ich gehe davon aus, dass blupp1 DRBD meint. Das ist allerdings für dein Vorhaben nicht geeignet.

Im Prinzip willst du ein Multimaster-Setup mit 3 Knoten. Du handelst dir damit aber andere Probleme ein. Ich würde so ein Setup vermeiden, wenn es irgendwie geht. Ein dedizierter Datenbankserver mit genügend Ressourcen oder ein Master-Slave-Setup, bei dem von den Slaves nur gelesen und ausschließlich auf dem Master geschrieben wird, ist nicht möglich?
 
Hallo Roger

Schreib- und lesezugriffe aufzuteilen ist beinahe unmöglich, da es sich um Webapplikationen mit PHP handelt.
Vorallem ist bei diesem Vorschlag die Redundanz nicht gegeben, da eine Webseite, die nicht schreiben kann, unbrauchbar wird. Genau das selbe, wenn nur ein DB-Server zur Verfügung steht.

Darum schiele ich ja ein bisschen auf MySQL-Cluster.
 
Das hab ich auch schon gefunden, danke ...

Hier werden aber zwei Loadbalancer eingesetzt, was ich eigentlich nicht brauche, denn die Load wird schon weit früher aufgeteilt, auf DNS-Basis.

Zudem verfüge ich zur Zeit nur über 3 Server (und nicht über 4).
 
Schreib- und lesezugriffe aufzuteilen ist beinahe unmöglich, da es sich um Webapplikationen mit PHP handelt.
Tja, schlechtes Applikationsdesign macht einem meistens vieles schwer, was "nice to have" wäre...

Vorallem ist bei diesem Vorschlag die Redundanz nicht gegeben, da eine Webseite, die nicht schreiben kann, unbrauchbar wird.
Hm, da wäre wieder das "schlechte Design" :-)

Genau das selbe, wenn nur ein DB-Server zur Verfügung steht.
Gerade bei Web-Applikationen mit zentraler DB hat man oftmals einen SPOF - eben meist die DB.

Aber mal ehrlich: Wie oft fällt so ein Ding aus? Und in dem Fall kommt man mit mehreren ded. Webservern und 2 MySQL-Servern in Master-Master-Replikation, wo dann im Fehlerfall der aktive DB-Server geswitcht wird, meist sehr gut zu recht. Wir haben solche Konstellationen seit Jahren laufen, bis auf 1x gab's keine Probleme (und das eine mal konnte man ohne Ausfall korrigieren, da blieb nur die Replikation hängen)

Darum schiele ich ja ein bisschen auf MySQL-Cluster.
MySQL-Cluster ist nett - und lohnt sich sicherlich auch in manchen Fällen. Hat aber eben auch ein paar Nachteile, unter anderem der recht hohe Bedarf an Hardware, wenn man ohne SPOF auskommen will...
 
Um nochmal auf's Cluster sprechen zu kommen:
- Ist es möglich, auf drei Rechnern jeweils Data- und MySQLd-Node laufen zu lassen und auf einem der drei noch der Management-Node?
 
Keiner ne Ahnung? Weiss jemand, wo ich spezifisch du diesem Thema Infos erhalte?
Wie's mir scheint, gibt's nicht all zu viel über Cluster.
 
per se geht es, alles auf einen Node zu packen - entspricht aber nicht so ganz den Sinn...

den (AFAIK aktuell immer noch) größten Nachteil hast Du bereits gefunden? Wieviel Ram hat denn die Kiste und wie groß ist die DB? Dann hat sich das mit dem Cluster vielleicht bereits erledigt...

Und wo man Infos erhält? Die MySQL-Doku schon mal gelesen? Die ist diesbezüglich eigentlich sehr gut, es steht eigentlich alles drin...
 
Die Kisten haben alle rund 12GB RAM ... die DB eine Grösse von vieleicht einem halben GiB.

Gruss
 
Back
Top