26.02.2014 Aufrufe

ADMIN Magazin Gestapelt - Schneller und sicherer mit RAID (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>RAID</strong>-Systeme<br />

<strong>RAID</strong>-Level<br />

Anywhere File Layout) noch heute einen<br />

verwandten Algorithmus von <strong>RAID</strong> 4 <strong>mit</strong><br />

einem zweiten Laufwerk für Paritätsdaten:<br />

Raid DP. Der Artikel kommt weiter<br />

unten darauf zurück.<br />

<strong>RAID</strong> 5<br />

<strong>RAID</strong> 5 übernimmt die blockweise Datenablage<br />

von <strong>RAID</strong> 4, verteilt aber die<br />

Paritätsinformationen über alle Platten,<br />

statt sie auf einer zu konzentrieren. Dadurch<br />

werden auch die Schreibzugriffe<br />

verteilt <strong>und</strong> parallelisiert <strong>und</strong> der Bottleneck<br />

einer Paritätsdisk vermieden. Allerdings<br />

erfordert <strong>RAID</strong> 5 zwei Lese- <strong>und</strong><br />

zwei Schreiboperationen pro Schreibanforderung,<br />

was die Schreibperformance<br />

zwangsläufig bremst.<br />

Abbildung 2 zeigt den schematischen<br />

Aufbau eines <strong>RAID</strong>-5-Verb<strong>und</strong>s. Die Daten<br />

sind darin in sogenannten Stripes<br />

abgelegt. Das sind aufeinander folgende<br />

Segmente auf verschiedenen physischen<br />

Datenträgern (Disks). Jeder Stripe zieht<br />

sich über alle 4 Platten. Die Segmente<br />

<strong>mit</strong> weißem Hintergr<strong>und</strong> enthalten die<br />

eigentlichen Daten, die Segmente <strong>mit</strong> gelbem<br />

Hintergr<strong>und</strong> die Paritätsinformationen.<br />

Zu sehen ist, dass die Paritätsdaten<br />

wie beschrieben gleichmäßig über alle<br />

Laufwerke verteilt sind.<br />

Die Paritätsdaten errechnen sich aus<br />

den Nutzdaten durch eine sogenannte<br />

XOR-Verknüpfung (Exklusive OR, auch<br />

Antivalenz genannt). Die XOR-Funktion<br />

verknüpft zwei Werte derart, dass sich<br />

eine logische 1 ergibt, wenn die Eingangsgrößen<br />

verschieden waren. 0 XOR<br />

1 = 1; 0 XOR 0 = 0; 1 XOR 1 = 0; 1 XOR<br />

0 = 1. Die Nutzdaten aller Segmente<br />

eines Stripes werden nun nacheinander<br />

bitweise XOR-verknüpft. Beispielsweise<br />

ergibt sich in der zweiten Zeile des Schemas<br />

in der Grafik: 0010 XOR 0000 ergibt<br />

0010 <strong>und</strong> 0010 XOR 0100 ergibt 0110. Das<br />

ist der Wert im gelb hinterlegten Segment<br />

am Schnittpunkt Stripe 2/​Drive 3. Entsprechendes<br />

gilt für die anderen Stripes<br />

im Beispiel.<br />

Fällt nun eine Platte aus, dann lassen<br />

sich die fehlenden Daten durch XOR-<br />

Verknüpfung der übrig gebliebenen errechnen<br />

(Rebuild), wenn mindestens<br />

drei Platten pro Stripe im Spiel waren.<br />

Nehmen wir beispielsweise an, dass auf<br />

Drive 2 nicht mehr zugegriffen werden<br />

kann. Dann rechnet der <strong>RAID</strong>-Controller<br />

für Stripe 2: 0010 XOR 0110 (Drive 1 <strong>und</strong><br />

Drive 3) – das Ergebnis ist 0100. Dieser<br />

Wert 0100 XOR 0100 von Drive 4 ergibt<br />

0000. Da<strong>mit</strong> ist klar, dass im fehlenden<br />

Segment des ausgefallenen Drive 2 der<br />

Wert 0000 hinterlegt gewesen sein muss.<br />

Das ist auch tatsächlich der Fall, wie ein<br />

Blick auf die Grafik zeigt. Entsprechend<br />

lässt sich in jedem Stripe jedes Segment<br />

durch XOR-Verknüpfung der anderen<br />

Segmente des Stripe auf einfache Weise<br />

berechnen. Fällt mehr als eine Platte aus,<br />

funktioniert das Spiel allerdings nicht<br />

mehr – dann sind alle Daten aller Stripes<br />

unwiederbringlich verloren.<br />

<strong>RAID</strong> <strong>und</strong> Risiko<br />

Der Betrieb <strong>mit</strong> einer ausgefallenen Platte<br />

(Status »degraded«) oder während der<br />

Wiederherstellung der Inhalte eines zuvor<br />

ausgefallenen Laufwerks (Status<br />

»rebuild«) ist bei den klassischen <strong>RAID</strong>-<br />

Leveln 3 bis 5, die auf der beschriebenen<br />

Paritätsberechnung beruhen, aber auch<br />

bei einer Spiegelung besonders kritisch.<br />

Fällt jetzt eine weitere Platte aus, oder ist<br />

auch nur ein einziger Sektor auf den verbliebenen<br />

Platten unleserlich, sind alle<br />

Daten verloren.<br />

Aber wie wahrscheinlich ist es, dass gerade<br />

in dieser sensiblen Zeit ein weiterer<br />

Schaden eintritt? Das kann man ausrechnen.<br />

Ein einfacher Ansatz geht davon<br />

Datendisk 1<br />

Datendisk 2<br />

Datendisk 3<br />

aus, dass in die gesuchte Mean Time To<br />

Data Loss (MTTDL) die Gesamtzahl der<br />

Festplatten, ihre durchschnittliche Betriebsdauer<br />

bis zu einem Fehler (Mean<br />

Time To Failure, MTTL) <strong>und</strong> die Dauer<br />

des Wiederherstellungsprozesses einhergehen.<br />

Die Formel dafür ist noch gut<br />

überschaubar (<strong>und</strong> solche Berechnungen<br />

stellten bereits die <strong>RAID</strong>-Erfinder in [1]<br />

an), sie hat aber einen Schönheitsfehler:<br />

Sie geht nämlich von der Annahme aus,<br />

dass die Festplattenausfälle voneinander<br />

unabhängig sind. So kommt man zu recht<br />

hohen MTTDL-Werten, die auf den ersten<br />

Blick beruhigend wirken. Praktisch sind<br />

diese Voraussetzungen aber meistens<br />

nicht gegeben: In der Regel stammen alle<br />

Platten aus einer Produktionscharge, waren<br />

denselben Umweltbedingungen ausgesetzt,<br />

altern auf ähnliche Weise <strong>und</strong> so<br />

weiter. Außerdem erhöht sich die Ausfallwahrscheinlichkeit<br />

<strong>mit</strong> der Betriebsdauer.<br />

Im Ergebnis sinkt die MTTF nach jedem<br />

Ausfall, das heißt, ein weiterer Ausfall<br />

nach dem ersten ist da<strong>mit</strong> um ein Vielfaches<br />

wahrscheinlicher.<br />

Komplizierte Lesefehler<br />

Noch komplizierter wird die Sache, wenn<br />

man nicht nur den Totalausfall einer weiteren<br />

Festplatte kalkuliert, sondern auch<br />

die Wahrscheinlichkeit einfacher Lesefehler,<br />

die ja in dieser Situation ebenfalls<br />

einen Totalverlust der Daten zur Folge<br />

Datendisk 4<br />

XOR horizontal<br />

XOR diagonal<br />

Abbildung 3: <strong>RAID</strong> DP: Eine Prüfsumme (XOR-Verknüpfung) wird wie gehabt horizontal berechnet (Pa, Pb,…)<br />

<strong>und</strong> eine zweite, unabhängige Prüfsumme über die diagonal liegenden Sektoren (hier kenntlich durch die<br />

gleiche Farbe.<br />

48 Ausgabe 06-2012 Admin www.admin-magazin.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!