• Keine Ergebnisse gefunden

RAID DAS „S TRIPTEASE “ K ONZEPT

2 SPIEGELUNG/ REPLIKATION ALLGEMEIN

2.2 RAID DAS „S TRIPTEASE “ K ONZEPT

Definition:

RAID steht für Redundant Array of Inexpensive Disks. Ein RAID-System - auch „Disk Array" genannt - besteht aus einer Anzahl von Festplatten und der für den Anschluss an einen Host-Computer notwendigen Hard-, Soft- und Firmware. Von der Gesamtkapazität des RAID-Systems wird ein Teil für das Speichern redundanter Information verwendet.

Diese Informationen ermöglichen das Wiederherstellen der Daten bei Ausfall einer der

Festplatten oder deren Datenpfad. RAID ist die sinnvollste und effektivste Technologie, um Festplattenstapel abzusichern, deren Daten Online- verfügbar sein müssen.

Des weiteren erfüllt das System die notwendige Datensicherung, wie auch durch Backup-Medien. Bei großen Datenbanken ist festzustellen, dass die Zeit für ein sofortiges komplettes Restore unmöglich aufgebracht werden kann. So bauen sich die verlorenen Daten eines Disk Arrays im Hintergrund wieder auf, um die Daten der anderen Festplatten weiterhin verfügbar zu machen. Somit ist die Redundanz (also das Speichern der redundanten Daten) die wichtigste Eigenschaft eines Disk Arrays. Je größer die Anzahl der Festplatten eines Systems, desto größer wird die statistische und tatsächliche Ausfallgefahr einer der Platten. Daher gibt es unterschiedliche logische Aufbauten eines Disk Arrays, genannt RAID- Level, die wir hier im Einzelnen darstellen, wobei RAID Level höherer numerischer Ordnung diese Ausfallgefahr verringern können. Weiterhin ist zu vermerken, dass bei vielen RAID Ansätzen die Leistung durch parallele Transferoperationen unter Umständen erheblich gesteigert werden kann. Zur Geschichte des RAID Konzepts, sowie der Vergleich Hardware-Software RAID, verweisen wir auf die Ausarbeitung 2 (Vortrag Gebäudetechnik für Rechenzentren).

Die RAID-Levels:

Systeme sind Zusammenschlüsse von mehreren Festplatten, die über einen RAID-Controller angesteuert werden. In allen Bereichen, in denen ein hoher Anspruch auf Leistung und Datensicherheit gestellt wird, kommt das Verfahren zum Tragen.

Unterschieden wird RAID nach verschiedenen Stufen (=Levels), die seine Funktionsweise beschreiben.

RAID 0 – nicht redundantes Data Striping:

Die Datenblöcke werden entsprechend der eingestellten Streifengröße und der vorhandenen Festplatten in Streifen (=Stripes) aufgeteilt, wobei jeder Streifen eines Datenblocks auf einer separaten Festplatte gespeichert wird. Dadurch wird beim sequenziellen Schreiben und Lesen von großen Dateien ein höherer Datendurchsatz um den Faktor „Anzahl der RAID 0 Platten mal Datendurchsatz der langsamsten Festplatte“

erreicht. RAID 0 bietet keinerlei Redundanz. Beim Ausfall einer Festplatte sind die Daten des gesamten RAID 0 Verbandes verloren. Zusätzlich ist zu bemerken, dass die Anzahl der Streifen von der Festplatte abhängt, die die geringste Speicherkapazität aufweist.

Abbildung 1 : RAID 0

RAID 1 - Spiegeln (=Mirroring):

RAID 1 ist auch unter dem Namen „Disk Mirroring“ oder Festplattenspiegelung bekannt.

Voraussetzung für RAID 1 ist eine gerade Anzahl von Festplatten. Die Daten werden jeweils auf zwei Festplatten gespeichert. Beim Ausfall einer Platte sind die Daten identisch auf der zweiten Festplatte vorhanden. Beim Spiegeln von Festplatten an einem Kanal spricht man von „Disk Mirroring“, beim Spiegeln an unabhängigen Kanälen von

„Disk Duplexing“ (zusätzliche Sicherheit). RAID 1 ist eine einfache Lösung zur

Datensicherheit und Datenverfügbarkeit mit dem Nachteil, dass lediglich die Hälfte der Gesamtkapazität als nutzbarer Bereich zur Verfügung steht.

Abbildung 2: RAID 1

Erst ab RAID-Level 2 werden Fehlererkennungs- und Korrekturcodes auf zusätzlichen Paritätsplatten verwendet. Diese werden im weiteren Verlauf vorgestellt:

RAID 2 – Bitweise Datenverteilung mit (mehreren) Parity Platten:

RAID 2 ist ein Verfahren, das sparsamer mit dem Speicherplatz umgeht. Hierbei werden die Daten über mehrere Laufwerke verteilt, und zusätzliche Laufwerke für Paritätsdaten verwendet. Die Daten werden dabei Bitweise auf die Laufwerke verteilt. D.h. auf jedes Laufwerk einer Gruppe wird jeweils ein einziges Bit geschrieben, und zum Schluss ein Checkbit bzw. Paritätsbit auf die Paritätsplatte(n). Diese haben die Form von Fehlerkennungs- und Korrekturcodes. So kann man sich die Paritätsinformationen als eine Art Checksumme vorstellen, mit der man überprüft, ob die verwendeten Daten noch korrekt sind, und ob eine Korrigierung der Fehler durchgeführt werden muss.

Die Fehlerkorrektur mittels Paritätsinformation geschieht nun wie folgt (beschrieben nach Kemper und Eickler, Kapitel 7.2)1: „Man speichert zu N Datenbereichen, die auf unterschiedlichen Platten liegen, zusätzlich deren Prüfsumme auf einer anderen Platte ab.

Wenn nur einer dieser N Datenbereiche (bzw. deren Platte) defekt ist, kann man den Wert dieses Datenbereichs aus der Prüfsumme minus der Summe der noch intakten N-1 Datenbereiche wiederherstellen“. Als Nachteil dieses Verfahrens ist zu nennen, dass in der Regel bei hoher Plattenanzahl nach Erfahrungsberichten mindestens 30 % der Speicherkapazität für Checkdaten zu verwenden sind.

Abbildung 3: RAID 2

RAID 3 – Bit- oder byteweises Striping mit einer Parity Platte:

Die Daten werden im Gegensatz zu RAID 2 bit- oder byteweise über die verschiedenen Laufwerke verteilt abgespeichert und eine Check- bzw. Parityinformation zur Datensicherung auf einem indizierten Laufwerk für die Paritätsdaten abgelegt. Eine solche Paritätsinformation enthält „Wissen“ zur Fehlererkennung und Rekonstruktion eines gesamten Streifens, und wird wie auch bei RAID 4 durch eine exklusive Oder-Verknüpfung der bit- bzw. byteweise gestreiften Daten zusammengesetzt. Kann nun auf der Platte ein Byte nicht mehr gelesen werden, so lässt es sich einfach aus den Kontrolldaten ergänzen. Der Nachteil von RAID 3 liegt im Wesentlichen darin, dass nach jeglicher Schreiboperation die Check- bzw. Parityinformation neu eingetragen werden muss. Hierdurch wird die Datendurchsatzrate erheblich reduziert, weil paralleler Datenzugriff nicht möglich ist. Beim Lesen hingegen wird nur im Fehlerfall auf die Paritätsplatte zugegriffen.

Abbildung 4: RAID 3 RAID 4 - Blockweises Striping mit einer Parity Platte:

Wie bei RAID 0 werden die Daten Blockweise auf den Festplatten verteilt. Dabei ist ein Block üblicherweise vier bis 128 Kilobyte groß. Durch die Blockverteilung kann RAID 4 effizienter mit kleinen Leseanforderungen als RAID 3 umgehen. Allerdings zu Lasten von Schreiboperationen, da der Inhalt des Daten- und des Paritätsblocks gelesen und daraufhin geschrieben werden muss. Wiederum werden Paritätsdaten auf einem Sicherheitslaufwerk abgelegt. Durch diese Parität stehen bei einem Ausfall einer Festplatte alle Daten weiterhin zur Verfügung. Lediglich die Kapazität einer Festplatte geht für die Redundanz verloren.

Abbildung 5: RAID 4 RAID 5 - Blockweises Striping mit verteilter Parity:

Die Nachteile der RAID-Levels 2, 3 und 4 wurden erst mit der fünften Generation von RAID-Levels ausgeglichen. In der RAID-Ebene 5 wurde ein Verfahren entwickelt, das auf ein eigenes Laufwerk oder eigene Laufwerke für Prüfdaten verzichtet. Die Daten für die Fehlerkorrektur sind dabei über alle Festplatten verteilt. Da nun nach einer Schreiboperation nicht auf ein und dasselbe Laufwerk für die Fehlerkorrekturdaten zugegriffen werden muss, lässt sich die Fähigkeit der Plattenarrays, auf alle Laufwerke gleichzeitig zuzugreifen, effizienter nützen. Die Problematik des Prüfdatenzugriffs ist insofern entschärft, als für eine Schreiboperation nur in besonderen Fällen eine parallele Durchführung nicht mehr möglich ist.

Abbildung 6: RAID 5

RAID 6 – P+Q Redundanz:

Zur Wiederholung: Parität ist eine Art Redundanz Code zur Fehlerkorrektur, welcher in der Lage ist, jeden einzelnen Fehler, der vom System erkannt wird, zu korrigieren. Bei der Verwendung von „Disk Arrays“ ist es wünschenswert eine bessere Fehlerkorrektur zu besitzen, die mehrere Plattenfehler tolerieren kann. Tritt ein Plattenabsturz in einem Parität geschützten „Disk Array“ auf, so muss das System die Möglichkeit haben die Inhalte aller nicht abgestürzten Platten zu lesen, um die defekte Platte wiederherzustellen.

Die Wahrscheinlichkeit, dass ein nicht korrigierbarer Fehler während der Wiederherstellung auftritt, ist demnach nicht zu vernachlässigen. Um eine noch höhere Datenintegrität zu gewährleisten, wurde somit ein neues RAID Schema eingeführt.

Dieses Schema, welches man als P+Q Redundanz oder auch als RAID 6 bezeichnet, verwendet Reed-Solomon Fehlerkorrektur-Codes (siehe Glossar) um sich gegen bis zu zwei Plattenausfälle zu wappnen. Von der Struktur und von den Operationen betrachtet, ist die RAID 6 Ebene ähnlich wie RAID 5. Sie führt „kleine“ Schreiboperationen mit der Verwendung einer Lese-Modifizier-Schreib-Prozedur aus, wie auch bei RAID 5, mit dem Unterschied, dass anstatt vier Schreibzugriffen sechs an der Zahl durchgeführt werden.

Dies ist Notwendig, da sowohl die „P“, als auch die „Q“ Informationen zusätzlich geupdatet werden müssen. Die Rekonstruktion der Daten erfolgt aus der Checksumme bzw. Paritätsinformation einer der beiden Paritäten P oder Q.

Abbildung 7: RAID 6 RAID 7 – „der Alleskönner“:

Auch RAID 7 ist ähnlich wie RAID 5 aufgebaut. In der RAID-Steuereinheit wird bei RAID 7 aber zusätzlich ein lokales Echtzeitbetriebssystem eingesetzt. RAID 7 benutzt schnelle Datenbusse und mehrere größere Pufferspeicher. Die Daten in den Pufferspeichern und auf den Laufwerken sind von der Datenübertragung auf dem Bus abgekoppelt (asynchron). So werden alle Vorgänge gege nüber den anderen Verfahren erheblich beschleunigt. Ähnlich wie bei RAID 6 kann die Paritätsinformation für eines oder mehrere Laufwerke generiert werden. Es lassen sich gleichzeitig unterschiedliche RAID-Level nutzen.

Weitere RAID Ebenen, alles Kombinationen bisheriger Ebenen, die hier aus Gründen der Vollständigkeit aufgeführt werden:

RAID 1 0:

Eigentlich handelt es sich bei RAID 1 0 nicht um einen eigenen RAID- Level, sondern lediglich um die Kombination von RAID 1 mit RAID 0. Damit werden die Eigenschaften der beiden Ebenen Sicherheit und sequentielle Performance vereinigt.

Bei RAID 1 0 werden üblicherweise vier Festplatten verwendet, denn dieses System verlangt nach zwei Paaren gespiegelter Arrays, die dann zu einem RAID-0-Array zusammengefasst werden. RAID 1 0 eignet sich insbesondere zur redundanten Speicherung von großen Dateien. Da hierbei keine Parität berechnet werden muss, sind die Schreibzugriffe mit RAID 1 0 sehr schnell. RAID 1 0 gilt übrigens auch als zusätzlich gestreifte Version von RAID 1.

RAID 3 0:

RAID 3 0 wird eingesetzt, wenn große Dateien sequentiell übertragen werden sollen. Es handelt sich auch um eine zusätzlich gestreifte Version von RAID 3. Diese Version wurde von AMI (American Megatrends) entwickelt. Sie bietet Datensicherheit und sehr hohen

Durchsatz. RAID 3 0 ist komplexer als niedrigere RAID- Level und benötigt mehr Platten.

AMI verwendet RAID 3 0 mit sechs Festplatten.

RAID 5 0:

Werden sowohl große Datensicherheit wie auch schnelle Zugriffszeiten und hohe Datentransfer-Raten benötigt, empfiehlt sich RAID 5 0. Auch diese Version stammt von AMI. Sie ist ebenfalls komplexer als niedrigere RAID- Level und benötigt ebenfalls sechs Festplatten. RAID 5 0 ist die gestreifte Version von RAID 5.

Neben den oben genannten Kombination gibt es noch eine Vielzahl weiterer. Meistens handelt es sich dabei um maßgeschneiderte Lösungen in Betrieben. Da aber keine wirklich neuen Konzepte vorgestellt werden, entfällt die Beschreibung dieser.