ubuntuusers.de

MySQL-Daten - Partition oder Datei? HA?

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

mcfisch

Avatar von mcfisch

Anmeldungsdatum:
27. Juli 2006

Beiträge: 33

Wohnort: München

Da ich meine Server nun eingekauft habe, muss ich mir noch Gedanken über die Konfiguration machen. Bisher läuft unser alter MySQL-Server auf Dateibasis, evtl. soll der neue aber seine Daten partitionsbasiert speichern. Damit habe ich aber noch keine Erfahrung - was sollte das für einen Performance- oder Verwaltungsvorteil bringen? Wie sehe ich zum Beispiel den Füllstand der Partition? Wie konfiguriert man das überhaupt (okay, dazu sollte sich was im Netz finden lassen 😛 ).

Weiterhin muss ich die Hochverfügbarkeit sicherstellen. Bei den Webservern und dem alten MySQL-Server setze ich dazu auf DRBD, aber MySQL bietet ja schon serielle Replikation an. Da wäre DRBD sicher eher kontraproduktiv (der Alte Server ist zu lahm um einen Unterschied festzustellen 😀 ). Wie funktioniert das generell? Normalerweise holt sich Heartbeat auf dem Slave die jeweiligen IPs und startet die Dienste, aber bei MySQL muss der Dienst ja schon gestartet sein - wenn ich den auf allen Adressen horchen lasse, kann ich auch die öffentliche IP umschalten und der Server ist ansprechbar. Bei MySQL steht aber im Handbuch, dass der Slave eigentlich keine Schreiboperationen machen sollte, um Inkonsistenzen zu vermeiden, aber nach dem Umschalten muss er das ja, um den weiteren Betrieb sicherzustellen. Könnte mir ne Lösung vorstellen, bei der der Dienst auf mit 2 verschiedenen Konfig läuft - als replizierender Slave, und nach dem Umschalten auf Masterbetrieb als aktiver Master, der eigentliche Master wird zum repl. Slave und erst nach erfolgreicher Syncronisation wird wieder zurück geschalten. Aber da sehe ich schon Schwierigkeiten, z.B. wie soll sichergestellt sein, dass zw. Sync und Umschalten keine weiteren Änderungen auflaufen? Gibt es ne Möglichkeit, die Slave Änderungen zu loggen und an den Master nach dessen Rückkehr zu übermitteln?

Wer kann mir dazu den einen oder anderen Tipp geben? Mir raucht langsam der Kopf... 😲

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

MySQL kann auch woanders als in Dateien speichern?

mcfisch

(Themenstarter)
Avatar von mcfisch

Anmeldungsdatum:
27. Juli 2006

Beiträge: 33

Wohnort: München

Ein Kollege hat mir gesagt, man könne Datenbankinhalte auch direkt auf eine Platte schreiben (ohne Filesystem). Ich finde aber nix darüber. Nur einen kleinen Hinweis im MySQL-Handbuch:

1.4.4. Wie groß können MySQL-Tabellen sein?

MySQL Version 3.22 hatte eine Begrenzung auf 4 Gbyte bei der Tabellengröße. Mit der Speicher-Engine MyISAM in MySQL Version 3.23 wurde die maximale Tabellengröße auf 65.536 Terabyte (2567 – 1 Byte) erhöht. Das bedeutet, dass die maximale effektive Tabellengröße von MySQL-Datenbanken normalerweise durch Beschränkungen des Betriebssystems hinsichtlich Dateigrößen festgelegt ist, nicht durch MySQL-interne Grenzen.

Die Speicher-Engine InnoDB hält InnoDB-Tabellen in einem Tablespace, der aus mehreren Dateien bestehen kann. Hierdurch ist es möglich, dass eine Tabelle die maximale Größe einer einzelnen Datei überschreitet. Der Tablespace kann auch rohe Festplattenpartitionen beinhalten, wodurch extrem große Tabellen möglich werden. Die maximale Größe des Tablespaces beträgt 64 Terabyte.

Allerdings scheint das nur mit InnoDB zu gehen, nicht mit MyISAM. Und ich wüsste immer noch nicht, wie man das macht.

Antworten |