WikiDer > Redundantes Array unabhängiger Festplatten
RAID, ursprünglich eine Abkürzung für redundantes Array kostengünstiger Festplatten und heute für redundantes Array unabhängiger Festplatten ist eine Datenspeichertechnologie, bei der mehrere physische Festplatten zu einer oder mehreren logischen virtuellen Speichereinheiten kombiniert werden, um Sicherheit, Geschwindigkeit und/oder Kapazität zu erhöhen. Tatsächlich war RAID die billigere Antwort auf die sehr teure Einzelfestplatte in den Großrechnern von einst.
Die Daten werden auf verschiedenen RAID-Levels auf die Laufwerke verteilt, je nachdem, ob Fehlertoleranz, Durchsatz oder Kapazität erhöht werden müssen. Die verschiedenen Datenverteilungsschemata werden mit dem Begriff RAID gekennzeichnet, gefolgt von einer Nummer (0 bis 6). Alle RAID-Level größer als 0 bieten eine Art Fehlertoleranz, bei der der Ausfall eines Laufwerks von den restlichen Laufwerken absorbiert wird. Redundanz in der Informationstheorie ist ein Maß für die Anzahl überflüssiger Zeichen, die einer Nachricht hinzugefügt werden, um das Original rekonstruieren zu können, wenn diese Nachricht digital beschädigt ist. Der Begriff ist daher eng verwandt mit dem Wort redundant, was redundant bedeutet. Es erscheint logisch, dass man bei technischen Anwendungen versucht, die Redundanz so gering wie möglich zu halten.
Geschichte
Der Begriff "RAID" wurde 1987 von David Patterson, Garth Gibson und Randy Katz von der Universität von Kalifornien, BerkeleySie behaupteten, dass die besten Festplatten für Großrechner in Geschwindigkeit und Zuverlässigkeit von einer Reihe preiswerter Festplatten, die hauptsächlich für den PC-Markt entwickelt wurden, übertroffen werden könnten. Obwohl die Ausfallwahrscheinlichkeit proportional mit der Anzahl der Laufwerke steigt, war die Zuverlässigkeit durch die Konfiguration der Laufwerke in einem redundanten Array besser als bei einem großen Einzellaufwerk.
Operation
Die meisten RAID-Level verwenden ein Fehlertoleranzschema, das auf einem sogenannten Paritätsbit. Diese Methode wird häufig innerhalb der ICT verwendet, um Fehlertoleranz bereitzustellen. In vielen Fällen ist die einfache XORwird angewendet, mit Ausnahme von RAID 6, das zwei verschiedene Arten von Paritätsberechnungen verwendet. Dies ist notwendig, da dieser RAID-Level den Ausfall von zwei Laufwerken zulässt. RAID kann auch Datenschutz für SSD (Solid State Disk) ohne mit den teuren SSDs ein ganzes Array aufbauen zu müssen. Ein Beispiel ist, dass eine schnelle SSD mit einem mechanischen Laufwerk gespiegelt wird. Für diese Arten von Konfigurationen sind spezielle Festplattencontroller verfügbar, die nur die schnelle SSD für alle Lesevorgänge adressieren, was zu erheblichen Geschwindigkeitsgewinnen trotz der relativ langsamen mechanischen Festplatte im Array führt.
RAID-Level
| RAID Niveau | Minimal Nummer Dame | Vorteile | Negative |
|---|---|---|---|
| 0 | 2 | Schnellster Datendurchsatz für alle Daten, einfache Einrichtung, einfache Eingabe | Keine Fehlerkorrektur: Bei Ausfall eines der Laufwerke gehen die Daten aller Laufwerke verloren |
| 1 | 2 | Vollständige Fehlerkorrektur, einfache Einrichtung, gute Leseleistung | Relativ teuer |
| 2 | 3 | Fehlerkorrektur, auch für Discs ohne eingebautes Korrektursystem | Keine praktische Anwendung |
| 3 | 3 | Schneller Durchsatz für zusammenhängende Daten, effiziente Fehlerkorrektur | Kann nicht gleichzeitig schreiben und lesen |
| 4 | 3 | Gute Leseleistung, effiziente Fehlerkorrektur | Schreibgeschwindigkeit durch Paritätsberechnungen je nach verwendetem Prozessor oder Controller gebruikte |
| 5 | 3 | Gute Leseleistung, effiziente Fehlerkorrektur | Schreibgeschwindigkeit durch Paritätsberechnungen je nach verwendetem Prozessor oder Controller gebruikte |
| 6 | 4 | Robuste Fehlerkorrektur, toleriert zwei ausgefallene Laufwerke. Das Array ist auch während der Rekonstruktion eines ausgefallenen und ersetzten Laufwerks fehlertolerant. | Noch rechenintensiver als RAID-4 und -5. Schreibgeschwindigkeit durch Paritätsberechnungen je nach verwendetem Prozessor oder Controller gebruikte |
RAID 0
RAID 0 |
RAID-1 |
RAID-2 |
RAID-3 |
RAID-4 |
RAID-5 |
RAID-6 |
![]() RAID-10 |
RAID-0 (auch bekannt als Streifen); mehrere Laufwerke werden in einem Array zusammengefasst und als ein großes Laufwerk aufgerufen. Die Daten werden in kleine (mehrere Dutzend Kilobyte große) Blöcke (auch „Stripes“ genannt) aufgeteilt und auf die verschiedenen Festplatten geschrieben. Dadurch wird eine Geschwindigkeitssteigerung erreicht, da mehrere Platten gleichzeitig Daten abrufen oder schreiben können. Theoretisch könnte die Geschwindigkeitssteigerung direkt proportional zur Anzahl der Antriebe sein, in der Praxis wird dies jedoch meist nicht erreicht.
RAID-0 bietet keine Fehlerkorrektur. Wenn ein Laufwerk ausfällt, gehen alle Daten des gesamten Arrays verloren.
Das kleinste Laufwerk (Kapazität) im Array bestimmt die Größe aller RAID-Systeme. Wenn beispielsweise ein 50-GB-, 100-GB- und 250-GB-Laufwerk in einem RAID-0-Array platziert wird, präsentiert der Controller dem PC ein 150-GB-Laufwerk (50 GB × 3). Bei vielen Controllern gehen effektiv 250 GB verloren. Einige Controller können den verbleibenden Speicherplatz jedoch noch für ein anderes RAID-Set verwenden.
Software-RAID-0 wird auch als Volume-Sets bezeichnet. Dies ist jedoch nicht immer ein Striping auf Blockebene, sondern Ordner und die darin enthaltenen Dateien werden vom Dateisystem auf der Platte innerhalb des Volume-Sets platziert, die zu diesem Zeitpunkt den meisten freien Speicherplatz hat.
RAID-1
Die erste fehlertolerante Implementierung von RAID heißt RAID-1 und spiegelt zwei Laufwerke, auf Englisch "Festplattenspiegelung" erwähnt. Alle geänderten Datenblöcke von einem Datenträger werden direkt auf einen zweiten Datenträger kopiert, wodurch eine 1:1-Kopie erstellt wird. Da die Daten auf Blockebene kopiert werden, können beide Platten als Boot-Diskette (eine Platte, mit der das System gebootet werden kann) verwendet werden. Die einfachste Art der „Festplattenspiegelung“ besteht darin, dass zwei Festplatten an einen Festplatten-Controller angeschlossen sind. Dies garantiert den Ausfall einer Platte, aber nicht den Ausfall des Controllers. Neben der Spiegelung ist auch Plattenduplexing bekannt, bei dem beide Platten über einen eigenen Controller verfügen. Das ist nicht nur robuster, sondern auch schneller, da beide Laufwerke gleichzeitig angesprochen werden können.
RAID-2
RAID-2 besteht aus der Aufteilung von Bits auf mehrere Festplatten, abgeschlossen mit dem sogenannten Hamming-Code. Alle Platten laufen synchron und die Daten werden so auf die Platten verteilt, dass jedes nachfolgende Bit auf eine andere Platte geschrieben wird. Als nächstes wird die Hamming-Code-Parität über die entsprechenden Bits berechnet und auf mindestens eine dedizierte Paritätsplatte geschrieben. Dieser RAID-Level ist nur von historischer Bedeutung, da er seit 2014 nicht mehr kommerziell genutzt wird.
RAID-3
RAID-3 besteht darin, Bytes auf mehrere Festplatten aufzuteilen und die Kette mit einem Paritätsbyte zu beenden. Alle Festplatten laufen synchron und die Daten werden so verteilt, dass jedes Byte auf eine andere Festplatte geschrieben wird. Die Parität wird über die entsprechenden Bytes berechnet und auf eine dedizierte Paritätsplatte geschrieben. RAID-3 wird in der Praxis nur selten verwendet.
RAID-4
RAID-4 besteht aus einer Partitionierung der Festplatten auf Blockebene mit einer dedizierten Paritätsfestplatte. Dieses RAID-Level wurde zuvor verwendet von NetApp, wurde aber jetzt durch eine proprietäre Variante von RAID-6 mit zwei Paritätslaufwerken, genannt RAID-DP, ersetzt.
RAID-5
RAID-5 besteht aus einer Partitionierung auf Blockebene zwischen den Festplatten, jedoch ohne eine dedizierte Paritätsfestplatte. Bei RAID-5 werden die Paritätsblöcke auf alle Laufwerke im Array verteilt. Der Vorteil hierbei ist, dass eine separate Parity-Platte nicht übermäßig belastet wird, die bei jedem Schreibvorgang auch auf eine der anderen Platten geschrieben werden muss. Durch die Aufteilung des Paritätsblocks auf alle Platten werden die Platten gleichmäßig belastet.
Beispiel für RAID-5-Speicher auf 4 Laufwerken:
| Festplatte1 | disk2 | disk3 | disk4 | |
|---|---|---|---|---|
| Streifen 1-4: | Datum01 | Datum02 | Datum03 | Par 01,02,03 |
| Streifen 5-8: | Datum04 | Datum05 | Par 04,05,06 | Datum06 |
| Streifen 9-12: | Datum07 | Par 07,08,09 | Datum08 | Datum09 |
| Streifen 13-16: | Par 10,11,12 | Termine10 | Termine11 | Termine12 |
| Streifen 17-20: | Termine13 | Termine14 | Termine15 | Par 13,14,15 |
| Streifen 21-n: | ... | ... | ... | ... |
Beispiel Paritätsberechnung
Die Paritätsberechnung ist recht einfach, alle ankreuzen Bits eines Satzes über a XORFunktion kombiniert. Die XOR-Funktion gibt eine 1 für eine ungerade Anzahl von Einsen und eine 0 für eine gerade Anzahl von Einsen zurück. Die Berechnung lautet dann wie folgt:
Byte00101001(Byte 1)10010101(Byte 2)00101011(Byte 3)—————————————————————————————XOR10010111(Paritätsbyte von Byte 1, -2 und -3)
Beachten Sie, dass die Anzahl der Einsen in jeder Spalte eine gerade Zahl ist. Auf diese Weise können verlorene Informationen leicht rekonstruiert werden.
RAID-6
RAID 6 ähnelt RAID 5, verwendet jedoch zwei Paritätsblöcke, die auf alle Festplatten verteilt sind. Der effektiv nutzbare Speicherplatz nimmt daher mit zwei Platten ab. Die Paritätsberechnung ist wesentlich komplexer als bei RAID-5 und steht nur auf einer begrenzten Anzahl von RAID-Controllern zur Verfügung. Dies kann dazu führen, dass zwei beliebige Laufwerke ausfallen.
RAID-DP
RAID-DP[1] ist eine Erweiterung zu RAID 4 mit einer zweiten Paritätsplatte. Dies ermöglicht wie bei RAID-6 eine Rekonstruktion des Arrays bei zwei ausgefallenen Festplatten. Der Unterschied zu RAID-6 besteht jedoch darin, dass dedizierte Paritätsfestplatten verwendet werden, anstatt die Paritätsblöcke über das gesamte Array zu verteilen. Die dedizierten Paritätslaufwerke in RAID-DP haben den Vorteil, dass bei der Erweiterung des Arrays nicht das gesamte Array neu geschrieben werden muss, was es schneller und sicherer macht. Das Argument, dass die dedizierten Paritätsplatten stärker belastet werden, trifft bei RAID-DP nicht zu, da die Platten im Array synchron laufen und die Last relativ proportional ist.
Für die Rekonstruktion in RAID-DP wird ein spezieller AlgorithmusDP[2] die im Folgenden unter Bezugnahme auf die obige Abbildung kurz erörtert wird. Es gibt zwei Bedingungen für RAID-DP, um sich nach doppelten Festplattenfehlern zu erholen: Die erste Bedingung ist, dass jedem diagonalen Paritätsstreifen ein und nur ein Laufwerk fehlt, aber jeder diagonalen ein weiteres Laufwerk fehlt. Die andere Bedingung ist, dass es einen diagonalen Streifen gibt, auf dem keine Parität auf der zweiten diagonalen Paritätsscheibe erzeugt wird. In der Abbildung besteht dieser diagonale Streifen aus den weißen Blöcken. In dem obigen Rekonstruktionsbeispiel ist es offensichtlich, dass das Weglassen des einen diagonalen Balkens die Fähigkeit von RAID-DP, alle Daten bei einem Ausfall einer doppelten Platte wiederherzustellen, nicht beeinträchtigt.
Kombinationen
RAID-Konfigurationen können auch in Kombinationen angeboten werden, wodurch einige der Nachteile bestimmter Lösungen abgemildert werden. RAID-0 und 1 können beispielsweise zu RAID-10 (siehe Bild) kombiniert werden, das die Geschwindigkeit von RAID-0 und die Zuverlässigkeit von RAID-1 mit mindestens 4 Festplatten kombiniert. Auch RAID 5 wird mit RAID-0 in RAID-50 für zusätzliche Geschwindigkeit oder mit RAID-1 in RAID-51 für zusätzliche Zuverlässigkeit kombiniert.
Hybrid-RAID
Einige Systeme unterstützen auch Hybrid-RAID-Konfigurationen, die den Speicherplatz auf Festplatten unterschiedlicher Größe maximieren können. Auf diese Weise kann eine Kombination aus drei 2-TB-Laufwerken und zwei 3-TB-Laufwerken ein RAID-5-Set mit 5 Laufwerken für die ersten 2 TB jedes Laufwerks bilden, die beiden restlichen 1 TB-Stücke auf den größeren Laufwerken können als RAID-1-Set kombiniert werden ergeben eine zusätzliche TB.
| Disc-Nr. | 1 | 2 | 3 | 4 | 5 | Konstruktion | Netz |
| Gesamtkapazität | 2 TB | 2 TB | 2 TB | 3 TB | 3 TB | JBOD | 12 TB |
| Partition 1 | 2 TB | 2 TB | 2 TB | 2 TB | 2 TB | 5×2TB im RAID-5 | 8 TB |
| Partition 2 | - | - | - | 1 TB | 1 TB | 2×1TB im RAID-1 | 1 TB |
Besondere Merkmale
heißer Ersatz
Viele RAID-Controller verfügen über eine speziell installierte "Hot-Spare"-Festplatte, die sofort mit der Wiederherstellung von Daten beginnen kann, sobald eine Festplatte ausfällt. Dies minimiert den Zeitraum, in dem das System anfällig für einen zweiten Laufwerksausfall ist.
Migration und Erweiterung in Echtzeit
Einige RAID-Controller können auch ohne Datenverlust und manchmal ohne Unterbrechung von einem RAID-Level zu einem anderen migrieren. Angenommen, es gibt einen RAID-Controller mit zwei Festplatten in RAID-1, durch Hinzufügen einer zusätzlichen Festplatte kann die effektive Kapazität verdoppelt werden, indem ein RAID-5-Satz daraus gemacht wird. Ein vorhandener RAID-5-Satz kann auch durch Hinzufügen zusätzlicher Festplatten erweitert werden.
