[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MySQL HA mit Log-Replication oder DRBD?



Hallo,

Klaus Umbach <treibholz@sozial-inkompetent.de>:

>Ich möchte (soll) einen MySQL Cluster aufbauen.
>(also keinen echten, sondern lediglich ein HA mit hearbeat)

Was ist an einem Heartbeat-Cluster nicht "echt"?

Zunächst mal bringt MySQL eine eigene Clustervariante mit, nämlich den
Tabellentyp NBD. Das ist in den meisten Fällen vorzuziehen. Eine Ausnahme
wäre nur dann, wenn die Applikation nicht mit NBD kompatibel ist, sondern
z.B. zwingend MyISAM oder InnoDB vorschreibt.

>Was ist denn da für die Replikation zwischen zwei Knoten cooler? DRBD oder
>die Log-Replication von MySQL selbst?

MySQL Replikation ist nicht als HA Lösung vorgesehen und auch nur bedingt
dazu geeignet. Inbesondere wenn du nebenläufige Schreibzugriffe auf beiden
Seiten hast, können die Datenbanken sehr schnell inkonsistent werden und
entweder die Replikation anhalten, oder, was noch schlimmer ist, die
Fehler für längere Zeit unbemerkt bleiben. Daher würde ich im Normalfall die
DRBD Variante vorziehen.

Andererseits ist DRBD prinzipiell etwas langsamer, da hier immer synchron
gewartet wird, bis ein geänderter Block auf der anderen Seite angekommen
ist; MySQL Replikation funktioniert vollkommen asynchron und ist daher
unabhängig von der Performance des Netzwerks.

Bei DRBD sollte ein Active/Standby Konzept gewählt werden. Eine Active-
Active Datenbanksetup auf dem selben Datenbestand ist mit InnoDB unmöglich,
mit MyISAM Tabellen theoretisch möglich, aber in den meisten Fällen
langsamer und auch gefährlicher für die Datensicherheit als Active/Standby.

Gruß, Harald


Reply to: