Raid Technologie von Jupp

Überblick

Raid ist eine Technologie, welche die Ausfallsicherheit und Leistungsfähigkeit von Festplattensystemen erhöht. Raid wurde vor rund 20 Jahren an der Universität von Kalifornien in Berkeley aus der Taufe gehoben und löste die damals verwendeten SLED`s (Single Large Expensive Disks) weitgehend ab. Diese SLED`s gab es damals mit beachtlichen Kapazitäten von 2-3 GByte, im 14-Zoll Format und boten eine gute Datensicherheit, waren jedoch extrem teuer. Die Verwendung von mehreren der damals relativ neuen kleinen Drives im 5,25 Zoll Format warf einige Probleme auf wie z.B.: Verwaltungsprobleme, Probleme beim Auffinden von freiem Speicherplatz, geringere Zuverlässigkeit und die statistische Wahrscheinlichkeit eines Datenverlustes stieg. Die Lösung war die Verwendung von mehreren kleinen Platten in einem mit Fehlererkennungs- und Fehlerkorrekturmechanismen ausgestatteten, ausfallgesicherten Verbund, Raid war geboren. Die Vorteile von Raid liegen jedoch nicht nur in der Ausfallsicherheit, sondern durch Parallelisierung der Plattenzugriffe kann auch ein Geschwindigkeitsvorteil gegenüber Einzelplatten erreicht werden. Die Terminologie von Raid reicht von RAID 0 bis RAID 7 plus den kombinierten Technologien RAID 0+1 oder RAID 50.


Software- vs. Hardware-Raid

Software Raid stellt meist die preisgünstigste und einfachste Lösung dar. Die CPu des Hosts übernimmt die Steuerung des Plattenverbundes, erhöhte Anforderungen können daher sehr leicht durch ein CPU-Upgrade abgedeckt werden. Nachteil ist allerdings die hohe CPU-Belastung und Plattformabhängigkeit. Bei Hardware Raid hingegen Übernimmt ein eigener Controller die Ansteuerung des Arrays. Dies entlastet die CPU. Zusätzlich können höhere Transferraten erziehlt werden, da Raid Controller die Platten über mehrere Kanäle anbinden. Weiterer Vorteil ist die Plattformunabhängigkeit.


Plattenanforderungen

Bis vor wenigen Jahren war SCSI Pflicht und es durften nur HDD mit der selben Kapazität und oft nur von der selben Baureihe verwendet. Heute wird im Serverbereich aus Performancegründen SCSI und Fibre Cannel. Für den Desktop PC liefert die Industrie auch Controller für Ultra-ATA/66 und Ultra-ATA/100, zudem erlauben moderne Controller auch den Einsatz von Platten mit unterschiedlichen Kapazitäten.


RAID Level 0

Dies ist kein redundantes Speicherverfahren sondern dient lediglich zur Beschleunigung von Zugriffen. Es verteilt die Daten in aufeinanderfolgenden Blöcken gleichmäßig über alle Laufwerke. Das parallele Lesen steigert zwar die Durchsatzrate, die Sicherheit wird jedoch gesenkt, denn fällt eine Platte aus, so gehen alle Daten verloren. Geschwindigkeitsvorteil vorallem bei großen Dateien, bei vielen kleinen ist die Zugriffszeit der limitierende Faktor.


RAID Level 1

Jede Platte stellt ein Spiegelbild der anderen dar, es ist also nur die hälfte der Kapazität für Speicherung zur Verfügung und Kosten verdoppeln sich. Es kann zwar die Leistung beim Lesen gesteigert werden, das Schreiben ist jedoch maximal so schnell wie bei Einzellaufwerken.


RAID Level 0+1

Durch Kombination v. Raid 0 und 1 lassen sich Geschwindigkeitsgewinn und Datensicherheit verbinden. Es sind hierbei 2 Verfahren denkbar, jedoch ist nur folgende sinnvoll: Bsp.: Bei RAID 0+1 mit 6 HDD werden zuerst je 2 HDD gespiegelt, dann werden die 3 logischen Platten zu einem Stripeset verbunden.


RAID Verfahren mit Fehlerkorrektur

Das Spiegeln schafft zwar perfekte Redundanz, verursacht jedoch hohen Overhead und hohe Kosten. Deshalb arbeiten RAID 2- 7 mit Fehlerkorrektur. Die Nutzdaten werden auf mind 2 Laufwerke verteilt und aus dem Dateninhalt wird ein Korrekturwert errechnet , welcher auf ein Parity LW abgelegt wird. Die Daten der Nutzlaufwerke werden XOR - verknüpft. Fällt ein LW aus, so kann mittels einer weiteren XOR - Verknüpfung dessen Inhalt wieder erzeugt werden.


RAID Level 2

Basiert auf der Bitweisen Aufteilung der Nutzdaten und bietet somit zusätzlichen Schutz gegen Fehler innerhalb der Platte, da alle anderen RAID Level versagen, wenn nur ein Schreibfehler entsteht, also die Platte nicht ausfällt. Die Funktionsweise ist wie ein RAM mit ECC, es werden neben den 8 Bit fÜr Daten auch 2 Bit fÜr den ECC-Code benötigt. Die bitweise Aufteilung erzwingt somit den Einsatz von 10 HDD (8 für Nutzdaten und 2 für ECC-Code). Vorteil ist die extreme Datensicherheit und die hohe Lesegeschwindigkeit. Nachteil: Aufwendige Implementierung und Schreibperformance unter dem eines Einzellaufwerks.


RAID Level 3

Raid 3 benutzt byteweises Striping und ein dediziertes Parity Laufwerk. Für eine leichtere Generierung der ECC Daten werden die Kopfpositionen Synchronisiert, dies ermöglicht Schreibzugriffe ohne Overhead, allerdings kommt es beim Lesen von vielen kleinen Datein durch die synchronen Neupositionierungen zu Zeitverlust.


RAID Level 4

Ist ein RAID Level 3 mit blockweisem Striping und unabhängigem Plattenzugriff. Vorteile ergenen sich dadurch beim Lesen kleiner Files, allerdings erweist sich RAID 4 beim Schreiben RAID 3 unterlegen, da bei jedem ECC-update erst die passende Stelle am Paritylaufwerk gefunden und angesteuert werden muss.


RAID Level 5

Level 5 ist wie 4 eine Blockweise Verteilung der Nutzdaten, es werden jedoch auch die ECC-Daten zusammen mit den Nutzdaten gleichmäßig über die Laufwerke verteilt. Es verteilt sich somit auch die mechanische Belastung über die Platten gleichmäßig, da es keine Sonderstellung als Parity Laufwerk gibt, dies beschleunigt auch die Schreibzugriffe und auch beim Lesen zeigt RAID 5 eine gute Performance und kommt daher oft bei Datenbankserver zum Einsatz.


RAID Level 6

Hierbei wird RAID 5 mit einem zusätzlichem Parity Laufwerk ergänzt, somit dürfen 2 Laufwerke ausfallen, ohne dass Datenverlust entsteht.


RAID Level 7

RAID 7 ist ein asynchrones Verfahren und setzt im Controller ein lokales Echtzeitbetriebssystem ein. Schnelle Datenbusse und mehrere Pufferspeicher koppeln die Laufwerke vom Bus ab. Lese- und Schreiboperationen werden gegenüber anderen RAID-Stufen erheblich beschleunigt.


RAID Varianten im Überblick

Die Auswahl des RAID Levels erfordert eine genaue Abwägung zwischen den Faktoren Verfügbarkeit, Performance und Kosten pro Mbyte. Fasst man diese Faktoren zusammen, ergibt sich das typische RAID-Dreieck wie in unten stehender Abbildung.