RAID5 vs. Raid10 Leistungsbenchmark MDADM
Kommentar und Untersuchung der RAID-Leistung
RAID 5 vs. RAID10 wird seit Ewigkeiten diskutiert; es ist allgemein bekannt, dass RAID10 eine bessere Leistung bietet - aber wie viel, hängt von der tatsächlichen Implementierung, der Hardware und dem Anwendungsfall ab.
Ich habe gerade einen Server mit 4 x 16 TB Festplatten bekommen, alle nagelneu, und beschloss, ihn zu testen, um herauszufinden, ob der Leistungsgewinn von Raid 10 den geringeren nutzbaren Speicherplatz rechtfertigt. Wir planen, ihn als Backup-Server zu verwenden, so dass unsere Arbeitslast hauptsächlich aus sequentiellen Schreibvorgängen besteht.
Testmethodik
Alle Tests werden mit fio mit iodepth=32 direct=1 ioengine=libaio refill_buffers und einem Zeitlimit von 60 Sekunden ausgeführt. die sequentiellen Lese- und Schreibtests werden mit 1024k Blockgröße und 1 Prozess durchgeführt. Die zufälligen Lese-/Schreibtests mit 4k Blockgröße und 4 Prozessen. Für die Tests wird eine 30 GB große Partition am Anfang jeder Festplatte verwendet. Die Linux-Kernel-Version ist 5.10.
Einfache Festplattenleistung
Bevor ich mit den eigentlichen Tests beginne, möchte ich die Grundlinie der Leistung einer einzelnen Festplatte ermitteln und auch sicherstellen, dass alle Festplatten ähnlich arbeiten.
Hier sieht alles schön flach aus, so wie es sein sollte. Wir haben etwa 268 MB/s beim sequentiellen Lesen und Schreiben und eine zufällige IOPS-Leistung von 550 beim Lesen und 480 beim Schreiben.
Raid 5 vs Raid 10
Die sequentille Leseleistung zwischen RAID5 und RAID10 ist geringer als ich vermutet hätte. Das far2 Layout macht hier wirklich einen Unterschied.
Interessanterweise gibt es keinen großen Unterschied beim Zufallslesetest, was ich nicht erwartet hätte.
Das Rand Write Diagramm sieht dem Seq Write Diagramm sehr ähnlich. Der einzige Unterschied ist, dass das klassische raid10 besser mit zufälligen als mit sequentiellen Schreibvorgängen umgehen kann.
MDADM hat mehrere Implementierungen, wie das Raid intern arbeitet. Für raid10 habe ich die Layouts "near 2" und "far 2" getestet, wobei "near 2" der Standard ist. Aus der Doku:
Der Vorteil dieser (... Far 2) Anordnung besteht darin, dass MD sequentielle Lesevorgänge leicht auf die Geräte verteilen kann, was sie in Bezug auf die Geschwindigkeit mit RAID0 vergleichbar macht. Der Preis dafür ist, dass bei Schreibvorgängen mehr gesucht wird, was sie wesentlich langsamer macht.
Ja, dies ist in den Benchmark-Diagrammen zu sehen
Schlussfolgerungen
Aus meinen Tests geht hervor, dass der Unterschied in der Leseleistung vernachlässigbar ist. Beim Schreiben hat Raid10 einen großen Vorteil.
Für unseren Backup-Server verwenden wir Raid 5, da es 3x schneller ist als die 1GBit Netzwerkkarte des Servers und unsere Backup- oder Restore-Prozesse nicht ausbremst.
Wenn Sie einen kritischeren Anwendungsfall haben, rate ich Ihnen, Ihre eigenen Benchmarks durchzuführen, die Ihre Arbeitslast besser widerspiegeln. Besonders wenn Sie SSDs verwenden, können die Ergebnisse drastisch anders ausfallen.