So migrieren Sie ein MySQL-Master/Master-Replikationssystem auf ein neues System

So migrieren Sie ein MySQL-Master/Master-Replikationssystem auf ein neues System

Ich verwende ein System mit zwei Maschinen, auf denen MySQL in Master/Master-Replikation läuft.

Ich möchte die Systeme auf neue Maschinen verschieben, die ebenfalls eine Master/Master-Replikation durchführen. Ist das möglich, ohne einen Knoten aus dem alten Cluster zu entfernen, ihn durch einen neuen Knoten zu ersetzen und eine neue Replikation vom ersten neuen Knoten zum zweiten zu erstellen?

Nehmen wir an, wir haben zwei aktive Knoten, Knoten1 und Knoten2, die Master/Master ausführen. Wie verschiebe ich den Cluster „auf magische Weise“ auf neue Knoten mit den Namen Neu1 und Neu2, ohne dass es zu langen Ausfallzeiten kommt?

Antwort1

Sie haben M1 <=> M2; Sie möchten mit der neuen Hardware M3 <=> M4 enden.

  1. (kurze Unterbrechung) Verschieben Sie alle Clients (Schreiber und Leser) zu M2.
  2. Schalten Sie M1 lange genug ab, um es zu klonen und M3 in dieser Topologie zu erstellen: M1 <=> M2 -> M3. (M3 ist nur ein Slave von M2.)
  3. Bauen Sie M4 aus M3: M1 <=> M2 -> M3 -> M4. (M3 wird noch nicht verwendet, es gibt also keine Unterbrechung.)
  4. (kurze Unterbrechung) Verschieben Sie alle Clients von M1 und M2 so, dass sie auf M3 zeigen. Stellen Sie dabei sicher, dass die gesamte Replikation mindestens bis M3 gelangt ist.
  5. Werfen Sie M1 und M2 weg. Jetzt haben Sie nur noch M3 -> M4.
  6. (kurze Unterbrechung) Dual-Master einrichten (M3 <=> M4), Clients beliebig umordnen.

Beachten Sie, dass die drei Störungen jeweils dem Ausfall eines toten Masters entsprechen.

Eine allgemeine Empfehlung beim Einsatz von Dual-Master: Schreiben Sie nur auf einen der beiden Server, nutzen Sie den anderen als Backup plus Lese-Skalierung.

Besser noch, wechseln Sie zu einem Galera-Cluster (oder InnoDB-Cluster), damit Sie automatisches Failover usw. erhalten. Dadurch werden zukünftige Topologieänderungen noch weniger schmerzhaft. Solche Migrationen wärenähnlichzu dem, was ich gerade beschrieben habe.

verwandte Informationen