Definition

RAID (Redundant Array of Independent Disks)

Was ist RAID (Redundant Array of Independent Disks)?

Die Abkürzung RAID steht für Redundant Array of Independent Disks und ist eine Technologie, die es Administratoren erlaubt, Daten auf unterschiedliche Weise über mehrere Festplatten oder SSDs hinweg zu platzieren und speichern. Damit sollen Datensätze auch dann noch verfügbar sein, wenn einzelne Speichermedien in einem System oder Verbund ausfallen. Es stehen verschiedene RAID-Level zur Verfügung, die unterschiedliche Sicherheits- und -leistungsniveaus bieten. Dabei offerieren nicht alle RAID-Schutzebenen eine Redundanz, so dass IT-Verantwortliche die Wahl des RAID-Levels sorgfältig zwischen Sicherheit, Kosten und Leistung abwägen müssen.

Wie funktioniert RAID?

RAID funktioniert, indem Daten auf mehrere Platten verteilt werden und Input-/Output-Operationen (I/O) in ausgewogener Weise überlappen können, wodurch die Leistung verbessert wird. Da die Verwendung mehrerer Platten die mittlere Zeit zwischen den Ausfällen (Mean Time Between Failures, MTBF) erhöht, erhöht die redundante Speicherung von Daten auch die Fehlertoleranz.

RAID-Arrays erscheinen dem Betriebssystem (OS) als ein einziges logisches Laufwerk. RAID verwendet die Techniken der Plattenspiegelung (Mirroring) oder des Platten-Striping. Bei der Spiegelung werden identische Daten auf mehr als ein Laufwerk kopiert, also gespiegelt. Striping-Partitionen helfen bei der Verteilung von Daten auf mehrere Laufwerke. Der Speicherplatz jedes Laufwerks ist in Einheiten von einem Sektor (512 Byte) bis zu mehreren Megabyte unterteilt. Die Stripes aller Platten werden ineinander verschachtelt und der Reihe nach adressiert.

Plattenspiegelung und Platten-Striping können auch in einem RAID-Array kombiniert werden.

In einem Einzelanwendersystem, in dem große Datensätze gespeichert werden, sind die Stripes normalerweise so klein (vielleicht 512 Byte), dass ein einziger Datensatz alle Platten überspannt und auf den durch das gleichzeitige Lesen aller Platten schnell zugegriffen werden kann.

In einem Mehrbenutzersystem erfordert eine bessere Leistung einen Stripe, der breit genug ist, um den typischen oder maximal großen Datensatz aufzunehmen, so dass sich überlappende Platten-I/Os über die Laufwerke hinweg möglich sind.

Was ist ein RAID-Controller?

Ein RAID-Controller ist ein Gerät, das zur Verwaltung von Festplattenlaufwerken in einem Speicherarray verwendet wird. Er kann als Abstraktionsebene zwischen dem Betriebssystem und den physischen Platten eingesetzt werden, wobei Gruppen von Platten als logische Einheiten dargestellt werden. Die Verwendung eines RAID-Controllers kann die Leistung verbessern und zum Schutz der Daten im Falle eines Absturzes beitragen.

Ein RAID-Controller kann hardware- oder softwarebasiert sein. Bei einem hardwarebasierten RAID-Produkt verwaltet ein physischer Controller das Array. Der Controller kann so ausgelegt sein, dass er Laufwerksformate wie SATA und SCSI oder andere unterstützt. Ein physischer RAID-Controller kann auch in die Hauptplatine eines Servers eingebaut werden.

Bei einem softwarebasierten RAID nutzt der Controller die Ressourcen des Hardwaresystems, wie zum Beispiel den Zentralprozessor und den Hauptspeicher. Obwohl er die gleichen Funktionen wie ein hardwarebasierter RAID-Controller ausführt, ermöglichen softwarebasierte RAID-Controller möglicherweise nicht so viel Leistungssteigerung und können die Leistung anderer Anwendungen auf dem Server beeinträchtigen.

Wenn eine softwarebasierte RAID-Implementierung nicht mit dem Bootvorgang eines Systems kompatibel ist und hardwarebasierte RAID-Controller zu kostspielig sind, ist ein Firmware- oder treiberbasiertes RAID eine weitere mögliche Option.

Firmware-basierte RAID-Controller-Chips befinden sich auf der Hauptplatine, und alle Operationen werden von der CPUausgeführt, ähnlich wie bei einem softwarebasierten RAID. Mit Firmware wird das RAID-System jedoch nur zu Beginn des Boot-Vorgangs implementiert. Sobald das Betriebssystem geladen ist, übernimmt der Controller-Treiber die RAID-Funktionalität. Ein Firmware-RAID-Controller ist zwar nicht so teuer wie eine Hardware-Option, belastet aber die CPU des Computers stärker. Firmware-basiertes RAID wird auch als hardwareunterstütztes Software-RAID, Hybridmodell-RAID und falsches (fake) RAID bezeichnet.

Die verschiedenen RAID-Level im Überblick

Der RAID-Schutz wird in verschiedene RAID-Level unterteilt. Zunächst wurden sechs RAID-Level definiert: RAID 0 bis RAID 5. Dieses nummerierte System ermöglichte es den IT-Mitarbeitern, RAID-Versionen zu unterscheiden. Die Anzahl der Ebenen wurde seitdem erweitert und in drei Kategorien unterteilt: Standard-, Nested (verschachtelte) und nicht standardisierte RAID-Level.

Was sind Standard-RAID-Level?

RAID 0: Bei diesem Verfahren kommt Striping zum Einsatz, es bietet aber keine Redundanz. Die Performance ist hier am höchsten, doch es fehlt Fehlertoleranz.

Abbildung 1: RAID 0 in schematischer Darstellung.
Abbildung 1: RAID 0 in schematischer Darstellung.

RAID 1: Dieser Typ ist auch als Disk-Mirroring bekannt. Er besteht aus mindestens zwei Laufwerken, die Daten doppelt speichern. Striping wird nicht vorgenommen. Die Lese-Performance erhöht sich, weil beide Platten gleichzeitig gelesen werden können. Die Schreib-Performance bleibt gleich. RAID-1 bietet die beste Kombination aus Performance und Fehlertoleranz in Systemen für mehrere Nutzer.

Abbildung 2: RAID 1 in der schematischen Darstellung.
Abbildung 2: RAID 1 in der schematischen Darstellung.

RAID 2: Bei diesem Typ kommt Striping über mehrere Platten zum Einsatz, wobei manche Platten Informationen zu Fehler-Prüfung und Behebung mittels des Error Correction Codes (ECC) speichern. Gegenüber RAID-3 bietet er keine Vorteile und wird nicht mehr verwendet.

Abbildung 3: RAID 2 in grafischer Darstellung.
Abbildung 3: RAID 2 in grafischer Darstellung.

RAID 3: Dieser Level nutzt Striping und verwendet ein Laufwerk zum Speichern von Paritätsinformationen (Parity). Die eingebetteten ECC-Informationen werden zur Entdeckung von Fehlern genutzt. Daten-Recovery ist möglich durch die Berechnung der exklusiven Informationen auf den anderen Laufwerken. Weil eine I/O-Operation alle Laufwerke gleichermaßen anspricht, ist bei RAID-3 kein überlappendes I/O möglich. Aus diesem Grund eignet es sich am besten für Einzelnutzersysteme mit langfristigen Anwendungen.

Abbildung 4: RAID 3 in der schematischen Darstellung.
Abbildung 4: RAID 3 in der schematischen Darstellung.

RAID 4: Bei diesem Typ kommen große Stripes zum Einsatz, so dass Anwender Einträge von jedem Einzellaufwerk lesen und bei Lese-Vorgängen die Vorteile von überlappendem I/O nutzen können. Weil alle Schreibvorgänge das Parity-Laufwerk aktualisieren müssen, ist hier keine I/O-Überlappung möglich. RAID 4 hat keine Vorteile gegenüber RAID 5.

Abbildung 5: RAID 4 schematisch dargestellt.
Abbildung 5: RAID 4 schematisch dargestellt.

RAID 5: Dieser Level basiert auf dem Paritäts-Block-Level-Striping. Die Paritätsinformationen werden über jedes Laufwerk verteilt (striped), so dass das Array auch dann noch funktioniert, wenn ein Laufwerk ausfallen sollte. Die Architektur des Arrays ermöglicht Lese- und Schreibvorgänge, die sich über mehrere Laufwerke erstrecken - was zu einer besseren Leistung als die eines einzelnen Laufwerks führt, aber diese ist nicht so hoch wie die eines RAID-0-Arrays. Für RAID 5 sind mindestens drei Platten erforderlich, aber aus Leistungsgründen wird häufig empfohlen, mindestens fünf Platten zu verwenden.

RAID-5-Arrays werden im Allgemeinen als eine schlechte Wahl für die Verwendung auf schreibintensiven Systemen angesehen, da die Leistungsauswirkungen im Zusammenhang mit dem Schreiben von Paritätsdaten zu groß sind. Wenn eine Festplatte ausfällt, kann es lange dauern, bis ein RAID-5-Array wieder aufgebaut ist.

Abbildung 6: RAID 5 grafisch veranschaulicht.
Abbildung 6: RAID 5 grafisch veranschaulicht.

RAID 6: Dieser Typ ähnelt RAID 5, enthält aber eine zweite Parity, die auf mehrere Laufwerke verteilt ist und damit eine extrem hohe Toleranz gegenüber Fehlern und Laufwerksausfällen bewirkt. Durch die Verwendung zusätzlicher Parität kann das Array auch dann weiter funktionieren, wenn zwei Platten gleichzeitig ausfallen. Dieser zusätzliche Schutz ist jedoch mit Kosten verbunden. RAID-6-Arrays haben oft eine langsamere Schreibleistung als RAID-5-Arrays.

Abbildung 7: RAID 6 in der Grafik dargestellt.
Abbildung 7: RAID 6 in der Grafik dargestellt.

Was sind Nested RAID-Level?

Einige RAID-Level werden als verschachteltes (Nested) RAID bezeichnet, weil sie auf einer Kombination von RAID-Leveln basieren. Hier sind einige Beispiele für verschachtelte RAID-Level.

RAID 10 (RAID 1+0): Die Kombination aus RAID 1 und RAID 0 wird oft als RAID 10 bezeichnet. Die Performance ist höher als bei RAID 1, aber auch die Kosten. Es gibt zwei Bei RAID 1+0 werden die Daten gespiegelt und die Spiegel in Stripes aufgeteilt.

Abbildung 8: RAID 10 (RAID 1+0) in der schematischen Darstellung.
Abbildung 8: RAID 10 (RAID 1+0) in der schematischen Darstellung.

RAID 01 (RAID 0+1): RAID 0+1 ist ähnlich wie RAID 1+0, außer dass die Datenorganisationsmethode etwas anders ist. Anstatt einen Spiegel zu erstellen und dann den Spiegel zu streifen, erstellt RAID 0+1 einen Stripe und spiegelt diesen dann.

RAID 03 (RAID 0+3): Dieser RAID-Level ist auch bekannt als RAID 53 oder RAID 5+3. Dieser Level verwendet Striping (im Stil von RAID 0) für die virtuellen Plattenblöcke von RAID 3. Dies bietet eine höhere Leistung als RAID 3, jedoch zu höheren Kosten.

RAID 50 (oder RAID-5+0): Diese Konfiguration kombiniert verteilte RAID-5-Parität mit RAID-0-Striping, um die RAID 5-Leistung zu verbessern, ohne den Datenschutz zu verringern.

Was sind nichtstandardisierte RAID-Level?

Nicht standardisierte RAID-Level unterscheiden sich von den Standard-RAID-Levels und werden in der Regel von Unternehmen oder Organisationen für den hauptsächlich proprietären Gebrauch entwickelt. Hier sind einige Beispiele.

RAID 7: Ein nicht standardisierter RAID-Level, der auf RAID 3 und RAID 4 basiert und den Cache-Speicher ergänzt. Er umfasst ein eingebettetes Echtzeit-Betriebssystem als Controller, Caching über einen Hochgeschwindigkeitsbus und andere Merkmale eines eigenständigen Computers.

Adaptives RAID: Bei diesem Level kann der RAID-Controller entscheiden, wie die Parität auf den Festplatten gespeichert werden soll. Er wählt zwischen RAID 3 und RAID 5, je nachdem, welcher RAID-Typ bei der Art der auf die Platten geschriebenen Daten besser funktioniert.

Linux MD RAID 10: Dieser Level, die vom Linux-Kernel bereitgestellt wird, unterstützt die Erstellung verschachtelter und nicht standardisierter RAID-Arrays. Linux-Software-RAID kann auch die Konfiguration von Standard-RAID 0, RAID 1, RAID 4, RAID 5 und RAID 6-Konfigurationen ermöglichen.

Hardware-RAID vs. Software-RAID

Wie bei RAID-Controllern wird RAID entweder durch Hardware oder Software implementiert. Hardwarebasiertes RAID unterstützt verschiedene RAID-Konfigurationen und ist besonders gut für RAID 5 und 6 geeignet. Die Konfiguration für Hardware-RAID 1 eignet sich gut zur Unterstützung des Boot- und Anwendungslaufwerks, während Hardware-RAID 5 für große Speicher-Arrays geeignet ist. Sowohl Hardware-RAID 5 als auch 6 sind gut für eine hohe Leistung geeignet.

Hardwarebasiertes RAID erfordert die Installation eines speziellen Controllers im Server. Hardware-RAID-Controller werden entweder vor oder nach dem Booten des Betriebssystems über das Basis-I/O-System der Karte oder über Option ROM (Festspeicher) konfiguriert. Hersteller von RAID-Controllern bieten in der Regel auch proprietäre Software-Tools für ihre unterstützten Betriebssysteme an.

Softwarebasiertes RAID wird von mehreren modernen Betriebssystemen unterstützt. Es wird auf verschiedene Weise implementiert, unter anderem:

  • als eine Komponente des Dateisystems;
  • als eine Schicht, die Geräte als ein einziges virtuelles Gerät abstrahiert; und
  • als eine Schicht, die über einem Dateisystem liegt.

Diese RAID-Methode nutzt einen Teil der Rechenleistung des Systems, um eine softwarebasierte RAID-Konfiguration zu verwalten. So unterstützt Windows beispielsweise Software-RAID 0, 1 und 5, während Apples macOS RAID 0, 1 und 1+0 unterstützt.

Welche Vorteile hat die RAID-Technologie?

Zu den Vorteilen der RAID-Technologie gehören unter anderem die folgenden:

  • Eine Verbesserung der Kosteneffizienz, da preiswertere Platten in großer Zahl verwendet werden.
  • Die Verwendung mehrerer Festplatten ermöglicht es, die Leistung einer einzelnen Festplatte durch RAID zu verbessern.
  • Erhöhte Computergeschwindigkeit und Zuverlässigkeit nach einem Absturz - je nach Konfiguration.
  • Lese- und Schreibvorgänge können schneller durchgeführt werden als mit einer einzelnen Festplatte mit RAID 0. Dies liegt daran, dass ein Dateisystem aufgeteilt und auf Laufwerke verteilt ist, die zusammen an derselben Datei arbeiten.
  • Mit RAID 5 wird die Verfügbarkeit und Ausfallsicherheit erhöht. Mit der Spiegelung können RAID-Arrays zwei Laufwerke mit denselben Daten haben, so dass sichergestellt ist, dass das eine Laufwerk weiter funktioniert, wenn das andere ausfällt.

Wo liegen die Nachteile der RAID-Technologie?

Diese Technologie hat allerdings auch einige Nachteile. Dazu gehören unter anderem diese:

  • Verschachtelte (Nested) RAID-Level sind in der Implementierung teurer als herkömmliche RAID-Level, da sie eine größere Anzahl von Festplatten erfordern.
  • Die Kosten pro Gigabyte von Speichergeräten sind bei verschachtelten RAID-Levels höher, da viele der Laufwerke für die Redundanz verwendet werden.
  • Wenn ein Laufwerk ausfällt, steigt die Wahrscheinlichkeit, dass ein anderes Laufwerk im Array ebenfalls bald ausfällt, was wahrscheinlich zu Datenverlust führen würde. Dies liegt daran, dass alle Laufwerke in einem RAID-Array gleichzeitig installiert sind, so dass alle Laufwerke dem gleichen Verschleiß unterliegen.
  • Einige RAID-Level (wie RAID 1 und 5) können nur einen einzigen Laufwerksausfall aushalten.
  • RAID-Arrays und die darin enthaltenen Daten befinden sich in einem anfälligen Zustand, bis ein ausgefallenes Laufwerk ersetzt und die neue Platte mit Daten bestückt wird.
  • Da Laufwerke heute eine viel größere Kapazität haben als zu Beginn der Einführung von RAID, dauert es viel länger, ausgefallene Laufwerke wieder aufzubauen.
  • Wenn ein Plattenausfall auftritt, besteht die Möglichkeit, dass die verbleibenden Platten fehlerhafte Sektoren oder unlesbare Daten enthalten - was es unmöglich machen kann, das Array vollständig wiederherzustellen.

Verschachtelte RAID-Level lösen diese Probleme jedoch durch ein höheres Maß an Redundanz, wodurch die Wahrscheinlichkeit eines Ausfalls auf Array-Ebene aufgrund gleichzeitiger Festplattenausfälle deutlich verringert wird.

Wann ist der Einsatz von RAID sinnvoll?

In folgenden Fällen ist eine RAID-Konfiguration sinnvoll:

  • Wenn eine große Menge an Daten wiederhergestellt werden muss. Wenn ein Laufwerk ausfällt und Daten verloren gehen, können diese Daten schnell wiederhergestellt werden, da diese Daten auch auf anderen Laufwerken gespeichert sind.
  • Wenn Betriebszeit und Verfügbarkeit wichtige Geschäftsfaktoren sind. Wenn Daten wiederhergestellt werden müssen, kann dies schnell und ohne Ausfallzeiten geschehen.
  • Bei der Arbeit mit großen Dateien. RAID bietet Geschwindigkeit und Zuverlässigkeit bei der Arbeit mit großen Dateien.
  • Wenn ein Unternehmen die Belastung der physischen Hardware verringern und die Gesamtleistung erhöhen muss. Eine Hardware-RAID-Karte kann beispielsweise zusätzlichen Speicher enthalten, der als Cache genutzt werden kann.
  • Bei Problemen mit I/O-Festplatten. RAID sorgt für zusätzlichen Durchsatz, da Daten von mehreren Laufwerken gelesen und geschrieben werden können, anstatt auf die Ausführung von Aufgaben durch ein einzelnes Laufwerk warten zu müssen.
  • Wenn Kosten ein Faktor sind. Die Kosten für ein RAID-Array sind niedriger als in der Vergangenheit, und preisgünstigere Festplatten werden in großer Zahl verwendet, wodurch es billiger wird.

Eine kurze Historie der RAID-Technologie

Der Begriff RAID wurde 1987 von David Patterson, Randy Katz und Garth A. Gibson geprägt. In ihrem technischen Bericht von 1988, „A Case for Redundant Arrays of Inexpensive Disks (RAID)“, argumentierten die drei, dass ein Array preiswerter Laufwerke die Leistung der besten Festplattenlaufwerke jener Zeit übertreffen könnte. Durch die Verwendung von Redundanz könnte ein RAID-Array zuverlässiger sein als jedes einzelne Laufwerk.

Während dieser Bericht dem Konzept erstmals einen Namen gab, wurde die Verwendung von redundanten Festplatten bereits von anderen diskutiert. Gus German von Geac Computer und Ted Grunau bezeichneten diese Idee zunächst als MF-100. IBMs Norman Ken Ouchi meldete 1977 ein Patent für die Technologie an, die später den Namen RAID 4 erhielt. 1983 lieferte Digital Equipment Corp. die Laufwerke aus, die zu RAID 1 werden sollten, und 1986 wurde ein weiteres IBM-Patent für das, was zu RAID 5 werden sollte, angemeldet. Patterson, Katz und Gibson untersuchten auch, was Unternehmen wie Tandem Computers, Thinking Machines und Maxstor taten, um ihre RAID-Taxonomien zu definieren.

Während die im Bericht von 1988 aufgeführten RAID-Level im Wesentlichen bereits verwendete Technologien benannten, trug die Schaffung einer gemeinsamen Terminologie für das Konzept dazu bei, den Datenspeichermarkt zur Entwicklung weiterer RAID-Array-Produkte anzuregen.

Laut Katz wurde der Begriff „preiswert“ (inexpensiv) in der Abkürzung bald durch „unabhängig“ (independent) durch Anbieter aus der Industrie ersetzt, da die Auswirkungen der niedrigen Kosten zu spüren waren.

Die Aussichten der RAID-Technologie

RAID ist nicht tot, aber viele Analysten sagen, dass die Technologie in den letzten Jahren veraltet ist. Alternativen wie Erasure Coding bieten einen besseren Datenschutz (wenn auch zu einem höheren Preis) und wurden mit der Absicht entwickelt, die Schwächen von RAID zu beheben. Mit zunehmender Laufwerkskapazität steigt die Wahrscheinlichkeit von Fehlern bei einem RAID-Array, und die Kapazitäten nehmen ständig zu.

Der zunehmende Einsatz von Solid-State-Laufwerken (SSDs) wird den RAID-Bedarf vermindern angesehen. SSDs haben keine beweglichen Teile und fallen nicht so häufig aus wie Festplattenlaufwerke. SSD-Arrays verwenden häufig Techniken wie zum Beispiel Wear Leveling, anstatt sich beim Datenschutz auf RAID zu verlassen. Hyperscale-Computing macht auch RAID überflüssig, da redundante Server anstelle von redundanten Laufwerken verwendet werden.

Dennoch ist RAID nach wie vor ein fester Bestandteil der Datenspeicherung, und die großen Technologieanbieter bringen immer noch RAID-Produkte auf den Markt. IBM hat IBM Distributed RAID mit seiner Spectrum Virtualize V7.6 veröffentlicht, die eine Steigerung der RAID-Leistung verspricht. Die neueste Version der Intel Rapid Storage-Technologie unterstützt RAID 0, RAID 1, RAID 5 und RAID 10, und die NetApp ONTAP Management-Software nutzt RAID zum Schutz vor bis zu drei gleichzeitigen Laufwerksausfällen. Die Dell EMC Unity-Plattform unterstützt außerdem RAID 1/0, RAID 5 und RAID 6.

Diese Definition wurde zuletzt im Juli 2024 aktualisiert

Erfahren Sie mehr über Disk-Systeme