Ein RAID-System dient zur Organisation mehrerer physikalischer Festplatten eines Computers zu einem besonders leistungsfähigen logischen Laufwerk.
RAID war ursprünglich die Abkürzung für Redundant Array of Inexpensive Disks ) (Redundantes Feld preiswerter Festplatten). Heute wird sie auch oft mit Redundant Array of Independent Disks (Redundantes Feld unabhängiger Festplatten) gedeutet, was geringfügig der ursprünglichen Bedeutung widerspricht.
Der Betrieb eines RAID-System setzt mindestens zwei Festplatten voraus. Die Festplatten werden gemeinsam betrieben und bilden einen Verbund, der unter mindestens einem Aspekt betrachtet leistungsfähiger ist als die einzelnen Festplatten. Mit RAID Systemen kann man folgende Vorteile erreichen:
- Erhöhung der Datensicherheit (Redundanz)
- Steigerung der Transferraten (Performance)
- Aufbau großer logischer Laufwerke
Die genaue Art des Zusammenwirkens der Festplatten wird durch den RAID-Level spezifiziert. Die gebräuchlichsten RAID-Level sind RAID 0, RAID 1 und RAID 5. Sie werden unten beschrieben.
Aus Sicht des Benutzers oder eines Anwendungsprogramms unterscheidet sich ein logisches RAID Laufwerk nicht von einer einzelnen Festplatte.
Aufbau und Anschluss - Hardware RAID, Software RAID
Hardware RAID
Von Hardware RAID spricht man, wenn das Zusammenwirken der Festplatten von einem speziell dafür entwickelten Hardware-Baustein, dem RAID-Controller, organisiert wird.
Der Hardware RAID Controller befindet sich physikalisch in der Nähe der Festplatten. Er kann im Gehäuse des Computers enthalten sein. Häufiger befindet er sich aber in einem eigenen Gehäuse, einem Storage Array, in dem auch die Festplatten untergebracht sind.
Software RAID
Von Software RAID spricht man, wenn das Zusammenwirken der Festplatten von Software organisiert wird, die auf dem Computer selbst läuft. Die einzelnen Festplatten sind in diesem Fall über einfache Festplattencontroller am Computer angeschlossen.
Die betreffende Software Komponente wird als Volume Management Software bezeichnet..
Anschluss der Festplatten am Computer
Die Festplatten können auf verschiedene Arten am Computer angeschlossen sein. Üblich sind die Schnittstellen SCSI, Fiber Channel und Serial ATA. ...
Geschichte
1987 veröffentlichten D. A. Patterson, G. Gibson und R. H. Katz von der University of California, Berkeley, USA einen Vorschlag, um die langsamen Plattenzugriffe zu beschleunigen und die MTBF (Mean time between failures) zu erhöhen. Dazu sollten die Daten auf vielen kleineren (billigeren) Platten anstatt auf wenigen großen (teuren) abgelegt werden. Deshalb hieß die frühere Schreibweise auch "Arrays of Inexpensive Disks" (heute Independent), als Gegenzug zu den damaligen SLEDs (Single Large Expensive Disk). Die Varianten Raid-0 und Raid-6 wurden erst später von der Industrie geprägt. Seit 1992 erfolgt eine Standardisierung durch das RAB (RAID Advisory Board), bestehend aus etwa 50 Herstellern.
Die gebräuchlichen RAID-Level im Einzelnen
RAID 0: Striping - Beschleunigung ohne Redundanz
RAID 0 bietet gesteigerte Transferraten, indem mehrere Festplatten zusammengeschlossen und Schreiboperationen auf allen parallel durchgeführt werden (engl. striping, was bedeutet "in Streifen zerlegen", abgeleitet von stripe - der "Streifen"). Die Performance-Steigerung (insbesondere bei sequentiellen Zugriffen) beruht darauf, dass die zu schreibenden Daten zunächst auf die Caches der verschiedenen Platten verteilt werden und jede einzelne Platte so weniger zu tun hat. Die Größe der Datenblöcke wird als striping-Granularität bezeichnet. Umgekehrt wird auch der Lesevorgang beschleunigt. Die Zugriffszeiten sind dagegen bestenfalls auf dem Niveau einer einzelnen Festplatte. Fällt jedoch eine der Festplatten durch einen Defekt aus, kann der RAID-Controller ohne deren Teildaten die ursprüngliche Datei nicht mehr rekonstruieren. Streng genommen ist dies gar kein RAID, da es keine Redundanz gibt.
Die Wahrscheinlichkeit von Datenverlust ist bei RAID 0 mit zwei Festplatten fast doppelt so groß wie bei einem gewöhnlichen Computer mit nur einer Festplatte, da sich die Defektwahrscheinlichkeit entsprechend der Festplattenanzahl vervielfacht, der Defekt einer einzigen Festplatte aber schon zum Totalausfall führt. RAID 0 ist daher nur in Computersystemen zu empfehlen, bei denen Datensicherheit kaum von Bedeutung ist.
RAID 1: Mirroring - Spiegelung
Ein RAID 1 Array besteht aus zwei oder mehr Festplatten, die dieselben Daten enthalten (engl. mirroring oder duplexing, s.u.). In der Regel sind das zwei Festplatten, es ist aber auch möglich, mehr im Array zu haben. RAID 1 bietet die volle Redundanz der gespeicherten Daten, während die Kapazität des Arrays höchstens so groß ist, wie die kleinste beteiligte Festplatte.
Fällt eine der gespiegelten Platten aus, können die anderen weiterhin die Daten liefern. Besonders für Realtime-Anwendungen ist das unverzichtbar. RAID 1 bietet eine hohe Ausfallsicherheit. Zum Totalverlust der Daten führt erst der Ausfall aller Platten.
Wenn alle Festplatten am selben Controller angeschlossen sind, wird dies als Mirroring bezeichnet. Es kann immer nur ein Zugriff pro Controller ausgeführt werden, was zur Folge hat, dass die Redundanz eines Sektors nicht sofort gegeben ist, sondern erst, nachdem auf mindestens zwei Festplatten geschrieben wurde. Ein Anschluss der Festplatten an verschiedenen Controllern wird als Duplexing bezeichnet.
RAID 1 kann eine erhöhte Performance beim Lesen bewirken, weil Daten von einer Festplatte angefordert werden können, während die anderen noch beschäftigt sind.
RAID 5: Performance + Parität
RAID 5 bietet sowohl gesteigerte Performance als auch Redundanz und ist damit die beliebteste RAID-Variante. Darüber hinaus ist es die kostengünstigste Möglichkeit, Daten auf mehr als 2 Festplatten mit Redundanz zu speichern. Es werden mindestens 3 Platten benötigt. Bei n Platten sind (n-1)/n der Gesamtkapazität nutzbar; das restliche 1/n wird für die Paritätsdaten (Redundanz) benötigt. Zum Vergleich: bei RAID 1 lassen sich nur ½ der realen Kapazität wirklich verwenden.
Die Nutzdaten werden wie bei RAID 0 auf alle Festplatten verteilt. Die Paritätsinformationen werden jedoch nicht wie bei RAID 4 auf einer Platte konzentriert, sondern ebenfalls verteilt. Die Berechnung der Parität erfordert leistungsfähige RAID-Controller und führt beim Schreiben zu leichter bis erheblicher Verminderung der Datentransferrate im Vergleich zu RAID 0. Da die Paritätsinformationen beim Lesen nicht benötigt werden, stehen alle Platten zum parallelen Zugriff zur Verfügung. Bei RAID 5 ist die Datensicherheit beim Ausfall einer Platte gewährleistet! Allerdings lässt nach Ausfall einer Festplatte oder während des Rebuilds auf die Hotspare-Platte (bzw. nach Austausch der defekten Festplatte) die Performance deutlich nach. Der Rebuild dauert länger als bei RAID 1, da bei RAID 5 zusätzlich Parity Informationen rekonstruiert werden müssen. Je mehr Festplatten in einem RAID 5 Verbund sind, desto länger dauert der Rebuild bzw. desto schlechter ist die Performance während eines Defekts einer Festplatte.
Weniger gebräuchliche oder bedeutungslos gewordene RAID Level
NRAID: Festplattenverbund
Bei NRAID werden – wie bei RAID 0 – mehrere Festplatten zusammengeschlossen. Im Gegensatz zu RAID 0 bietet NRAID aber keinen Performance-Gewinn. Dafür kann man Festplatten unterschiedlicher Größe ohne Speicherverlust miteinander kombinieren (Beispiel: eine 10 GB-Festplatte und eine 30 GB-Festplatte ergeben in einem NRAID eine virtuelle 40 GB Festplatte, während in einem RAID 0 nur 20 GB (2 x 10 GB) angesprochen werden könnten). Der Ausfall einer Platte führt zu Datenverlust, jedoch wäre es möglich einen Teil der Daten wieder zu restaurieren, solange sie komplett auf der funktionierenden Platte liegen. NRAID ist weder einer der nummerierten RAID-Levels, noch bietet es Redundanz. Man kann es aber durchaus als entfernten Verwandten von RAID 0 betrachten. NRAID macht aus mehreren Festplatten eine einzige Partition einer Kapazität, die der Summe der Kapazitäten aller verwendeten Platten entspricht.
RAID 2
RAID 2 spielt in der Praxis keine Rolle mehr. Die Daten werden hierbei in Bitfolgen fester Größe zerlegt und mittels eines Hamming-Codes auf größere Bitfolgen abgebildet. Die einzelnen Bits des Hamming-Codeworts werden dann über einzelne Platten aufgeteilt, was prinzipiell einen hohen Durchsatz erlaubt. Ein Nachteil ist jedoch, dass die Anzahl der Platten ein Vielfaches der Hamming-Codewortlänge sein muss.
RAID 3: Striping with Parity on a separated Disk
RAID 3 ist der Vorläufer des RAID 5. Im RAID 3 wird die Redundanz auf einer zusätzlichen Festplatte gespeichert. Als Redundanz bezeichnet man hier die bitweise Addition der einzelnen Bits der anderen Festplatten. Die bitweise Addition berechnet Summen von Einzelbits, die den Wert 0 und 1 enthalten können, und befolgt die Rechenregeln des mathematischen Zahlkörpers, welcher nur die Elemente 0 und 1 enthält, und bei dem die folgenden Rechenregeln gelten: 1+1=0, 0+1=1, 1+0=1, 0+0=0, und Subtraktion = Addition. In der Mikroelektronik ist dies identisch mit der XOR-Verknüpfung.
Der Gewinn durch ein RAID 3 ist folgender: Angenommen der RAID 3-Verbund besteht aus n datentragenden Festplatten und einer dedizierten Parity-Disk mit Hausnummer n+1. Bei einem Ausfall einer der ersten n Festplatten werden, nach Austausch dieser Festplatte, alle Daten auf die neue n-te Festplatte zurück synchronisiert, ausgehend von den Parity-Informationen der n+1-ten Festplatte und den übrigen, unversehrten n-1 Daten-Festplatten. Der Ausfall der Parity-Disk selbst wird, nach Ersetzen der Festplatte, repariert durch einfache Neuberechnung der Parity-Bits.
RAID 3 ist inzwischen vom Markt verschwunden, da durch RAID 5 verbessert, bei dem die Parität gleichmässig über alle Disks verteilt wird. Die dedizierte Paritätenfestplatte stellte einen Flaschenhals dar (performance bottleneck). Vor dem Übergang zu RAID 5 wurde RAID 3 zudem partiell durch RAID 4 verbessert, bei dem Ein-/Ausgabe-Operationen mit größeren Blockgrößen aus Performance-Gründen standardisiert wurden.
Zusätzlich sei hier bemerkt, dass ein RAID 3-Verbund aus lediglich zwei Festplatten identisch ist mit einem RAID 1 aus zwei Festplatten - per Definition.
RAID 4
Es werden ebenfalls Paritätsinformationen berechnet, die auf eine dedizierte Festplatte geschrieben werden. Allerdings sind die Einheiten, die geschrieben werden, größere Chunks und nicht einzelne Bytes, was die Gemeinsamkeit zu RAID 5 ausmacht.
Ein Vorteil von RAID 4 besteht darin, dass bei einem Ausfall einer Datenplatte eine "vorgenullte" Datenplatte eingesetzt werden kann. Dadurch wird eine zeit- und rechenintensive Wiederherstellung vermieden, dass RAID 4 System kann ohne Einschränkungen weiterbetrieben werden.
Ein Nachteil bei RAID 4 besteht darin, daß die Parity-Platte bei allen Schreib- und Leseoperationen beteiligt ist. Dadurch ist die maximal mögliche Performance durch die Performance der Parity-Disk begrenzt. Da bei jeder Operation immer eine der Daten-Disks und die Parity-Disk verwendet werden, fällt die Parity-Disk häufiger aus.
Wegen der fest definierten Paritätsplatte wird statt RAID 4 fast immer RAID 5 bevorzugt.
Eine Ausnahme bildet ein Systemdesign, bei dem die Lese- und Schreiboperationen auf ein NVRAM erfolgen. Das NVRAM bildet einen Puffer, der die Performance kurzfristig erhöht und die Lese- und Schreiboperationen sammelt und in Abschnitten auf das RAID 4 Plattensystem schreibt. Dadurch werden die Nachteile von RAID 4 vermieden.
RAID 6: Redundanz über zwei zusätzliche Festplatten
RAID 6 funktioniert ähnlich wie RAID 5, verkraftet aber den Ausfall von bis zu zwei Festplatten. Hier werden nicht ein, sondern zwei Fehlerkorrekturwerte berechnet und so über die Platten verteilt, dass Daten und Paritäten blockweise auf unterschiedlichen Platten liegen. Das bedeutet eine Anzahl von n+2 Festplatten brutto für einen Dateninhalt von n Festplatten netto, was allerdings schon bei wenigen Netto-Festplatten eine Kosten-Ersparnis gegenüber einfacher Spiegelung (siehe RAID 1) darstellt. Jedoch ist der Rechenaufwand bei den zugrundeliegenden XOR-Prozessen erheblich höher als bei RAID 5. Bei RAID 5 werden für ein Parity-Bit die Daten aus einer Daten-Zeile addiert (und bei erforderlicher Resynchronisation die Daten aus einer Daten-Zeile per Addition zurück resynchronisiert). Dagegen muss bei RAID 6 das Parity-Bit über mehrere Daten-Zeilen berechnet werden - die Resynchronisation, insbesondere bei zwei ausgefallen Festplatten, erfordert einen Kalkül über Matrizen und Umkehrmatrizen aus der linearen Algebra.
RAID 7
RAID 7 ist eine kaum verwendete Variante und basiert auf RAID 5. Allerdings läuft im Controller ein lokales Echtzeitbetriebssystem, welches die Lese- und Schreiboperationen steuert. RAID 7 unterstützt zusätzlich die Verwendung mehrerer Paritätsinformationen gemäß RAID 6.
RAIDn
Bei RAIDn handelt es sich um eine Entwicklung der Inostor Corp., einer Tochter von Tandberg Data. RAIDn hebt die bisher starre Definition der RAID Level auf.
Dieses RAID wird definiert durch die Gesamtzahl der Festplatten (n) sowie die Anzahl der Festplatten, die ohne Datenverlust ausfallen dürfen (m). Als Schreibweise hat sich RAID(n,m) oder RAID n+m eingebürgert.
Aus diesen Definitonen können die Kenndaten des RAID wie folgt berechnet werden:
- Lesegeschwindigkeit = n * Lesegeschwindigkeit der Einzelplatte
- Schreibgeschwindigkeit = (n - m) * Schreibgeschwindigkeit der Einzelplatte
- Kapazität = (n - m) * Kapazität der Einzelplatte
Einige spezielle Definitionen wurden wie folgt festgelegt:
- m = 0 entspricht RAID 0
- m = 1 entspricht RAID 5
- m = n/2 entspricht RAID 10
Kombinations-RAIDS (RAID 10, 01, 15, 51...)
Obschon die RAID-Level 0, 1 und 5 die weitaus größte Verwendung finden, existieren nebst den Levels 0 bis 7 noch "RAID-Kombinationen". Hier wird ein RAID zu einem zweiten RAID nochmal zusammengefasst. Beispielsweise können mehrere Platten zu einem parallelen RAID 0 zusammengefasst werden, und aus mehreren dieser RAID-0-Arrays z. B. ein RAID-5-Array gebildet wird. Man bezeichnet diese Kombinationen dann z. B. als RAID 05 (0+5). Umgekehrt würde ein Zusammenschluss von mehreren RAID-5-Arrays zu einem RAID-0-Array als RAID 50 (oder RAID 5+0) bezeichnet werden. Auch RAID 1 und RAID 5 Kombinationen sind möglich (RAID 15 und RAID 51), die beliebtesten Kombinationen sind allerdings das RAID 01, bei dem je zwei Platten parallel arbeiten und dabei von zwei anderen Platten gespiegelt werden (insgesamt 4 Platten), oder RAID 10, bei dem zwei Platten gespiegelt werden, und dabei um zwei weitere gespiegelte Platten zu einem Ganzen ergänzt werden.
RAID 1.5
Die Firma Highpoint entwickelte zusätzlich noch das RAID 1.5, nicht zu verwechseln mit RAID 15. Gedacht für Privatanwender kombiniert es die Vorteile von RAID 0 und RAID 1 und sieht sich deshalb als eine Zwischenstufe der RAID-Levels 1 und 2, deswegen auch die Bezeichnungswahl mit Kommastelle. Hauptvorteil ist die gleichzeitige Steigerung der Sicherheit und Geschwindigkeit bei nur 2 Festplatten, was durch keinen anderen "echten" RAID-Level realisierbar wäre. Allerdings scheint auch diese Lösung in der Praxis eher untauglich zu sein.
Siehe auch: [1].
Matrix RAID
Im Intel ICH6R- beziehungsweise den ICH6RW-I/O-Baustein ist seit etwa Mitte 2004 erstmals eine neue Technologie integriert, die als "Matrix-RAID" bezeichnet wird. Sie soll die Vorteile von RAID 0 und RAID 1 auf nur 2 Festplatten vereinen. Jede der beiden Platten wird vom Controller zu diesem Zweck in 2 Bereiche aufgeteilt. Ein Bereich wird dann auf die andere Festplatte gespiegelt, während im verbleibenden Bereich die Daten auf beide Platten aufgeteilt werden. Man kann dann z.B. im ersten Bereich sein "unwichtiges" Betriebssystem und Programme installieren, um von RAID 0 zu profitieren, während man im zweiten Bereich dann seine wichtigen Daten abspeichern kann, und auf die Redundanz von RAID 1 vertrauen kann. Im Falle eines Plattencrashes müsste man dann nur sein Betriebssystem und Programme neu aufspielen, während die wichtigen Daten im anderen Festplattenbereich erhalten bleiben. Ob sich diese Technologie in anbetracht der sinkenden Festplattenpreise gegen RAID 0+1 oder RAID 5 durchsetzen kann, bleibt abzuwarten. In jedem Fall stellt sie aber eine kostengünstige Alternativlösung, vor allem für Einsteiger, dar.
Andere Begriffe
JBOD
JBOD bedeutet Just a Bunch Of Disks, also Nur ein Bündel Platten.
Der Begriff wird verwendet in Abgrenzung zu RAID Systemen, um anzugeben, wenn Festplatten nicht im Verbund, sondern einzeln betrieben werden. Viele Hardware RAID Controller sind in der Lage, die angeschlossenen Festplatten dem Betriebssystem einzeln zu Verfügung zu stellen; die RAID Funktionen des Controllers werden dabei abgeschaltet und er arbeitet als einfacher Festplatten-Controller.
Ein JBOD kann auch unabhängig vom Controller eine irgendwie an den Computer angeschlossene Anzahl Festplatten bezeichnen. Mithilfe einer Volume Management Software kann ein solches JBOD zu einem Software-RAID zusammengeschaltet werden.
Stripe Size
Stripe size bezeichnet die Größe, des aus einem oder mehreren Datenblöcken bestehenden zusammenhängenden Datenbereichs als kleinste adressierbare Einheit zur Verteilung von Daten auf RAID-Speichermedien. Bei einer Vergrößerung der Stripe-Size wächst der maximale Durchsatz, gleichzeitig erhöht sich aber die Zugriffszeit. Auch Striping-Granularität. Heute üblich sind Stripegrössen von 64kbyte bis 256kbyte.