Welches RAID Level wird benötigt?

Viele Anwender gehen davon aus, dass RAID5 die optimale RAID-Konfiguration ist: viel Kapazität, redundant, aber nur zwei „verschenkte“ Platten (eine für Parity und eine für hot Spare). In den meisten Fällen haben sie da auch Recht. Wenn es aber darum geht, die beste Performance und Sicherheit bei möglichst geringen Kosten zu erzielen, sollte man etwas genauer hinschauen und vor allem die Applikationen berücksichtigen, die auf das RAID zugreifen sollen. Hier die wichtigsten RAID-Level im Überblick mit ihren jeweiligen Vor- und Nachteilen:

Raid Level im Vergleich

RAID Level Verfahren Kosten für
n Platten Kapazität
Sicherheit Schreib-
performance
Lese-
performance
Einzelpatte n 0 0
RAID0 Striping n +++ ++
RAID1 Mirroring 2*n +++ 0 +
RAID0+1 Mirrored Stripes 2*n +++ +++ +++
RAID10 Striped Mirrors 2*n +++ +++ +++
RAID3 Parity Disk n+1 + ++
RAID5 Parity Sriped n+1 + ++ +
RAID6 Double Parity Sriped n+2 ++ + +

RAID0

RAID0 ist eigentlich kein RAID im Sinne von „redundant array of independant disks“, denn es ist zwar ein Array, aber nicht redundant. RAID0 meint Striping: Die Daten werden gleichmäßig auf alle Platten verteilt. Außer dass dadurch eine sehr große virtuelle Festplatte erzeugt wird, bedeutet Striping vor allem einen Performancegewinn: Bis die letzte Festplatte ihr Datenpaket bekommen hat, hat die erste ihren Cache auf die Magnetscheiben geschrieben und ist bereit, neue Daten aufzunehmen: Im Optimalfall summiert sich die Transfergeschwindigkeit der Platten. Die Sicherheit ist geringer als bei einzelnen Festplatten: der Ausfall einer Platte bedeutet Verlust aller Daten.

RAID1

RAID1 bedeutet Spiegelung und verdoppelt die Sicherheit, aber natürlich auch die Kosten. Da die Daten ohne Unterschied auf beiden Platten geschrieben werden ist der Schreibzugriff genauso schnell wie bei einer einzelnen Platte. Beim Lesen ist RAID1 durch einen Trick sogar schneller: Da der Inhalt beider Festplatten identisch ist, liest der Controller die eine Hälfte der Daten von der einen Platte, die andere Hälfte von der anderen.

Da RAID1 auf 2 Platten beschränkt ist, verwendet man gerne eine Kombination mit RAID0 um größere Kapazitäten zu spiegeln (RAID0+1) oder mehrere Spiegel durch Striping zusammenzufassen (RAID10). Hier werden einfach 2 RAID0 gespiegelt. Der Vorteil außer der großen Kapazität: Die Performance von RAID0 wird kombiniert mit der Sicherheit von RAID1 (und auch der „Trick“ beim Lesen von RAID1 wird übernommen). Für Datenbanken ist das die schnellste Lösung, wobei leider auch die Kosten von RAID1 vererbt werden: Selbst ohne Berücksichtigung von hot-spare-Platten steht nur die Hälfte der Brutto-Plattenkapazität zur Verfügung.