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

Re: MySQL HA mit Log-Replication oder DRBD?



On 08/06/09 11:36, Harald Weidner wrote:
> 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"?

Mit "echt" meinte ich den nativen MySQL-Cluster und den kann nicht nicht
mit zwei Rechnern aufbauen, da braucht man ein paar mehr. Das wäre auch zu
komplex. Mir reicht ein Aktiv-Passiv-HA.

> 
> 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.

Ich will keine Schreibzugriffe auf beiden Seiten haben. Das ist weder aber
auch weder mit der Replikation noch mit DRBD sinnvoll abbildbar. Es geht
hier nur um Ausfallsicherheit. DRBD kann doof werden, weil beim Crash des
aktiven Nodes eventuell auch das Dateisystem mit kaputt geht (mit XFS hatte
ich da schon tolle Effekte...) Und dann ist Feierabend mit
Ausfallsicherheit. Man hat da halt nur EIN Dateisystem, das kaputt gehen
kann. Bei der Replikation hätte ich zwei.

> 
> 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.

Wie gesagt Active/Active steht (glücklicherweise) garnicht zur Debatte :-)

Gruss
	Klaus


-- 
BOFH excuse #447:

According to Microsoft, it's by design


Reply to: