PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mysql und Replikation



filou
05.01.04, 15:07
Hallo,

wie weit ist MySQL mit Master Slave Replikationen. Gut, das die 3er Version das kann ist mir klar, was ich beötige ist eine Art Backup System:

Fällt der Master aus übernimmt der Slave --> funktioniert wunderbar, kein Problem.
Nun ist der Master aber wieder da, jetzt sollen Slave und Master die Rollen tauschen - also der Grundzustand wie vor dem Ausfall soll wieder hergestellt werden.

Weiß jemand ob das geht, welche Version und ob's überhaupt machbar ist.

Macht's gut und Danke für den Fisch

Bauchi
05.01.04, 15:14
du hast nen punkt vergessen ...
an den db server connecten ja normalerweise clients...
die müssen ja wissen das jetzt der 2te server für sie die daten bereitstellt

lösung:
linux-ha
heartbeat und drbd

die 2 maschinen per heartbeat hochverfügbar machen, per drbd die datenpartition für mysql vorhalten und beim failover den sql server starten / stoppen ...

thats it ..

www.linux-ha.org

filou
05.01.04, 17:20
Original geschrieben von Bauchi
du hast nen punkt vergessen ...
an den db server connecten ja normalerweise clients...
die müssen ja wissen das jetzt der 2te server für sie die daten bereitstellt

lösung:
linux-ha
heartbeat und drbd

die 2 maschinen per heartbeat hochverfügbar machen, per drbd die datenpartition für mysql vorhalten und beim failover den sql server starten / stoppen ...

thats it ..

www.linux-ha.org

Ups, hab ich leider vergessen amzugeben, das Heartbeat schon läuft. So hab ich das ja bisher gelöst. Die Client sprechen den mysql über die IP an, beim Failover wird die IP übergeben und der Slave ist der Master. Funzt recht schön - jetzt aber den Weg zurück ?? Master is wieder ok, der Slave soll seine Rolle wieder übergeben. Wie bekomm ich elegant die Daten wieder synchron ?

Meine gelesen zu haben die 5.0 könne sowas - bin mir da ber nimmer sicher.

bye

Ähem, was ist drbd ?:rolleyes:

Bauchi
06.01.04, 11:30
Original geschrieben von filou
Ähem, was ist drbd ?:rolleyes:

www.linux-ha.org ... guckst du ?!?
DRBD: Philipp Reisner's system for mirroring filesystems across the LAN. It is RAID and LAN aware with a quick sync option for bringing the mirror up to date quickly. This is the general replication technology which is most commonly used by members of by the Linux-HA community.

du hast im endeffekt ein raid das sich über's lan synct ... und auf dem device legst du das filesystem an, auf dem die mysql datenbank files liegen ...

folgende situation:
server 1 hat das device RW gemounted und ist der aktive server.
server 2 hat das device RO gemounted und ist der passive server.
sobald server 1 was auf das device schreibt, wird das rübergesynct auf den 2ten server ...

wenn jetzt der master failed, checkt heartbeat das, und sofern du eine ha resource 'mysql' angelegt hast, wird der mysql server auf dem passiven server gestartet ...
vorher mounted der passive server das device RW ...
wenn der andere server wieder da ist, hohlt er sich die ressourcen wieder ...
also der mysql server auf den eingesprungenen server wird gestoppt... er mounted das device wieder RO und der alte master server mounted das filesystem wieder RW und started dem mysql server ...

ob das intelligent ist, wage ich zu bezweifeln ... ich würde den server NICHT wieder zurückfailen lassen ... ich würde ihn einfach zum passiven server erklären und warten bis der andere auf die nase fällt (nice-failback nennt sich das ...)

und nur falls sich ein korinthen kacker angesprochen fühlt: ich weiss das man keine devices mounted, sondern FILESYSTEME ...
ich wollte es nur deutlich machen das es um das DRBD geht ...

filou
06.01.04, 12:54
:) hmm - hört sich alles recht fein an. Mein erster Versuch zielte ja rein auf die DB ab. Also DB in Master, Slave Modus versetzen und Binäres Logging aktivieren. Da dann auf 2 Rechnern eine DB läuft, ist eine Master eine Slave.
Die Slave ist allerdings auch nur RO, solange bis zum failover.

Mit drbd entfällt somit ja der Master Slave Modus der DB ? - denke ja.
Mit drbd habe ich eine DB die auf einem Node aktiv ist und eine, die nicht aktiv ist auf dem anderen Node.

Naja, nice-failover würde sowieso nicht in Frage kommen. Wenn mir ein Server abschmiert, muss es ja einen Grund geben - den muss ich fixen. Nur so lange bis der Hauptserver wieder online ist, soll der Backup übernehmen.

Den Grundzustand müsste ich dann eh von Hand herstellen.

Aber dane soweit - werde ich gleich erstmal testen.

mfg