MySQL Replikation mit 3 Servern

greye

Member
Hallo zusammen,

ich habe ein ISPConfig Setup mit 2 Servern und Spiegelung. Das läuft sehr ordentlich, macht richtig Spaß.

Die DB-Replikation sieht so aus, daß srv1 Master für srv2 ist und srv2 Master für srv1. Damit habe ich auch die jeweiligen ISPConfig-DB auf beiden Servern.

Nun möchte ich einen dritten Servre aufnehmen und bin mir nicht sicher, wie ich hier repliziere, da srv3 zwar Master sein kann, aber die beiden anderen schon als Slave laufen.

Mein Gedanke war: srv1 ist Slave von srv2 ist Slave von srv3 ist Slave von srv1. Das sollte ja so gehen oder gibts noch eine einfachere Lösung?

Danke schon mal,

42m
 

greye

Member
Hallo Till,

Das ist meines Wissen nach die einzige Lösung, "im Ring" zu replizieren.

danke für Deine Rückmeldung. Ich habs mir auch gedacht, nachdem ich zum Thema 2 Slaves auf einer Maschine nix gefunden habe :)

Dann werde ich wohl umstellen. Ich hoffe, das klappt ohne größere Schmerzen ;)

Muss ich die Replikation vorher deaktivieren oder sonstige Vorbereitungen treffen oder kann ich einfach per "change master [...]" den Master umstellen?

42m
 

greye

Member
Ich habe es eben gemacht und es geht. Fast.
Zumindest lies es sich umstellen.

Status auf jedem Server:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Aber: Datenbanken die auf einem Server angelegt werden sind auf diesem und seinem Slave zu sehen. Der Slave des Slaves kriegt diese DB nicht. Beispiel srv1test auf srv 1 angelegt ist auf srv1 und srv2; auf srv3 wird nicht repliziert.

Das ist auf allen Servern so.

Gibt es eine maximale Replikationstiefe?

42m
 

Till

Administrator
Nicht dass ich wüsste. Soweit ich weiß gibt es auch Systeme mit einer 4er master / master Replikationskette.
 

greye

Member
Ich habe mich weiter eingelesen und festgestellt, daß ich log-slave-updates vergessen habe :)

Allerdings bin ich vom Ring noch nicht so ganz überzeugt. Immerhin gewinne ich dadurch auch keine größere Sicherheit gegenüber 2 Servern. Wenn im Ring einer ausfällt ist es auch Essig mit der Replikation. Das habe ich mit 2 Servern auch schon ;)

42m
 

Till

Administrator
Ich würde es auch so einschätzen dass Du mit dem Replikationsring die Ausfallsicherheit nicht erhöhst. Möglicherweise steigt sogar die Wahrscheinlichkeit eines Ausfalls durch die höhere Komplexität des Setups.

Wenn es um die Skalierbarkeit geht, würde ich versuchen die Server jeweils in 2er Schritten zu erhöhen, also x mal 2 Server im Mastre/Master Modus. das ghet natürlich nur wenn mehr als eine Webseite auf dem System gehostet wird, so dass man die Seiten über die Cluster verteilen kann.

Wenn es darum geht für Notfälle ein zusätzliches DB Backup zu haben oder Backups vom Livesystem ohne performanceinbußen ziehen zu können, so könnte man z.B. an ein 2er Replikationsssystem noch einen separaten Slave als Mirror hinzufügen und man nimmt diesen Mirror dann als Quelle für Backups.
 

greye

Member
Wenn es darum geht für Notfälle ein zusätzliches DB Backup zu haben oder Backups vom Livesystem ohne performanceinbußen ziehen zu können, so könnte man z.B. an ein 2er Replikationsssystem noch einen separaten Slave als Mirror hinzufügen und man nimmt diesen Mirror dann als Quelle für Backups.

Nachdem ich die Nacht dran gearbeitet habe ist es genau das, was ich jetzt habe :)

Vielen Dank für Dein Mitdenken,

42m
 

Werbung

Top