Filesystem für MySQL

F

flugopa

Hallo,

möchte für MySQL-Dateien eine eigene Partition spendieren.
Welche Filesystem ist am besten/sichersten (Hardware-Raid-5 ist schon) geeignet?
ext3/ext4 u.s.w. :hilfe2:

OS = CentOS5.1
 
Auf die Diskussion wäre ich selber mal gespannt.

Kommt wahrscheinlich auf den einzelnen Fall an: Datenvolumen, Datenmenge pro Zeit, überwiegend Lesen oder Schreiben, häufiges Duplizieren von Tabellen zur Datensicherung, paralleler Zugriff auf mehrere Tabellen etc.

Falls die Hardware und das OS schon feststehen (ich vermute mal Linux) würde ich für einen überwiegenden Datenbank-Server als ersten Versuch erstmal folgendes vorschlagen: ext2, dem ich in Sachen Sicherheit am meisten zutraue, da es mittlerweile wirklich ausgereift und erprobt sein sollte, und eine Menge RAM, damit die ganzen Dateien in den Cache passen und Plattenzugriffe beim Lesen erst gar nicht stattfinden.

Für ein "Mischsystem" gibt es wahrscheinlich passendere Dateisysteme als das betagte ext2, und die neueren sind sicherlich auch nicht riskant. Für überwiegend Datenbank reicht es aber wohl.

Als Kritikpunkt wird sicherlich auf das fehlende Journaling hingewiesen werden, das nach einem Absturz bei einem "fsck" viel Zeit verbrät (und vermutlich ist ext3 sicher annähernd genauso robust), aber wie oft stürzt ein vernünftiger Linux-Server schon komplett ab? Wer auf Nummer Sicher gehen will, setzt dann sowieso eine USV ein.

Nebenbei: Steht im MySQL-Handbuch ein Tip?
 
Zuletzt bearbeitet:
Man kann auch hier nicht allgemein sagen, dass für diese oder jene Anwendung (z.B. MySQL) dieses oder jenes Dateisystem besonders geeignet ist. Dabei sind ein paar andere Faktoren zu beachten.
- Hast du eher viele kleine Datenbanken oder wenige große?
- Hast du mehr Lese- oder mehr Schreibzugriffe?
- Nutzt deine Datenbank Clustering oder Replikation (also werden Binlogs geführt)?
- Welche Datenmengen muss die MySQL insgesamt verwalten?
- Wie wichtig ist Redundanz und schnelles Rebooten?
 
Hallo bitmuncher,

Dabei sind ein paar andere Faktoren zu beachten.
- Hast du eher viele kleine Datenbanken oder wenige große?
Ich denke mal, daß man Dateien unter 50Mbyte (einzelne Dateien die in der Datenbank abgelegt werden) heutzutage als klein einstuft.
Also, handelt es sich um kleine Dateien.

- Hast du mehr Lese- oder mehr Schreibzugriffe?
Sehr gute Frage, allerdings kenne ich kein System, welches mehr Schreibzugriffe hat.
Also, Lesezugriffe.

- Nutzt deine Datenbank Clustering oder Replikation (also werden Binlogs geführt)?
Derzeit kein Cluster oder Replikation, aber in naher Zukunft evtl. ein ESX.

- Welche Datenmengen muss die MySQL insgesamt verwalten?
Da kann ich nur schätzen: ca. 40GByte (incl. der Dateien)

- Wie wichtig ist Redundanz und schnelles Rebooten?
Nicht sehr wichtig, weil ein 2-Server bereit steht.
 
Also sind Datenbanken zu erwarten, die relativ gross werden, wenn dort Dateien bis 50MB reingeschrieben werden sollen. Oder hab ich da jetzt was falsch verstanden? Du musst halt bedenken, dass alle Daten innerhalb einer Tabelle im Endeffekt eine Datei auf dem Dateisystem darstellen. Bei grossen Datenbanken (>500MB) lohnt sich XFS, da dies den besten Datendurchsatz (im Vergleich zu JFS, ReiserFS und Ext3/4) liefert. Wenn du wenig CPU-Leistung zur Verfügung hast, solltest du allerdings eher zu JFS greifen, das beim Durchsatz auf grosse Dateien gleich hinter XFS steht, aber weniger CPU-Leistung frisst. ReiserFS und XFS sind am Besten geeignet, wenn du sehr viele Tabellen haben wirst, auf denen mehr oder weniger gleichzeitig gearbeitet wird.
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Welches Linux/Unix für ehemaligen OSX Nutzer?

Empfehlung für Server Distribution

Freie Software auf dem Smartphone

LTO-4 SAS Laufwerk immer stop & go trotz schnellem Raid 0 asl Quelle

Zurück
Oben