WikiDer > Redundantes Array unabhängiger Festplatten

Redundant array of independent disks

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
VorteileNegative
02Schnellster Datendurchsatz für alle Daten, einfache Einrichtung, einfache EingabeKeine Fehlerkorrektur: Bei Ausfall eines der Laufwerke gehen die Daten aller Laufwerke verloren
12Vollständige Fehlerkorrektur, einfache Einrichtung, gute LeseleistungRelativ teuer
23Fehlerkorrektur, auch für Discs ohne eingebautes KorrektursystemKeine praktische Anwendung
33Schneller Durchsatz für zusammenhängende Daten, effiziente FehlerkorrekturKann nicht gleichzeitig schreiben und lesen
43Gute Leseleistung, effiziente FehlerkorrekturSchreibgeschwindigkeit durch Paritätsberechnungen je nach verwendetem Prozessor oder Controller gebruikte
53Gute Leseleistung, effiziente FehlerkorrekturSchreibgeschwindigkeit durch Paritätsberechnungen je nach verwendetem Prozessor oder Controller gebruikte
64Robuste 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:

Festplatte1disk2disk3disk4
Streifen 1-4: Datum01Datum02Datum03Par 01,02,03
Streifen 5-8: Datum04Datum05Par 04,05,06Datum06
Streifen 9-12: Datum07Par 07,08,09Datum08Datum09
Streifen 13-16: Par 10,11,12Termine10Termine11Termine12
Streifen 17-20: Termine13Termine14Termine15Par 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.

RAID DP-Rekonstruktion sample.svg

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.12345KonstruktionNetz
Gesamtkapazität2 TB2 TB2 TB3 TB3 TBJBOD12 TB
Partition 12 TB2 TB2 TB2 TB2 TB5×2TB im RAID-58 TB
Partition 2---1 TB1 TB2×1TB im RAID-11 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.

Externer Link

Verweise