MySQL Hochverfügbar / EMC Storage
MySQL Hochverfügbar / EMC Storage
Moin,
ich bin dabei einen MySQL Server, hoch verfügbar auf zu setzen.
Als Hardware sollen zum Einsatz kommen:
2 Server die jeweils eine EMC² Clariion via FC gemountet haben. Auf den Clariions soll dann eine Mirror Software laufen, die die Daten der MySQL auf das zweite Storage spiegelt und eine Software, die in X Intervallen, einen Snapshot der DBs erstellt.
Da ich aber MyISAM einsetze und relativ viele Writes auf die DB habe, stellt sich mir grad die Frage, wie bekommt man einen sauberen Snapshot hin?
Ich muss doch, bevor ein Snapshot erstellt werden kann, alle offenen Tabellen schließen (flush tables) und alle Schreiboperationen verbieten.
Hat jemand mit solchen Storage Systemen bzw. mit der Software schon Erfahrungen gesammelt?
mfg
ich bin dabei einen MySQL Server, hoch verfügbar auf zu setzen.
Als Hardware sollen zum Einsatz kommen:
2 Server die jeweils eine EMC² Clariion via FC gemountet haben. Auf den Clariions soll dann eine Mirror Software laufen, die die Daten der MySQL auf das zweite Storage spiegelt und eine Software, die in X Intervallen, einen Snapshot der DBs erstellt.
Da ich aber MyISAM einsetze und relativ viele Writes auf die DB habe, stellt sich mir grad die Frage, wie bekommt man einen sauberen Snapshot hin?
Ich muss doch, bevor ein Snapshot erstellt werden kann, alle offenen Tabellen schließen (flush tables) und alle Schreiboperationen verbieten.
Hat jemand mit solchen Storage Systemen bzw. mit der Software schon Erfahrungen gesammelt?
mfg
Re: MySQL Hochverfügbar / EMC Storage
In http://www.rootforum.org/forum/viewtopi ... 67#p302387 findest Du bereits ein paar generelle Ansätze, inwiefern sich diese auf den Clariions umsetzen lassen, musst Du selbst ergründen. Weitere sehr lesenswerte Artikel zu MySQL und anderen IT-Themen liefert isotopp in seinem Blog.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: MySQL Hochverfügbar / EMC Storage
Welches SAN willst du einsetzen? Wir haben hier ein AX4-5f (voll ausgebaut) und die Performance ist ziemlich schlecht.
Last edited by oxygen on 2010-06-23 16:43, edited 1 time in total.
Re: MySQL Hochverfügbar / EMC Storage
Danke euch für die Antworten.
Zuerst, die Datenbank hat noch direkte Slaves, sowie mehrere Master/Slaves. Also ein Slave, der für andere Host wiederum der Master ist.
Damit könnte man natürlich auf den Slave wechseln und dann auf diesen alle Writes schicken.
Was uns richtig nützlich hier erscheint, wäre, bei einem Einsatz von Storages, die Möglichkeit eines Snapshots. Z.B. alle 4 Stunden einen Snapshot anlegen. Im Fall der Fälle dann aus diesem Recovern. Ein mysqldump würde ja ebenfalls viel zu lange dauern. (ca. 160GB Daten und ansteigend) Ebenso das Einspielen eines solchen Dumps.
So wie ich das aber mittlerweile sehe, fällt das ganze Szenario bei MyISAM flach. Um einen Snapshot von konsitenten MySQL Daten zu erhalten, müssten die Daten erstmal alle auf Platte und alle Schreiboperationen gestoppt werden. Bis der Inhalt aus den 96GB RAM auf der Platte landet, vergeht zuviel Zeit, in der die laufenden Applikation nicht in die DB schreiben können -> too many connections -> Anwendung stehen. :( Für Oracle scheint es da, in Zusammenhang mit den EMC² Storages eine Lösung zu geben. Aber mir scheint, das dieses nicht aus MySQL anwendbar ist.
Was wir einsetzen wollten?
Besten dank.
mfg
Zuerst, die Datenbank hat noch direkte Slaves, sowie mehrere Master/Slaves. Also ein Slave, der für andere Host wiederum der Master ist.
Damit könnte man natürlich auf den Slave wechseln und dann auf diesen alle Writes schicken.
Was uns richtig nützlich hier erscheint, wäre, bei einem Einsatz von Storages, die Möglichkeit eines Snapshots. Z.B. alle 4 Stunden einen Snapshot anlegen. Im Fall der Fälle dann aus diesem Recovern. Ein mysqldump würde ja ebenfalls viel zu lange dauern. (ca. 160GB Daten und ansteigend) Ebenso das Einspielen eines solchen Dumps.
So wie ich das aber mittlerweile sehe, fällt das ganze Szenario bei MyISAM flach. Um einen Snapshot von konsitenten MySQL Daten zu erhalten, müssten die Daten erstmal alle auf Platte und alle Schreiboperationen gestoppt werden. Bis der Inhalt aus den 96GB RAM auf der Platte landet, vergeht zuviel Zeit, in der die laufenden Applikation nicht in die DB schreiben können -> too many connections -> Anwendung stehen. :( Für Oracle scheint es da, in Zusammenhang mit den EMC² Storages eine Lösung zu geben. Aber mir scheint, das dieses nicht aus MySQL anwendbar ist.
Was wir einsetzen wollten?
Die Clariion AX4-5F mit 8 x SAS HDD. Kannst du auf die Performance näher eingehen? Inwiefern ist diese schlecht? Hast du Benchmarks für (Ops per sec, random writes.)Welches SAN willst du einsetzen? Wir haben hier ein AX4-5f (voll ausgebaut) und die Performance ist ziemlich schlecht.
Besten dank.
mfg
Re: MySQL Hochverfügbar / EMC Storage
Der Geschwindigkeitsvorteil von MyISAM hat seinen Preis, das ist halt der Hacken bei MySQL. Zudem hat man auch nicht die Möglichkeit zu bestimmen wie MySQL seine Daten auf dem/den Datenträger/n verteilt. Oracle ist im Gegensatz zu MySQL eine komplett andere Liga, die zwar nicht einfach zu verstehen ist aber dafür sehr leistungsstark. :)
Last edited by jan10001 on 2010-06-27 17:21, edited 2 times in total.
Re: MySQL Hochverfügbar / EMC Storage
Wichtig ist hier, dass du 2 Storage Processing Units und das Battery hast. Sonst ist der Write Cache nicht aktivierbar. Ziemlich nervig, da unsere Gebäude Infrastruktur bereits eine USV besitzt.deimos wrote: Die Clariion AX4-5F mit 8 x SAS HDD. Kannst du auf die Performance näher eingehen? Inwiefern ist diese schlecht? Hast du Benchmarks für (Ops per sec, random writes.)
Bei unbuffered random 4 KB writes kommen wir maximal auf 10-15 MB/s über FC. Die SSD in meinem Notebook schafft mehr.
Re: MySQL Hochverfügbar / EMC Storage
Autsch, das sind ja recht miese Werte.
Bin grad dabei ne 'normale' DB einzurichten und Teste grad mit iozone:
E5420 @ 2.50GHz, 64GB, ext3, Adaptec 5805Z m. 'BBU' Debian Lenny
Bin grad dabei ne 'normale' DB einzurichten und Teste grad mit iozone:
Code: Select all
iozone -+A1 -i2 -s 1024m -r 4k -o -O
Code: Select all
KB 1048576
reclen 4
write 3365
rewrite 14599
read 469186
reread 462158
random read 384752
random write 1814
bkwd read 447801
record rewrite 15869
stride read 396346
fwrite 138714
frewrite 410180
fread 465876
freread 457770
Re: MySQL Hochverfügbar / EMC Storage
RAID5 mit 5 Platten + 1 Hot Standby. Gerade nochmal getestet:matzewe01 wrote:Was für eine Raid fahrt ihr darüber?
EMC ist zwar nicht für dessen schnelligkeit bekannt, aber 10 -15 MB/s das ist arg lahm.
Code: Select all
dd if=/dev/zero of=tmp.file bs=4K count=10000 oflag=sync
10000+0 Datensätze ein
10000+0 Datensätze aus
40960000 Bytes (41 MB) kopiert, 1,93678 s, 21,1 MB/s
Auf unserem SAN ist Datenbankbetrieb nicht der Haupteinsatzzweck, von daher ist das schon ok. Ohne WriteCache kam obiges dd nicht mal auf 5 MB/s.Unter den Hardcore DBAs ist übrigens das aktivieren des Schreibcaches verpönt.
Die Argumente dafür zwar Stichhaltig aber nicht mehr unbedingt Zeitgemäss.
Last edited by oxygen on 2010-07-01 10:10, edited 2 times in total.