mySQL Replikation Master - Slave

iceview

Lieutenant
Registriert
Jan. 2008
Beiträge
683
Hallo zusammen,

ich hab eine Verständnisfrage. Ich hoffe ich bin hier richtig :)

Ich hab eine Firewall, welche als Loadbalancer und HA Failover funktioniert. Wenn Server A nicht erreichbar, dann wird Server B angesprochen.

Hierzu muss auf beiden Servern der identische Datenbestand vorgehalten werden.

Wenn im Normalfall Maschine A (Master) sich auf B (Slave) repliziert ist alles gut.
A fällt aus --> B wird nun angesprochen.

Was passiert aber, wenn ich nun die Maschine A wieder anwerfe und diese somit wieder Master wird. Werden dann die Daten auch "rück"-repliziert?

Danke
 
Ist sicherlich eine Einstellungssache.

Bei fast allen HA-Lösungen will ja man nach einem Ausfall den Rückschwenk zu einem geplanten Zeitpunkt machen. Wenn es OK ist, spät in der Nacht zu Beispiel. Sonst hätte man ja wieder einen Ausfall.
 
Wenn mich nicht alles täuscht brauchst du dafür wohl die Cluster-Version von MySQL...
 
Tja.. ich bin da ein wenig ratlos... der Server (also die Maschine) ist derzeit quasi der Single Point of Failure...

Man müsste so ne Art Master -> Slave Slave -> Master Replikation machen...
 
Ich bezweifle, dass das klappt. Da läufst du Gefahr, dass der Master vom Slave etwas übernimmt, was er selbst schon gemacht hat. Da wird dann jedes Insert zu ner Endlosschleife.

Der Trick an der MS-Replikation ist ja, dass der Slave noch nicht einmal 24/7 verfügbar sein muss. Er holt sich die Daten, die seit seinem letzten Besuch so angefallen sind, sobald er mal "wach" ist.

Mach es doch so: 1 Master, 2 Slaves. Sobald der Master mal weg ist, wird einer der Slaves der neue Master. Wenn der Master wieder läuft, musst du ihn halt komplett nullen und einen Rollback aus dem Datenbestand des hintersten Slaves (der ja alles kennt) machen. Um einen Rollback kommst du kaum drumrum.
 
Was du suchst nennt sich Master-Master-Replikation, ist aber nicht ganz einfach, selbst Github war schon down, weil das System die Master geswitcht hatte, was nicht sein sollte.

Ich persönlich würde wegen der Einfachheit nur den MySql Galera Cluster empfehlen, aber da brauchst du min. 3 Server. Bei 2Servern bleibt dir nur MM-Replikation übrig.
 
An der Anzahl der Server soll es nicht scheitern... auf meinem ESXi ist noch aureichend Platz :)

Aber ist Galera nicht etwas anderes als mySQL?
 
Der Galera Cluster for MySQL ist ein Zusatzmodul für MySQL. Du wirst weiterhin normal mit MySQL arbeiten und Galera kümmert sich um die Replizierung der Daten auf alle Server, das alle Server immrt zu 100% synchron sind, inkl. aller ACID Kriterien!
Und das tolle: Du kannst auf jeden beliebigen Server schreiben und lesen, nicht so wie bei einer MM-Teplikation, dass du nur auf dem aktuellen Server arbeiten darfst.
Der HighperformanceMysql Blog hat einige Artikel über Galera gemacht, inkl. einiger Beschreibungen such da mal nach den ältesten Beiträgen und hangel dich dann vorran.


Öhm wegen ESXi: du hast aber nicht vor alles auf nur einer physischen Maschine zu machen oder? Weil in Punkto HA wirdt du dann ja gar nix erreichen, will nur sichergehen.
 
Zuletzt bearbeitet:
Nein ich hab ein Cluster aus 2 ESXi als welches sich je auf den anderen Host spiegelt... Loadbalancing und Failover.

Damit die virtuelle Maschine nicht der Single Point ist möchte ich diese eben auch als HA auslegen.
 
Zurück
Oben