Anzeige

Aggregierte Leistung bei RAID von Consumer-SSDs

Leserfrage: Wir haben aus Kostengründen aus Consumer-SSDs (Crucial »M500«) ein einfaches DAS-Speichersystem realisiert. Das heißt ein Server mit 12 von den erwähnten SSDs. Sobald man die SSDs in irgendeiner Form bündelt (Hardware-RAID-Controller, Software-RAID, Windows Storage Spaces, verschiedene RAID-Arten), steigert sich die IOPS-Leistung leider wider Erwarten nicht. Sequentielle Zugriffe werden zwar beschleunigt jedoch auch nicht in dem zu erwarteten Ausmaß (etwa 3fach), die Random-Leistung sinkt sogar im Vergleich zu einer einzelnen SSD.

Die Controller als Flaschenhälse können wir eigentlich ausschließen, da bei gleichzeitigem Zugriff auf jede einzelne SSD (über JBOD), jede einzelne SSD auch ihre Leistung bringt. Nur im Verbund wird ihre Leistung nicht wie gewünscht aggregiert, was mich schon sehr wurmt. Nun die Frage: Gibt es irgendeine technische Eigenheit der Platten (und der SSDs) die für RAID weniger bzw. besser geeignet sind?

Antwort Doc Storage:

Hierbei handelt es sich letztendlich um ein Rechenexempel. Zunächst einmal die grundlegenden Eckwerte. Ein auf »PCIe 3«verbauter Controller kann nach Definition im 8fach-Modus maximal knapp acht GByte/s, im 16fach-Modus knapp 16 GByte/s transportieren. Allerdings zeigen sich in der Praxis je nach Hersteller eher Werte von sechs bzw. zwölf GByte/s. Der SAS-Bus der SSDs hat eine Bandbreite von sechs Gbit/s, also rein theoretisch 768 MByte/s. Bei zwölf Platten bedeutet dies eine aggregierte Bandbreite von über neun GByte/s, die allerdings nur erreicht werden kann, wenn dafür gesorgt ist, dass die Zugriffe parallelisiert auf alle Laufwerke gleichzeitig durchgeführt werden.

Anzeige

Hierzu sollte auf jeden Fall eine gestripte RAID-Variante, also RAID 10 oder RAID 50, auf die Laufwerke gelegt werden. Natürlich ist bei der Einrichtung der Stripe-Sizes und der anschließenden Formatierung mit einem Dateisystem darauf geachtet werden, dass entweder gleiche Werte oder aber im Dateisystem ganzzahlige Vielfache des RAID-Wertes eingestellt werden. Achtet man nicht auf diese Abstimmung, kann es zu deutlichen Leistungseinbrüchen kommen. Auf RAID 6 sollte man ebenfalls zur Leistungserhaltung verzichten, da vor allem Schreibzugriffe durch den deutlich erhöhten I/O-Bedarf den Gesamtdurchsatz reduzieren.

Wenn es denn unbedingt SSDs sein müssen, sollte zur allgemeinen Leistungssteigerung auf jeden Fall ein Cache-Controller eingesetzt werden, um häufig genutzte Blöcke nicht mehr über den schmalen SAS-Bus, sondern direkt über PCIe holen zu können. Allerdings wird auch hier der Gesamtleistung durch den angegrauten SAS-Bus deutlich begrenzt.

Wenn tatsächlich die optimale Speicherleistung aus einem Standardserver geholt werden soll, sollte man sowieso auf diesen verzichten und die immer erschwinglicher werdenden PCIe-Flash-Karten nutzen. Diese bieten gegenüber einer Controller-SSD-Lösung eine um Faktoren bessere Leistung, sind vergleichbar zuverlässig und müssen nicht aufwendig mit einem gestripten RAID auf Durchsatz getrimmt werden. Die momentan verbauten SSD-Platten können Sie dann notfalls als »Tier 1«, also für weniger leistungshungrige Daten nutzen.

Gruß
Doc Storage

Anzeige