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