Hardware-RAID (Redundant Array of Independent Disks)

RAID (Redundant Array of Independent Disks) ist eine Technologie, die verwendet wird, um die Leistung und/oder Zuverlässigkeit der Datenspeicherung zu erhöhen. In den späten 1980er Jahren stand das "I" in RAID noch für "inexpensive", wurde aber später in "independent" geändert.

Ein RAID-System besteht aus zwei oder mehr parallel arbeitenden Festplatten, wobei die Festplatten HDDs oder Solid-State-Laufwerke sein können. Für den RAID-Betrieb wird ein RAID-Controller benötigt.
Der Controller kann als PCI- oder PCI-Express (PCIe)-Karte ausgeführt werden, die ein bestimmtes Laufwerksformat wie SATA oder SCSI unterstützen. (Einige RAID-Controller können auch mit dem Motherboard integriert werden).
Ein RAID-Controller kann auch nur Software sein und die Hardware-Ressourcen des Hostsystems nutzen.

Es gibt verschiedene RAID-Level, die jeweils für eine bestimmte Situation optimiert sind. Diese werden nicht von einer Industriegruppe oder einem Standardisierungsausschuss normiert. Aus diesem Grunde manche Unternehmen manchmal mit ihren eigenen, einzigartigen Nummern und Implementierungen aufwarten. Dieser Artikel behandelt die folgenden RAID-Level:

  • RAID 0 (Disk Striping)
    RAID-Level 0 könnte richtiger als "AID" bezeichnet werden, da er keine Redundanz aufweist. Die Daten werden lediglich in Blöcke unterteilt, die jeweils sequentiell auf das nächste Laufwerk im Array geschrieben werden. Wenn sich vier Laufwerke im Array befinden, wird jede logische E/A in vier physikalische Operationen unterteilt.

    Der wichtigste Punkt von RAID 0 ist die Leistung. Theoretisch kann es die n-fache Leistung eines einzelnen Laufwerks liefern, wobei n die Anzahl der Laufwerke im Array ist. Die Anpassung der Größe des Stripes ist jedoch wichtig. Wenn sie zu groß ist, passen viele E/A-Operationen in einen einzigen Streifen und finden auf einem einzigen Laufwerk statt. Wenn sie zu klein ist, wird jede logische Operation in zu viele physikalische Operationen zerlegt, wodurch der Bus oder Controller, an den die Laufwerke angeschlossen sind, belastet wird.

    RAID 0 bietet bei typischen Anwendungen wie Textverarbeitungsprogrammen und Tabellenkalkulationen kaum Vorteile. In Fällen, in denen sehr große Dateien z.B. auf Videoservern geöffnet oder gespeichert werden müssen, können sie jedoch sehr sinnvoll sein.

  • RAID 1 (Spiegelung)
    RAID 1 ist das einfachste tatsächlich redundante Array-Design, bei dem gespiegelte Plattenlaufwerkspaare verwendet werden. Es wird lediglich ein Duplikat des Inhalts eines Laufwerks auf einem anderen Laufwerk erstellt. Diese Tatsache macht RAID 1 zwar einfach zu implementieren, macht es aber auch zum kostspieligsten (100-prozentige Redundanz) in Bezug auf den erforderlichen Festplatten-Overhead.

    Die Schreibleistung von RAID 1 ist langsamer als die eines Solo-Laufwerks, da alle Daten zweimal geschrieben werden müssen. Die Pufferung auf einem Controller verbirgt diese Tatsache jedoch normalerweise vor dem Host-Computer.

    Das Lesen kann schneller sein, da es immer möglich ist, Daten von jedem Laufwerk, das verfügbar ist, früher abzurufen.

  • RAID 2 (Hamming Code)
    RAID 2 ist ein bit-orientiertes Schema für Striping-Daten. Jedes Bit eines Datenworts wird der Reihe nach auf ein separates Laufwerk geschrieben. Die Prüfsummeninformationen werden dann für jedes Wort berechnet und in physisch getrennte Fehlerkorrekturlaufwerke geschrieben.

    Leider ist die Ein-/Ausgabe langsam, insbesondere bei kleinen Dateien, da bei jeder Operation auf jedes Laufwerk zugegriffen werden muss. Der Controller-Entwurf ist relativ einfach, hohe Datenübertragungsraten sind für große Dateien möglich, und der Platten-Overhead beträgt normalerweise 40 Prozent. Doch obwohl RAID 2 zuverlässig ist, wird es heute selten als erstrebenswert angesehen, sich mit RAID 2 zu beschäftigen.

  • RAID 3 (Byte-striping mit Parityinformation)
    RAID 3 führt eine effizientere Art der Datenspeicherung bei gleichzeitiger Fehlerkorrektur ein. Die Daten werden weiterhin Bit für Bit (oder Byte für Byte) über die Laufwerke verteilt. Die Fehlerprüfung erfolgt durch Speicherung der Paritätsinformationen (berechnet über eine mathematische Funktion, die als Exklusives ODER oder XOR bezeichnet wird) auf einem separaten Paritätslaufwerk.

    Da Paritätswerte einfach zu berechnen und zu schreiben sind, können RAID 3-Arrays schnell arbeiten. Jede E/A-Operation muss jedoch alle Laufwerke gleichzeitig ansprechen. Das bedeutet, dass RAID 3 zwar hohe Datenübertragungsraten bietet, aber am besten für große Dateien wie Videostreams geeignet ist.

  • RAID 4 (Sektor-striping mit Parityinformation)
    RAID 4 modifiziert das Konzept von RAID 3, indem es mit Daten in Form von Blöcken (wie RAID 0) und nicht in Form von Bits oder Bytes arbeitet. Dies reduziert den Verarbeitungsaufwand und kann hohe aggregierte Datenübertragungsraten bei Lesevorgängen ermöglichen. Für "Schreiber" gibt es jedoch unweigerlich einen Wettstreit um das alleinige Paritätslaufwerk, was diesen RAID-Level relativ träge macht.

  • RAID 5
    Einer der beliebtesten RAID-Level, RAID 5, ist wiederum blockorientiert und basiert auf der Speicherung von Paritätsinformationen. Anstatt die Paritätsdaten jedoch auf ein einzelnes Laufwerk zu legen, werden sie über das gesamte Array verteilt.

    Da RAID 5 den Engpass der Paritäts-Festplatte beseitigt, verbessert es die Schreibleistung. Und aufgrund der Unabhängigkeit aller Laufwerke im Array ist die Leseleistung die beste unter den echten RAID-Levels. Die Wiederherstellung nach einem Plattenfehler ist relativ langsam, aber zuverlässig genug. Alles in allem wird mit RAID 5 ein hervorragendes Gleichgewicht zwischen Leistung, Datenschutz und niedrigen Kosten erreicht.

  • RAID 6
  • RAID 7
  • RAID 10
    RAID 10 wird auch als RAID 0+1 oder 1+0 bezeichnet, da es die Elemente von RAID 0 und RAID 1 kombiniert. Es verwendet zwei Sätze von Laufwerken, die sich gegenseitig spiegeln, wie bei RAID 1. Innerhalb dieser Sätze werden die Daten dann über die Laufwerke gestreift (wie bei RAID 0), um den Zugriff zu beschleunigen.

  • RAID 30
  • RAID 50
  • RAID 53
    RAID 53, das eigentlich nach obiger Logik als RAID 30 bezeichnet werden sollte, kombiniert RAID 0 und RAID 3. Auch hier wird, wie bei RAID 0, ein Striped-Array verwendet, dessen Segmente jedoch RAID 3-Arrays sind. Sowohl hohe Datenübertragungsraten als auch hohe E/A-Raten für kleine Anfragen werden angeboten - allerdings zu einem Preis.

Es gibt noch andere RAID-Level, aber es handelt sich immer um Kombinationen der ersten RAID-Level. Dies sind in der Regel herstellerspezifische RAID-Systeme.

Stand: 26.09.2017