RAID 5: Leistung + Parität, Block-Level Striping mit verteilter Paritätsinformation [Bearbeiten]
RAID-Level 5
RAID 5 bietet sowohl gesteigerten Datendurchsatz beim Lesen von Daten als auch Redundanz bei relativ geringen Kosten und ist dadurch eine sehr beliebte RAID-Variante. In schreibintensiven Umgebungen mit kleinen, nicht zusammenhängenden Änderungen ist RAID 5 nicht zu empfehlen, da bei zufälligen Schreibzugriffen der Durchsatz aufgrund des zweiphasigen Schreibverfahrens deutlich abnimmt (an dieser Stelle wäre eine RAID-0+1-Konfiguration vorzuziehen). RAID 5 ist eine der kostengünstigsten Möglichkeiten, Daten auf mehreren Festplatten redundant zu speichern und dabei das Speichervolumen effizient zu nutzen. Dieser Vorteil kommt allerdings aufgrund hoher Controlleranforderungen und -preise oft erst bei mehr als vier Platten zum Tragen. Für den Preis eines RAID-5-Controllers mit (mindestens) drei Platten ist meistens bereits eine vierte Festplatte für ein RAID 10 zu bekommen. Neuere Chipsätze unterstützen jedoch zunehmend auch RAID 5, so dass der preisliche Vorteil des RAID-10-Systems im Schwinden begriffen ist.
Die nutzbare Gesamtkapazität errechnet sich aus der Formel: (Anzahl der Festplatten - 1) × (Kapazität der kleinsten Festplatte). Rechenbeispiel mit vier Festplatten à 500 GB: (4 - 1) × (500 GB) = 1500 GB Nutzdaten und 500 GB Parität.
RAID 5 implementiert Striping mit auf Block-Level verteilten Paritäts-Informationen. Zur Berechnung der Parität wird durch die jeweils an gleicher Adresse anliegenden Datenblöcke der am RAID-Verbund beteiligten Festplatten eine logische Gruppe gebildet. Von allen Datenblöcken einer Gruppe enthält ein Datenblock die Paritätsdaten, während die anderen Datenblöcke Nutzdaten enthalten. Die Nutzdaten von RAID-5-Gruppen werden wie bei RAID 0 auf alle Festplatten verteilt. Die Paritätsinformationen werden jedoch nicht wie bei RAID 4 auf einer Platte konzentriert, sondern ebenfalls verteilt.
Die Berechnung der Paritätsdaten eines Paritätsblocks erfolgt durch XOR-Verknüpfung der Daten aller Datenblöcke seiner Gruppe, was wiederum zu einer leichten bis erheblichen Verminderung der Datentransferrate im Vergleich zu RAID 0 führt. Da die Paritätsinformationen beim Lesen nicht benötigt werden, stehen alle Platten zum parallelen Zugriff zur Verfügung. Dieser (theoretische) Vorteil greift allerdings nicht bei kleinen Dateien ohne nebenläufigen Zugriff, erst bei größeren Dateien oder geeigneter Nebenläufigkeit tritt eine nennenswerte Beschleunigung ein. Bei n Festplatten erfordert der Schreibzugriff entweder ein Volumen, das genau (n-1) korrespondierende Datenblöcke ausfüllt, oder ein zwei-phasiges Verfahren (alte Daten lesen; neue Daten schreiben).
Jüngere RAID-Implementierungen berechnen die neue Paritätsinformation bei einem Schreibzugriff nicht durch XOR-Verknüpfung über der Daten aller korrespondierenden Datenblöcke, sondern durch XOR-Verknüpfung von altem und neuen Datenwert sowie des alten Parity-Werts. Anders gesagt: Wechselt ein Datenbit den Wert, dann wechselt auch das Paritätsbit den Wert. Das ist mathematisch dasselbe, aber es sind nur zwei Lesezugriffe erforderlich, nämlich auf die beiden alten Werte, und nicht n-2 Lesezugriffe auf die sonstigen Datenblöcke wie früher. Dies erlaubt den Aufbau von größeren RAID-5-Arrays ohne Performanceabfall, beispielsweise mit n = 8. In Verbindung mit Schreibcaches erreicht man im Vergleich zu RAID 1 bzw. RAID 10 hiermit ähnlichen Datendurchsatz bei geringeren Hardwarekosten. Storage-Server werden daher, wenn überhaupt noch klassische RAID-Verfahren zur Anwendung kommen, üblicherweise in RAID-5-Arrays aufgeteilt.
Bei RAID 5 ist die Datenintegrität des Arrays beim Ausfall von maximal einer Platte gewährleistet. Nach Ausfall einer Festplatte oder während des Rebuilds auf die Hotspare-Platte (bzw. nach Austausch der defekten Festplatte) lässt die Leistung deutlich nach (beim Lesen: jeder (n-1)-te Datenblock muss rekonstruiert werden; beim Schreiben: jeder (n-1)-te Datenblock kann nur durch Lesen der entsprechenden Bereiche aller korrespondierenden Datenblöcke und anschließendes Schreiben der Parität geschrieben werden; hinzu kommen die Zugriffe des Rebuilds: (n-1) × Lesen; 1 × Schreiben). Bei dem Rebuild-Verfahren ist daher die Berechnung der Parität zeitlich zu vernachlässigen; im Vergleich zu RAID 1 dauert somit das Verfahren unwesentlich länger und benötigt gemessen am Nutzdatenvolumen nur den (n-1)-ten Teil der Schreibzugriffe.
Eine noch junge Methode zur Verbesserung der Rebuild-Leistung und damit der Ausfallsicherheit ist präventives RAID 5. Hierbei werden interne Fehlerkorrekturstatistiken der Platten zur Vorhersage eines Ausfalls herangezogen (siehe S.M.A.R.T.). Vorsorglich wird nun die Hot-Spare-Platte mit dem kompletten Inhalt der ausfallverdächtigsten Platte im RAID-Verbund synchronisiert, um zum vorhergesagten Versagenszeitpunkt sofort an deren Stelle treten zu können. Das Verfahren erreicht bei geringerem Platzbedarf eine ähnliche Ausfallsicherheit wie RAID 6 und andere Dual-Parity-Implementierungen. Allerdings wurde präventives RAID 5 aufgrund des hohen Aufwands bislang nur in wenigen „High-End“-Speichersystemen mit server-basierten Controllern implementiert. Zudem zeigt eine Studie von Google (Februar 2007), dass S.M.A.R.T.-Daten zur Vorhersage des Ausfalls einer einzelnen Festplatte nur eingeschränkt nützlich sind.[8]
Einfluss der Anzahl der Festplatten
Bei RAID-5-Systemen sind Konfigurationen mit 3 oder 5 Festplatten häufig anzutreffen – das ist kein Zufall, denn die Anzahl der Festplatten hat einen Einfluss auf die Schreibleistung.
Einfluss auf die Read-Performance
Sie wird weitestgehend durch die Anzahl der Festplatten, aber auch durch Cache-Größen bestimmt, mehr ist hier immer besser.
Einfluss auf die Write-Performance
Im Unterschied zur Read-Performance ist das Ermitteln der Write-Performance bei RAID 5 deutlich komplizierter und hängt sowohl von der zu schreibenden Datenmenge, als auch von der Anzahl der Platten ab[2]. Ausgehend von Festplatten mit weniger als 2TB Plattenplatz, ist die atomare Blockgröße (auch Sektorgröße genannt) der Platten häufig 512 Byte (siehe Festplatte: Speichern und Lesen von Daten). Geht man weiter von einem RAID-5-Verbund mit 5 Platten (4/5 Daten und 1/5 Parität) aus, so ergibt sich folgendes Szenario: Will eine Anwendung 2048 Byte schreiben, wird in diesem günstigen Fall auf alle 5 Platten genau je ein Block zu 512 Byte geschrieben, wobei einer dieser Blöcke keine Nutzdaten enthält. Im Vergleich zu RAID 0 mit 5 Platten ergibt sich daraus eine Effizienz von 80 % (bei RAID 5 mit 3 Platten wären es 66 %). Möchte eine Anwendung nur einen Block von 512 Byte schreiben, so ergibt sich ein ungünstigerer Fall, es müssen zuerst der abzuändernde Block und der Paritätsblock eingelesen werden, danach wird der neue Paritätsblock berechnet und erst dann können beide 512-Byte-Blöcke geschrieben werden. Das bedeutet einen Aufwand von 2 Lesezugriffen und 2 Schreibzugriffen, um einen Block zu speichern. Geht man vereinfacht davon aus, dass Lesen und Schreiben gleich lange dauern, so beträgt die Effizienz in diesem ungünstigsten Fall, dem sogenannten RAID 5 write Penalty, noch 25 %. In der Praxis wird dieser Worst-Case-Fall bei einem RAID 5 mit 5 Platten aber kaum eintreten, denn Dateisysteme haben häufig Blockgrößen von 2 kB, 4 kB und mehr und zeigen daher praktisch ausschließlich das Well-Case-Schreibverhalten. Gleiches gilt analog für RAID 5 mit 3 Platten. Unterschiedlich verhält sich hingegen z. B. ein RAID-5-System mit 4 Platten (3/4 Daten und 1/4 Parität), soll hier ein Block von 2048 Byte geschrieben werden, sind zwei Schreibvorgänge notwendig, es werden dann einmal 1536 Byte mit Well-Case-Performance geschrieben und noch einmal 512 Byte mit Worst-Case-Verhalten. Diesem Worst-Case-Verhalten wirken zwar Cache-Strategien entgegen, aber dennoch ergibt sich hieraus, dass bei RAID 5 möglichst ein Verhältnis von zwei, vier oder auch acht Platten für Nutzdaten plus einer Platte für Paritätsdaten eingehalten werden sollte. Daher haben RAID-5-Systeme mit 3, 5 oder 9 Platten ein besonders günstiges Performanceverhalten.
Quelle:
http://www.google.de/imgres?imgurl=...ttlUJXFL8qytAahoICYAQ&ved=0CDEQ9QEwAQ&dur=403