RAID-Plattenverbund zur Erhöhung der Datensicherheit
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 grosser 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 weiter 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
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. Vermehrt werden in den letzten Jahren auch RAID-Controller auf Mainboards für den Heimcomputer- bzw. Personal Computer-Bereich verbaut. Üblicherweise sind diese häufig auf RAID 0 und RAID 1 beschränkt. Von Software-RAID spricht man, wenn das Zusammenwirken der Festplatten komplett softwareseitig organisiert wird; etwa können viele moderne Betriebssysteme, wie Microsoft Windows XP oder Linux, so die gängigsten RAID-Level zur Verfügung stellen. Die einzelnen Festplatten sind in diesem Fall über einfache Festplattencontroller am Computer angeschlossen.Der Vorteil von Software-RAID ist die kostengünstige Einrichtung. Allerdings kann die Abhängigkeit von einem bestimmten Betriebssystem bzw. einer bestimmten Plattform auch ein Nachteil sein, und nicht zuletzt wird der Hauptprozessor (CPU) des Computers bei Festplattenzugriffen relativ stark belastet.Die betreffende Softwarekomponente 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, ATA/ATAPI 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 grossen (teuren) abgelegt werden. Deshalb hiess 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.

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össe 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 gross 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 gross 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 1/2 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.

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össe 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. Das Verfahren wurde nur bei Grossrechnern verwendet. Die Daten werden hierbei in Bitfolgen fester Grösse zerlegt und mittels eines Hamming-Codes auf grössere Bitfolgen abgebildet (8 Bit für Daten noch 2 Bit für den ECC-Code). 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. Ein RAID 2 Verbund benötigt mindestens zehn Festplatten.

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össeren Blockgrössen 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össere 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, dass 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.Ein RAID 6 Verbund benötigt mindestens vier Festplatten.

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äss 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 01, 10, 03, 30, 15, 51, 55 ...)
Obschon die RAID-Level 0, 1 und 5 die weitaus grösste 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 01
Ein RAID 01 Verbund benötigt mindestens vier Festplatten.

RAID 10
Ein RAID 10 Verbund benötigt mindestens vier Festplatten, da diese Kombination aus RAID 0 und RAID 1 aus zwei Paaren gespiegelter Arrays besteht; somit werden beide Eigeschaften der beiden RAIDs kombiniert: Sicherheit und gesteigerte Performance.

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.

RAID 03
Ein RAID 03 Verbund benötigt mindestens sechs Festplatten.

RAID 30
RAID 30 wurde ursprünglich von AMI entwickelt. Es stellt eine gestripte Variante von RAID 3 dar. Ein RAID 30 Verbund benötigt mindestens sechs Festplatten

RAID 05
Ein RAID 05 Verbund besteht aus einem RAID 5 Array, das aus mehreren gestripten RAID 0 besteht. Ein RAID 05 Verbund benötigt mindestens sechs Festplatten.

RAID 50
Ein RAID 50 Verbund besteht aus einem RAID 0 Array, das aus mehreren gestripten RAID 5 besteht. Ein RAID 50 Verbund benötigt mindestens sechs Festplatten.

RAID 15
Das RAID 15 Array wird gebildet, indem man einen gestripten Satz mit Parität mit mehrfachen widergespiegelten Paaren als Bestandteile verwendet; sie ist im Konzept ähnlich wie RAID 10, ausser dass das Striping mit einer Parität erfolgt. Bei einem acht Festplatten RAID 15 können bis zu drei beliebige gleichzeitig ausfallen. Ein RAID 15 Verbund benötigt mindestens sechs Festplatten. Die Performance ist gut, aber nicht sehr hoch. Die Kosten sind mit den anderen RAID Systemen nicht direkt vergleichbar.

RAID 51
Der RAID 51 Verbund wird ähnlich wie RAID 15 gebildet, indem man die gesamte Reihe eines RAID 5 spiegelt und ist ähnlich zu RAID 01 ausgenommen beim Paritäts Schutz, dass die Sätze RAID 5 anstelle von RAID 0 sind.Bei einem acht Festplatten RAID 51 können bis zu drei beliebige gleichzeitig ausfallen. Darüber hinaus können fünf Festplatten ausfallen solange keine aus dem gespiegelten RAID 5 Verbund betroffen sind.Ein RAID 51 Verbund benötigt mindestens sechs Festplatten.Die Performance ist gut, aber nicht sehr hoch. Die Kosten sind mit den anderen RAID Systemen nicht direkt vergleichbar.

RAID 55
Der RAID 55 Verbund wird ähnlich wie RAID 51 gebildet, indem mehrere RAID 5 Systeme zu einem RAID 5 zusammen geschaltet werden. Im Gegensatz zu RAID 51 ist der Overhead geringer und es ist möglich schneller die Daten zu lesen. Die Performance ist sehr gut, aber nicht sehr hoch. Die Kosten sind mit den anderen RAID Systemen nicht direkt vergleichbar. Bei einem neun Festplatten RAID 53 können bis zu drei beliebige gleichzeitig ausfallen. Darüber hinaus können fünf Festplatten ausfallen.Ein RAID 55 Verbund benötigt mindestens neun Festplatten.

Matrix RAID
In der Intel ICH6R-Southbridge 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.

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össe, 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össerung der Stripe-Size wächst der maximale Durchsatz, gleichzeitig erhöht sich aber die Zugriffszeit. Auch Striping-Granularität. Heute üblich sind Stripe-Grössen von 64kbyte bis 256kbyte.