NetApp Logo
NetApp Tech OnTap
     
PDF
Jay White

Jay White
Technical Marketing Engineer
NetApp


Carlos Alvarez

Carlos Alvarez
Senior Technical Marketing Engineer
NetApp



Dieser Artikel ist der dritte in der Reihe "Back to Basics“, in der es um die Grundlagen beliebter NetApp Technologien geht.

Angesichts wachsender Festplattenkapazitäten wird die Ausfallsicherheit zum Schutz wichtiger Daten zu einer immer größeren Herausforderung. Die Festplattengröße hat immer weiter zugenommen, aber die Zuverlässigkeit ist in etwa gleich geblieben. Eine hohe Festplattenkapazität bedeutet, dass eine Wiederherstellung ausgefallener Festplatten auf der Grundlage von RAID Parity-Informationen deutlich mehr Zeit in Anspruch nimmt. Dadurch steigt auch das Risiko des Ausfalls einer zweiten Festplatte bzw. die Gefahr des Auftretens eines anderen Fehlers, noch bevor die Wiederherstellung abgeschlossen ist. Die Wahrscheinlichkeit von Bit- und Blockfehlern nimmt auch proportional mit der gestiegenen Kapazität zu. Dadurch steigt auch das Risiko, dass ein solcher Fehler ausgerechnet während der Wiederherstellung auftritt, oder dass es zu doppelten Ausfällen kommt – was in Single Parity RAID Implementierungen zu Betriebsunterbrechungen und Datenverlusten führen kann.

Als Lösung für dieses Problem entwickelte NetApp mit RAID-DP, Dual-Parity RAID Implementierung. Es gibt zwar auch andere Dual-Parity RAID 6 Implementierungen, aber RAID-DP ist die einzige, die ohne nennenswerte Performance-Einbußen Schutz vor doppeltem Festplattenausfall in derselben RAID-Gruppe bietet.

RAID-DP funktioniert so zuverlässig, dass es als Standardoption in NetApp Storage-Systemen verwendet wird. Tests zufolge ist die Random Write Performance von RAID-DP nur 2 % niedriger als bei der NetApp RAID 4 Implementierung. Im Vergleich dazu sinkt die Random Write Performance bei der RAID 6 Implementierung vergleichbarer Storage-Anbieter gegenüber RAID 5 auf dem selben System um 33 %. (RAID 4 und RAID 5 sind beides Single-Parity RAID-Implementierungen.) Bei RAID 4 wird eine separate Parity Disk verwendet. Bei RAID 5 werden die Paritätsinformationen auf alle Festplatten innerhalb einer RAID-Gruppe verteilt, damit nicht eine Festplatte (mit allen Paritätsinformationen) zur Schwachstelle des Systems wird. Dies ist bei NetApp RAID 4 aufgrund der Art und Weise, in der Daten in Data ONTAP geschrieben werden, nicht nötig. (Hierauf wird zu einem späteren Zeitpunkt noch genauer eingegangen.)

RAID-DP bietet unter anderem folgende entscheidende Vorteile:

  • Maximale Datensicherung: Mit NetApp RAID-DP ist die Gefahr eines Datenverlusts aufgrund doppelten Festplattenausfalls Hunderte Male niedriger als bei RAID 5 Konfigurationen. RAID 1+0 bietet zwar eine bessere Datensicherung als RAID 5, aber bei einem Ausfall zweier gespiegelter Festplatten können auch hier Daten verloren gehen. RAID-DP bietet vollständigen Schutz vor doppeltem Festplattenausfall, und das zur Hälfte der Kosten von RAID 1+0.

  • Geringste Kosten: Bei RAID 5 Implementierungen ist die Größe der RAID-Gruppen oft auf 3+1 oder 5+1 beschränkt (was zu einem Mehraufwand von 17 % bis 25 % führt). RAID 1+0 erfordert 1+1 (Mehraufwand von 50 %). NetApp hingegen unterstützt RAID-Gruppen von bis zu 28 (26+2), deren Mehraufwand bei gerade einmal 7 % liegt.

  • Kompromisslose Performance: Wie bereits zuvor erläutert, ist bei herkömmlichen Dual-Parity-Technologien häufig ein starker Einbruch bei der Schreib-Performance zu verzeichnen, sodass der Einsatzbereich im Wesentlichen auf Applikationen mit hohem Leseanteil beschränkt ist. NetApp RAID-DP weist im Vergleich zu Single-Parity RAID-Implementierungen praktisch keine Performance-Verluste auf, wird von NetApp als Standard eingesetzt und kann bei allen Workloads verwendet werden.

  • Es fallen keine Gebühren für Softwarelizenzen an. RAID-DP ist auf allen NetApp Systemen Standard. Bei der Verwendung entstehen keine weiteren Kosten außer denen für die Parity Disks, die durch die Nutzung größerer RAID-Gruppen wieder wettgemacht werden.

Diesem Kapitel von "Back to Basics“ erläutert, wie NetApp RAID-DP implementiert wird. Außerdem werden die gängigsten Anwendungsfälle vorgestellt und Beispiele sowie Best Practices für die Implementierung aufgeführt.

Implementierung von RAID-DP in Data ONTAP

Enge Integration in NVRAM und WAFL

Die RAID-DP Implementierung in Data ONTAP ist eng mit NetApp NVRAM und NetApp WAFL (Write Anywhere File Layout) verknüpft. Dies ist der Grund für die außergewöhnliche Performance von RAID-DP im Vergleich zu anderen RAID 6 Implementierungen.

Da Schreibvorgänge im Arbeitsspeicher viel schneller ablaufen als auf der Festplatte, nutzen Storage-Anbieter in der Regel einen batteriegestützten, nichtflüchtigen RAM-Speicher (NVRAM) als Schreib-Cache und zur Steigerung der Schreib-Performance. NetApp setzt NVRAM in allen Storage-Systemen ein, aber dies erfolgt in der NetApp Data ONTAP Betriebsumgebung signifikant anders als in herkömmlichen Storage Arrays.

Der NVRAM-Speicher wird als Journal der von Data ONTAP seit dem letzten Konsistenzpunkt empfangenen Schreibanforderungen verwendet. Der Konsistenzpunkt ist eine im Abstand von einigen Sekunden von Data ONTAP erzeugte spezielle Snapshot Kopie, die ein vollständig konsistentes Abbild des Dateisystems auf der Festplatte darstellt. Ein Konsistenzpunkt bleibt auch beim Schreiben neuer Blöcke auf Festplatte unverändert, da in Data ONTAP vorhandene Festplattenblöcke nie überschrieben werden. Wenn in dieser Konfiguration ein Fehler auftritt, kehrt Data ONTAP einfach zum letzten Konsistenzpunkt zurück und geht dann das Journal der Schreibanforderungen aus dem NVRAM-Speicher erneut durch.

Diese NVRAM-Verwendung unterscheidet sich deutlich von der in herkömmlichen Storage Arrays, in denen im NVRAM Schreibanforderungen auf Ebene des Festplattentreibers zwischengespeichert werden. Sie bietet zahlreiche Vorteile: Es wird weniger NVRAM-Speicher benötigt, die Reaktionszeit beim Schreiben wird verkürzt, und der Schreibvorgang auf Festplatte wird optimiert.

Optimierung von Schreibvorgängen: RAID 4

Die Cache-Speicherung von Schreibvorgängen ist eng in die NetApp RAID-Implementierungen integriert und ermöglicht die Planung von Schreibvorgängen, um die Performance für das zugrunde liegende RAID Array zu optimieren. Bevor ich näher auf RAID-DP eingehe, werde ich erläutern, wie NetApp diesen Vorgang bei der RAID 4 Implementierung optimiert.

In RAID Arrays werden Daten in Stripes verwaltet. Ein solcher Stripe besteht aus einem Datenblock auf jeder Festplatte in der RAID-Gruppe. Bei jedem Stripe wird ein Block als Paritätsblock festgelegt. In Abbildung 1 ist eine herkömmliche Horizontal Parity RAID 4 Gruppe dargestellt, bestehend aus vier Disks (die ersten vier Spalten, gekennzeichnet mit "D“) und einer Single-Parity Disk (letzte Spalte, gekennzeichnet mit "P“).

Abbildung 1 Beispiel einer RAID 4 Parity-Implementierung

Example of RAID 4 parity.

In diesem Beispiel wird die Parität zu Demonstrationszwecken wie folgt berechnet: Die Werte in jedem horizontalen Stripe werden addiert, und die Summe (3 + 1 + 2 + 3 = 9) wird als Paritätswert gespeichert. In der Praxis wird die Parität mit einer XOR-Operation (exclusive OR) berechnet.

Wenn Daten nach dem Ausfall eines Laufwerks wiederhergestellt werden müssen, wird der Vorgang zur Erzeugung von Parität einfach umgekehrt. Fällt beispielsweise die erste Festplatte aus, so berechnet RAID 4 die Daten in den einzelnen Blöcken dieser Festplatte aus den verbleibenden. In unserem Beispiel müssten einfach die Werte der anderen Festplatten vom Paritätswert subtrahiert werden (9 - 3 - 2 - 1 = 3). Dies erklärt auch, warum Single-Parity RAID nur vor dem Ausfall einzelner Festplatten schützt. Wenn zwei Werte fehlen, sind nicht genügend Informationen zur Berechnung der fehlenden Werte vorhanden.

In typischen RAID-Implementierungen muss zum Schreiben neuer Daten in ein Stripe, das bereits Daten (und Paritätsinformationen) enthält, zuerst der Paritätsblock gelesen werden. Anschließend wird ein neuer Paritätswert für den Stripe berechnet, und erst dann werden der Datenblock und der neue Paritätsblock geschrieben. Das ist bei jedem zu schreibenden Block ein erheblicher Mehraufwand.

Bei NetApp wird dieser Mehraufwand dadurch reduziert, dass Schreibvorgänge im Arbeitsspeicher (durch das Journal im NVRAM geschützt) gepuffert werden. Anschließend werden vollständige RAID Stripes samt Paritätsinformationen geschrieben. Auf diese Weise müssen die Paritätsdaten vor dem Schreibvorgang nicht mehr gelesen werden, und WAFL kann eine gemeinsame Paritätsberechnung für den gesamten Stripe mit Datenblöcken vornehmen. (Die genaue Zahl der Blöcke hängt von der Größe der RAID-Gruppe ab.) Dies ist möglich, da bei WAFL geänderte Datenblöcke nie überschrieben werden und da Daten und Metadaten (die Speicherinformationen, aus denen hervorgeht, wie die Daten organisiert sind) an jedem Speicherort geschrieben werden können. In anderen Daten-Layouts werden geänderte Datenblöcke in der Regel überschrieben, und Metadaten müssen sich an einem bestimmten Speicherort befinden.

Zusätzliche Diagonal Parity: RAID-DP

Bei NetApp RAID-DP kommen pro RAID-Gruppe zwei Parity Disks zum Einsatz. Auf einer davon werden die für horizontale Stripes berechneten Paritätsinformationen gespeichert (wie oben erläutert). Auf der zweiten werden aus diagonalen Stripes errechnete Paritätsinformationen gespeichert. In Abbildung 2 sind zur Horizontal Parity aus Abbildung 1 ein Diagonal Parity Stripe (blau schattiert) und eine zweite Parity Disk (mit "DP“ gekennzeichnet) hinzugekommen.

Abbildung 2 Zusätzliche Diagonal Parity

The addition of diagonal parity.

In die Berechnung des Diagonal Parity Stripe wird ein Block aus der Horizontal Parity Disk miteinbezogen. RAID-DP behandelt sämtliche Festplatten aus der ursprünglichen RAID 4 Konfiguration – Daten- und Parity Disks – gleich. Eine Festplatte ist aus dem Diagonal Parity Stripe ausgenommen. In Abbildung 3 sind die zusätzlichen Horizontal und Diagonal Parity Stripes dargestellt.

Abbildung 3 Mehrere Horizontal und Diagonal Parity Stripes

Multiple stripes showing both horizontal and diagonal parity.

Bei jedem Diagonal Parity Stripe fehlt eine Festplatte, und zwar bei jedem eine andere. Es gibt auch einen Diagonal Stripe (die weißen Blöcke in Abbildung 3), zu dem auf der Diagonal Parity Disk keine Paritätsinformationen gespeichert sind. Dies wirkt sich nicht nachteilig auf die Wiederherstellbarkeit sämtlicher Daten aus.

Wiederherstellung nach doppeltem Festplattenausfall

Durch die Kombination aus Horizontal und Diagonal Parity ist eine Wiederherstellung auch einem doppelten Festplattenausfall in derselben RAID-Gruppe möglich. Wenn nur eine Festplatte ausfällt oder ein Block- bzw. Bitfehler auftritt, werden zur Wiederherstellung nur die horizontalen Paritätsinformationen benötigt.

Fallen zwei Festplatten aus, ermittelt RAID-DP zuerst (wie in Abbildung 4 dargestellt), in welcher Reihenfolge die Wiederherstellung vorzunehmen ist. Wie bereits erwähnt, lassen sich Daten aus Paritätsinformationen nur dann wiederherstellen, wenn maximal ein Element fehlt. Aus diesem Grund wird bei den Diagonal Parity Stripes jeweils eine Daten-Festplatte übersprungen.

Abbildung 4 Start der RAID-DP Wiederherstellung mittels Diagonal Parity

Start of RAID-DP recovery using diagonal parity.

Durch die Wiederherstellung des ersten Blocks mittels Diagonal Parity wird nun auch die Wiederherstellung des zweiten Blocks mittels Horizontal Parity (erste Reihe in Abbildung 4) möglich. Dies wiederum ermöglicht die Wiederherstellung eines weiteren fehlenden Blocks mit Hilfe von Diagonal Parity. Diese Wiederherstellungskette wird fortgesetzt, bis der Stripe erreicht ist, zu dem keine diagonalen Paritätsinformationen gespeichert wurden. Wenn dieser Punkt erreicht ist, wird ein anderer Einstiegspunkt gesucht, und es beginnt eine neue Wiederherstellungskette mit diagonalen und horizontalen Stripes. Irgendwann sind genügend fehlende Blöcke wiederhergestellt, sodass alle Stripe-Werte ausschließlich über Horizontal Parity errechnet werden können. Dieses Verfahren wird im technischen Bericht TR-3298: RAID-DP ausführlicher erläutert.

Die vorliegenden Beispiele sind vereinfacht, um das grundlegende Kontept von RAID-DP zu erläutern. Das Verfahren funktioniert jedoch ebenso in realen Storage-Systemen mit Dutzenden von Festplatten pro RAID-Gruppe und Millionen von Datenreihen. In unserem Beispiel fallen zwei benachbarte Festplatten aus. Das Verfahren funktioniert aber unabhängig davon, ob die ausgefallenen Festplatten neben einander liegen oder nicht, und ob es sich um Daten- oder Parity Disks handelt.

Optimierung von Schreibvorgängen: RAID-DP

Wie bereits im Zusammenhang von RAID 4 erläutert, wird bei WAFL stets versucht, Daten zu puffern und vollständige Stripes auf Festplatte zu schreiben. Bei RAID-DP werden Datenblöcke im Arbeitsspeicher gepuffert, damit mehrere Horizontal und Diagonal Parity-Berechnungen in einem einzelnen Schreibvorgang vorgenommen werden können. Die 2-prozentige Performance-Einbuße bei RAID-DP gegenüber RAID 4 hängt mit dem Zusatzaufwand für die Diagonal Parity-Berechnung und das Schreiben des zweiten Parity-Blocks zusammen.

Anwendungsbeispiele

RAID-DP wird bei NetApp Storage so umfassend eingesetzt, dass es einfacher ist, die wenigen Fälle zu erörtern, in denen die Lösung eventuell nicht verwendet werden sollte. Über 90 % der NetApp Kunden nutzen RAID-DP bereits – auch für besonders geschäftskritische Daten und Workloads, bei denen es auf ein Höchstmaß an Performance ankommt. RAID-DP ist der Standard für alle neuen NetApp Storage-Systeme. In unseren Best Practices wird die Verwendung von RAID-DP vorgeschrieben, und RAID-DP liegt auch den von uns veröffentlichten Performance Benchmarks zugrunde. Sämtliche NetApp Software ist vollständig mit RAID-DP kompatibel. Kein vergleichbarer Anbieter kann das von seiner RAID 6-Implementierung behaupten.

Die einzigen Situationen, in denen man eventuell RAID 4 statt RAID-DP wählt, sind die wenigen Fälle, in denen Ausfallsicherheit keine so große Rolle spielt, beispielsweise bei Scratch Storage und in Test- bzw. Laborumgebungen.

Verwendung von RAID-DP

RAID-DP wurde mit Version 6.5 von Data ONTAP eingeführt.

Erstellen von RAID-DP Volumes

Zur Erstellung eines Aggregats (oder eines herkömmlichen Volumes) mit RAID-DP Gruppen wählen Sie entweder die entsprechende Option, wenn Sie Storage über die grafische Benutzeroberfläche von NetApp bereitstellen, oder Sie hängen an den Befehl "aggr create“ bzw. "vol create“ die Option "–t raid_dp“ an.

Wenn der RAID-Typ nicht angegeben wird, verwendet Data ONTAP automatisch den Default RAID-Typ. Dieser ist RAID-DP bei allen aktuell erhältlichen Versionen von Data ONTAP. Sie können die Default-Einstellung für Ihr System überprüfen, indem Sie Ihre Version von Data ONTAP aus der Data ONTAP Information Library auswählen  (NetApp NOW Zugang erforderlich).

                                                                             
Default- und Maximalgrößen der RAID-Gruppe in Data ONTAP 8.0.1 je nach Festplattentyp
Festplattentyp
RAID-Typ
Default-Größe RAID-Gruppe
Maximalgröße RAID-Gruppe
SSD
RAID-DP (Default)
23 (21+2)
28 (26+2)
RAID 4
8 (7+1)
14 (13+1)
SAS/FC
RAID-DP (Default)
16 (14+2)
28 (26+2)
RAID 4
8 (7+1)
14 (13+1)
SATA
RAID-DP (Default)
14 (12+2)
20 (18+2)
RAID 4
7 (6+1)
7 (6+1)

Vorhandene RAID 4 Gruppen können in RAID-DP konvertiert werden. Eine Konvertierung erfolgt auf Ebene des Aggregats bzw. des herkömmlichen Volumes. Für die Diagonal Parity Disk muss pro RAID-Gruppe eine Festplatte verfügbar sein, die mindestens so groß ist wie die größte Festplatte in der RAID-Gruppe.

Auswahl der Größe einer RAID-DP-Gruppe

Der Einsatz größerer RAID-Gruppen in RAID-DP wiegt die Kapazitätsbeschränkungen wieder auf, die die für Paritätsinformationen benötigte zusätzliche Festplatte verursacht. Um die Kapazitätsnachteile so gering wie möglich zu halten, können Sie die für den verwendeten Festplattentyp festgelegte Default-Größe der RAID-Gruppen in RAID-DP übernehmen. Dann erstellen Sie Aggregate mit einem Vielfachen der Default-Größe der RAID-Gruppen in RAID-DP.

Bei Festplatten (SATA, FC und SAS) sollte nach Möglichkeit eine RAID-Gruppen-Größe im Bereich zwischen 12 (10+2) und 20 (18+2) Festplatten gewählt werden. Außerdem sollten alle RAID-Gruppen die gleiche Anzahl an Festplatten enthalten. Bei unterschiedlichen RAID-Gruppen-Größen empfiehlt es sich, die größte aus dem Bereich zu wählen. Bisweilen lassen sich RAID-Gruppen mit einer unterschiedlichen Zahl an Festplatten nicht vermeiden. In diesen Fällen sollten im Aggregat nicht mehr Festplatten fehlen als die Zahl der RAID-Gruppen minus eins. Ansonsten sollte die nächstkleinere RAID-Gruppen-Größe verwendet werden. Wenn ein Mangel an Festplatten zu unvollständigen RAID-Gruppen führt, sollten die Festplatten so aufgeteilt werden, dass bei keiner RAID-Gruppe mehr als eine Festplatte weniger vorhanden ist.

RAID-DP Management

Der Umstieg auf RAID-DP erfordert praktisch keine Umstellung bei den Betriebsabläufen. Ein Storage-System kann Aggregate und Volumes mit RAID 4 und RAID-DP parallel aufweisen. Die Management-Befehle ändern sich dadurch nicht.

Rekonstruktion bei RAID-DP

Wenn es zu einem Ausfall von zwei Festplatten kommt, wird in RAID-DP automatisch die Priorität des Rekonstruktionsvorgangs erhöht, damit dieser schneller abgeschlossen wird. So lassen sich Daten von zwei ausgefallenen Festplatten etwas schneller wiederherstellen als von einer einzelnen. Bei doppeltem Festplattenausfall ist es sehr wahrscheinlich, dass die eine Festplatte vor der anderen ausgefallen ist, und dass in der Zwischenzeit bereits mittels Horizontal Parity einige Daten wiederhergestellt wurden. RAID-DP stellt sich darauf automatisch ein und startet die Wiederherstellung an den Stellen, an denen zwei Elemente aufgrund des zweiten Festplattenausfalls fehlen.

Data ONTAP enthält Optionen, mit denen Storage-Administratoren die Auswirkungen der RAID-Wiederherstellung auf die System-Performance einstellen können.

Die Option raid.reconstruct.perf_impact ist per Default "medium“ eingestellt. Darüber hinaus sind noch die Werte "low“ und "high“ möglich. Bei der Einstellung "low“ dauert die RAID-Wiederherstellung unter Umständen länger, da die I/O-Operationen im Vordergrund eine höhere Priorität bei der Nutzung der Systemressourcen erhalten. Bei der Einstellung "high“ konkurriert die RAID-Wiederherstellung mit den I/O-Operationen im Vordergrund um einen höheren Anteil an den Systemressourcen, wodurch die Performance der I/O beeinträchtigt wird.

Manche Situationen erfordern es, die Einstellung anzupassen, jedoch sollte dies die letzte Option sein. In der Regel empfielt NetApp, den Default-Wert beizubehalten.

Ausführlichere Informationen zum Management von RAID-DP finden Sie im technischen Bericht TR-3437: Storage Subsystem Resiliency Guide.

Schlussfolgerung

NetApp RAID-DP ist ein wichtiges Tool zur Steigerung der Ausfallsicherheit, das bei praktisch allen gängigen Storage Workloads eingesetzt werden kann. Weitere Informationen zu NetApp RAID-DP finden Sie in unseren Technischen Berichten TR-3298: Implementation of Double-Parity RAID for Data Protection und WP-7005: NetApp RAID-DP: Dual-Parity RAID 6 Protection Without Compromise.

Ihre Meinung zu RAID-DP?

Jay White ist Technical Marketing Engineer für die Bereiche System-Ausfallsicherheit, Storage-Subsysteme (Shelves, Festplatten usw.) und RAID. Er hat zahlreiche technische Berichte und FAQs zur Konfiguration von Storage-Subsystemen und zur Ausfallsicherzeit verfasst.

Alvarez arbeitet seit 2008 bei NetApp. Er ist auf Storage-Effizienz spezialisiert und verfügt über eingehende Fachkenntnisse in den Bereichen Deduplizierung, Datenkomprimierung und Thin Provisioning. Er unterstützt Kunden regelmäßig dabei, die effizientesten und geeignetsten NetApp Storage-Effizienz-Technologien in ihre Konfigurationen zu integrieren.

Explore
Weitere Infos hier

Mehr Back to Basics

Lernen Sie die Grundlagen der Kerntechnologien von NetApp kennen. Bisherige Artikel dieser Reihe: