Warum sind die verschachtelten RAID-Level 1 + 5 oder 1 + 6 so gut wie unbekannt? Dem Wikipedia-Artikel zu verschachtelten RAID-Levels fehlen derzeit die entsprechenden Abschnitte. Ich verstehe nicht, warum sie nicht häufiger als RAID 1 + 0 sind, insbesondere im Vergleich zu RAID 1 + 0 Triple Mirroring.
Es ist offensichtlich, dass die Wiederherstellungszeit zunehmend problematisch wird, da die Laufwerkskapazitäten schneller zunehmen als ihre Leistung oder Zuverlässigkeit. Mir wurde gesagt, dass RAID 1 schneller wiederhergestellt wird und dass ein RAID 0-Array mit RAID 1-Paaren das Problem vermeidet, ein RAID 5- oder RAID 6-Array mit RAID 1-Paaren sicherlich auch. Ich würde zumindest davon ausgehen, dass sie eine häufige Alternative zu RAID 1 + 0 darstellen.
Für 16 von 1 TB Laufwerken sind hier meine Berechnungen der naiven Wahrscheinlichkeit, auf Backup zurückzugreifen, dh mit der vereinfachenden Annahme, dass die Laufwerke mit gerader Wahrscheinlichkeit unabhängig sind:
RAID | storage | cumulative probabilities of resorting to backup /m
1+0 | 8TB | 0, 67, 200, 385, 590, 776, 910, 980, 1000, 1000, 1000
1+5 | 7TB | 0, 0, 0, 15, 77, 217, 441, 702, 910, 1000, 1000
1+6 | 6TB | 0, 0, 0, 0, 0, 7, 49, 179, 441, 776, 1000
(m = 0.001, i.e. milli.)
Wenn dies korrekt ist, ist RAID 1 + 6 außergewöhnlich zuverlässiger als RAID 1 + 0, da die Speicherkapazität nur um 25% verringert wird. Wie im Allgemeinen ist der theoretische Schreibdurchsatz (ohne Suchzeiten) die Speicherkapazität / Array-Größe × Anzahl der Laufwerke × Schreibdurchsatz des langsamsten Laufwerks im Array (RAID-Levels mit Redundanz haben eine höhere Schreibverstärkung für Schreibvorgänge, bei denen Füllen Sie keinen Streifen aus, dies hängt jedoch von der Blockgröße ab. Der theoretische Lesedurchsatz ist die Summe der Lesedurchsätze der Laufwerke im Array (mit der Ausnahme, dass RAID 0, RAID 5 und RAID 6 theoretisch immer noch durch beschränkt werden können der langsamste, der zweitlangsamste und der drittlangsamste Laufwerkslesedurchsatz). Dh bei identischen Antrieben wären das jeweils 8 ×, 7 ×,
Betrachten Sie außerdem ein RAID 0- Vierfach- RAID 1-Tripel, dh RAID 1 + 0-Tripelspiegelung von 12 Laufwerken, und ein RAID 6-Sechsfach-RAID 1-Paar, dh RAID 1 + 6 von 12 Laufwerken. Auch dies sind identische 1-TB-Laufwerke. Beide Layouts haben dieselbe Anzahl von Laufwerken (12), dieselbe Speicherkapazität (4 TB), denselben Redundanzanteil (2/3), denselben maximalen Schreibdurchsatz (4 ×) und denselben maximalen Lesedurchsatz ( 12 ×). Hier sind meine Berechnungen (soweit):
RAID | cumulative probabilities of resorting to backup /m
1+0 (4×3) | 0, 0, 18, ?, ?, ?, ?, ?, 1000
1+6 (6×2) | 0, 0, 0, 0, 0, 22, 152, 515, 1000
Ja, dies mag wie ein Overkill aussehen, aber wo Triple Mirroring verwendet wird, um einen Klon für die Sicherung abzuspalten, kann RAID 1 + 6 genauso gut verwendet werden, indem einfach 1 von jedem Laufwerk mit Ausnahme von 2 des RAID eingefroren und entfernt wird 1 Paare, und dabei ist die Zuverlässigkeit beim Herabsetzen weitaus besser als beim herabgesetzten RAID 1 + 0-Array. Hier sind meine Berechnungen für 12 Laufwerke, die auf diese Weise um 4 verringert wurden:
RAID | cumulative probabilities of resorting to backup /m
1+0 (4×3) | (0, 0, 0, 0), 0, 143, 429, 771, 1000
1+6 (6×2) | (0, 0, 0, 0), 0, 0, 71, 414, 1000
Der Lesedurchsatz kann jedoch während dieser Zeit für RAID 1 + 6 auf das 6fache gesenkt werden, während RAID 1 + 0 nur auf das 8fache reduziert wird. Wenn jedoch ein Laufwerk ausfällt, während sich das Array in diesem herabgesetzten Zustand befindet, besteht für das RAID 1 + 6-Array eine Wahrscheinlichkeit von 50 bis 50, dass es etwa 6-fach bleibt oder weiter auf 5-fach begrenzt ist, während für das RAID 1 + 0-Array dies der Fall ist auf einen 4 × Flaschenhals beschränkt sein. Der Schreibdurchsatz sollte ziemlich unbeeinträchtigt sein (er kann sich sogar erhöhen, wenn die für die Sicherung verwendeten Laufwerke die langsamsten Laufwerke sind).
Tatsächlich kann beides als "Triple Mirroring" angesehen werden, da das heruntergekommene RAID 1 + 6-Array eine zusätzliche RAID 6-Gruppe von 4 Laufwerken abspalten kann. Mit anderen Worten, dieses RAID 1 + 6-Layout mit 12 Laufwerken kann in 3 herabgesetzte (aber funktionsfähige) RAID 6-Arrays unterteilt werden!
So ist es nur, dass die meisten Leute nicht im Detail in die Mathematik gegangen sind? Werden wir in Zukunft mehr RAID 1 + 6 sehen?
Antworten:
Generell würde ich sagen, dass RAID 1 + 0 in der Regel häufiger verwendet wird als 1 + 5 oder 1 + 6, da RAID 1 + 0 zuverlässig genug ist und eine geringfügig bessere Leistung und mehr nutzbaren Speicher bietet.
Ich denke, die meisten Leute würden den Ausfall eines vollständigen RAID-1-Paares innerhalb der RAID-1 + 0-Gruppe als ein unglaublich seltenes Ereignis ansehen, für das es sich lohnt, die Backups auszubrechen Festplatte als nutzbarer Speicherplatz.
Wenn Sie eine bessere Zuverlässigkeit als RAID 1 + 0 benötigen, dann entscheiden Sie sich für diese! ..aber die meisten Leute brauchen das wahrscheinlich nicht.
quelle
Die praktische Antwort liegt an der Schnittstelle von Hardware-RAID-Controller-Spezifikationen, durchschnittlicher Festplattengröße, Laufwerksformfaktoren und Serverdesign.
Die meisten Hardware-RAID-Controller sind in den von ihnen unterstützten RAID-Stufen begrenzt. Hier sind die RAID-Optionen für einen HP ProLiant Smart Array-Controller:
hinweis: das "adm" ist nur eine dreifache spiegelung
Unterstützung für LSI-RAID-Controller:
0, 1, 5, 6, 10, 50, and 60
Daher können diese Controller nur RAID 50 und 60 als verschachtelte Ebenen verwenden. LSI ( geb. Dell PERC ) und HP machen den größten Teil des Marktes für Enterprise Server-Speicheradapter aus. Dies ist der Hauptgrund dafür, dass Sie im Feld kein RAID 1 + 6 oder RAID 61 sehen.
Darüber hinaus erfordern geschachtelte RAID-Level jenseits von RAID 10 eine relativ große Anzahl von Festplatten. Angesichts der zunehmenden verfügbaren Laufwerkskapazitäten (mit 3,5-Zoll-Nearline-SAS- und SATA-Laufwerken) und der Tatsache, dass viele Server-Chassis mit 8 x 2,5-Zoll-Laufwerkkäfigen ausgelegt sind, gibt es kaum Möglichkeiten, RAID 1+ physisch zu konfigurieren 6 oder RAID 61.
Die Bereiche, in denen Sie möglicherweise so etwas wie RAID 1 + 6 sehen, sind RAID-Lösungen für Software mit großem Gehäuse. Linux MD RAID oder ZFS sind definitiv dazu in der Lage. Zu diesem Zeitpunkt kann der Ausfall des Laufwerks jedoch durch Hot- oder Cold-Spare-Festplatten verringert werden. RAID-Zuverlässigkeit ist heutzutage kein großes Problem, vorausgesetzt, Sie vermeiden toxische RAID-Level- und Hardware-Kombinationen (z. B. RAID 5 und 6 TB-Festplatten). Darüber hinaus wird die Lese- und Schreibleistung durch Schichten und Caching-Ebenen abstrahiert. Die durchschnittliche Speicherauslastung profitiert normalerweise von der einen oder anderen.
Am Ende scheint es, als ob das Bedürfnis / die Nachfrage einfach nicht da ist.
quelle
Sie haben eine sinkende Zuverlässigkeit. Es ist ziemlich unwahrscheinlich, dass RAID 6 selbst auf unangenehmen SATA-Laufwerken mit einer UBER-Rate von 1 zu 10 ^ 14 zu einem Compound-Fehler führt. Auf FC / SAS-Laufwerken ist Ihre UBER 1 zu 10 ^ 16 und Sie erhalten auch erheblich mehr Leistung.
Die Zuverlässigkeit von RAID-Gruppen schützt Sie nicht vor versehentlichem Löschen. (also brauchst du die backups trotzdem)
Ab einem bestimmten RAID-Level ist die Wahrscheinlichkeit eines Verbundfehlers auf Datenträgern geringer als bei einem Verbundfehler der unterstützenden Infrastruktur (Strom, Netzwerk, Leck der Klimaanlage usw.).
Strafe schreiben. Jeder eingehende Schreibvorgang auf Ihrem RAID 61 löst 12 E / A-Vorgänge aus (naiv ausgeführt). RAID 6 schmerzt bereits in Szenarien mit geringen Datenmengen (IOPs per TB Random Write). (und in höheren Klassen ist Ihre Ausfallrate sowieso 100x besser)
Es ist keine 25% ige Reduzierung, sondern eine weitere 25% ige Reduzierung. Ihre 16 TB werden zu 6 TB. Sie erhalten also 37,5% nutzbaren Speicherplatz. Sie benötigen 3x so viele Festplatten pro Kapazität und 3x so viel Platz im Rechenzentrum. Sie würden wahrscheinlich mehr Zuverlässigkeit erhalten, wenn Sie einfach kleinere RAID6-Sätze erstellen. Ich habe noch keine Zahlen ermittelt, aber ich versuche es - zum Beispiel mit der Summe von RAID 6 in 3x 3 + 2 Sätzen (15 Laufwerke, weniger Speicherplatz als Ihr RAID 10). Oder machen Sie stattdessen 3-Wege-Spiegel.
Trotzdem ist es üblicher, als Sie denken, dies für die DR mit mehreren Standorten zu tun. Ich führe replizierte Speicherarrays aus, bei denen RAID5 / 6 / DP-RAID-Gruppen asynchron oder synchron mit einem DR-Standort verbunden sind. (Synchronisiere nicht, wenn du es möglicherweise vermeiden kannst - es sieht gut aus, es ist tatsächlich schrecklich).
Bei meinen NetApps ist das ein Metrocluster mit einigen gespiegelten Aggregaten. Mit meinen VMAXen haben wir Symmetrix Remote Data Facility (SRDF). Und meine 3PARs kopieren remote.
Es ist teuer, bietet aber ein "Rechenzentrum, das Feuer fängt".
In Bezug auf Triple Mirrors habe ich sie verwendet, jedoch nicht als direkte RAID-Ausfallsicherheitsmaßnahme, sondern als vollständiges Klonen im Rahmen einer Sicherungsstrategie. Synchronisieren Sie einen dritten Spiegel, teilen Sie ihn auf, hängen Sie ihn auf einem separaten Server ein und sichern Sie ihn mithilfe einer völlig anderen Infrastruktur. Und manchmal drehen Sie den dritten Spiegel als Wiederherstellungsoption.
Der Punkt, den ich anstrebe, ist, dass ich in meiner direkten Erfahrung als Speicheradministrator - in einem ~ 40.000-Spindel-Anwesen (ja, wir tauschen täglich zehn Laufwerke aus) - eine Vielzahl von Sicherungen durchführen musste Gründe in den letzten 5 Jahren, aber keiner von ihnen war RAID-Gruppenfehler. Wir diskutieren die relativen Vorzüge und die akzeptable Wiederherstellungszeit, den Wiederherstellungspunkt und die Ausfallzeiten. Und das alles zu untermauern, ist IMMER der Preis für die zusätzliche Belastbarkeit.
Unser Array, das alle Medienbereinigungen und -ausfälle vorhersagt, spart und testet aggressiv Festplatten.
Selbst wenn es eine geeignete RAID-Implementierung gäbe, gäbe es keinen Kosten-Nutzen. Das für den Speicherplatz ausgegebene Geld würde besser in eine längere Aufbewahrung oder einen häufigeren Sicherungszyklus investiert. Oder schnellere Kommunikationen. Oder einfach nur schnellere Spindeln, da selbst bei identischen Rückstellzahlen eine schnellere Wiederherstellung von Ersatzteilen die Wahrscheinlichkeit eines Zusammensetzungsausfalls erhöht.
Ich denke also, ich würde die Antwort auf Ihre Frage anbieten:
Sie sehen RAID 1 + 6 und 1 + 5 nicht sehr oft, da sich der Kostenvorteil einfach nicht aufbaut. Angesichts einer begrenzten Geldsumme und der Notwendigkeit, zunächst eine Backup-Lösung zu implementieren, müssen Sie nur Geld ausgeben, um die Ausfallhäufigkeit zu verringern. Es gibt bessere Möglichkeiten, dieses Geld auszugeben.
quelle
Moderne und fortschrittliche Systeme implementieren solche Formen nicht, weil sie übermäßig kompliziert, völlig unnötig und im Widerspruch zu jeglichem Anschein von Effizienz sind.
Wie bereits erwähnt, beträgt das Verhältnis von Rohraum zu Nutzraum im Wesentlichen 3: 1. Das sind im Wesentlichen drei Kopien (zwei redundante Kopien). Aufgrund der Berechnungskosten von "raid6" (doppelt so hoch, wenn gespiegelt) und dem daraus resultierenden Verlust von IOPS ist dies sehr ineffizient. In ZFS, das sehr gut entworfen und abgestimmt ist, wäre die äquivalente Lösung in Bezug auf die Kapazität die Erstellung eines Streifens von 3-Wege-Spiegeln.
Anstelle eines Spiegels mit 6-Wege-RAID6 / RAIDZ2-Shapes (insgesamt 12 Laufwerke), der sehr ineffizient wäre (auch kein Mechanismus, den ZFS implementieren kann), würden Sie 4x 3-Wege-Spiegel verwenden (ebenfalls 12) fährt). Und anstelle von 1 Laufwerk im Wert von IOPS würden Sie 4 Laufwerke im Wert von IOPS haben. Gerade bei virtuellen Maschinen ist das ein großer Unterschied. Die Gesamtbandbreite für die beiden Formen mag beim sequentiellen Lesen / Schreiben sehr ähnlich sein, aber der Streifen von 3-Wege-Spiegeln würde beim zufälligen Lesen / Schreiben definitiv reaktionsfähiger sein.
Zusammenfassend lässt sich sagen, dass raid1 + 6 im Allgemeinen unpraktisch, ineffizient und nicht überraschend ist.
So klären Sie die IOPS-Unterschiede: Bei einem Spiegel der Formen raid6 / raidz2 müssen bei jedem Schreibvorgang alle 12 Laufwerke als ein Laufwerk fungieren. Die gesamte Form kann die Aktivität nicht in mehrere Aktionen aufteilen, die mehrere Formen unabhängig voneinander ausführen können. Bei einem Streifen von 3-Wege-Spiegeln kann jeder Schreibvorgang etwas sein, mit dem sich nur einer der 4 Spiegel befassen muss, sodass ein weiterer eingehender Schreibvorgang nicht erst auf die gesamte Omnibus-Form warten muss, bevor weitere Aktionen ausgeführt werden .
quelle
Da hat es keiner direkt genug gesagt: Raid6 Schreibleistung ist nicht unwesentlich schlechter. Unter Last ist es unbeschreiblich schrecklich.
Sequentielles Schreiben ist in Ordnung, und solange Caching, Zusammenführen von Schreibvorgängen usw. dies verdecken können, sieht es in Ordnung aus. Unter hoher Last sieht es schlecht aus und dies ist der Hauptgrund, warum ein 1 + 5/6-Setup so gut wie nie verwendet wird.
quelle
Such mal
Das Problem ist , dass der Schreib sucht Verstärkung verhält sich sehr unterschiedlich auf die Schreibdurchsatz Verstärkung. Die minimale Verstärkung des Schreibdurchsatzes mit Parität tritt auf, wenn ein ganzer Streifen auf einmal geschrieben wird (nennen wir dieses Adjektiv "Vollstreifen"), die minimale Verstärkung des Schreibsuchlaufs jedoch dann, wenn der gesamte Schreibvorgang nach einem Suchlauf in das virtuelle Gerät passt ein einziger Brocken. Bevor wir ins Detail gehen, sind die Beziehungen in tabellarischer Form viel einfacher zu vermitteln:
Dabei ist n die Gesamtzahl der Laufwerke, n₁ die Anzahl der Laufwerke in den RAID 1-Gruppen und n₅ und n₆ die Anzahl der Gruppen in den RAID 5- bzw. RAID 6-Arrays. Beispiele beziehen sich auf das Beispiel mit 12 Laufwerken in der Frage (relevante Zeilen sind '
*bolded*
'); Beispiele für RAID-Level 1 + 0, 1 + 5, 1 + 6 sind 4 × 3, 6 × 2, 6 × 2.Es ist zu beachten, dass nur der Vollstreifen-Durchsatzverstärkungsfaktor in direktem Zusammenhang mit dem Redundanzanteil steht. Die Single-Chunk-Fälle sind für diejenigen mit Parität komplizierter. Sie entstehen, weil das Schreiben eines einzelnen Blocks das Lesen des jeweils einfachsten Paritätsblocks oder der anderen Datenblöcke erfordert, bevor die Paritätsblöcke zusammen mit dem neuen Datenblock geschrieben werden. (Sie sind nicht direkt multiplikativ, da die induzierten Lesevorgänge stattdessen mit dem jeweiligen Lesedurchsatz- / Suchverstärkungsfaktor für RAID 1 multipliziert werden müssen, wobei beide 1 sind; siehe unten.)
Leider hat die Auswahl einer Blockgröße, die diese zusätzliche Verstärkung des Schreibdurchsatzes minimiert, den Nebeneffekt, dass sie tatsächlich maximiert wirddie Schreibsuchverstärkung. Bei winzigen Schreibvorgängen mit einer im Vergleich zur Suchzeit vernachlässigbaren Schreibzeit beträgt die Schreibleistung von Striping mit einer sehr kleinen Blockgröße (Vollstreifen) nur 1 ×, wie bei Spiegelung, da alle Laufwerke gesucht werden müssen Die Blöcke für jeden Schreibvorgang und der durch die Mobilisierung all dieser Laufwerke erzielte Durchsatz sind irrelevant. Es hat das Verhältnis von Schreibzeit zu Suchzeit durch die Anzahl der Laufwerke im Array geteilt, aber für winzige Schreibvorgänge war dies bereits vernachlässigbar. Es würde keinen Sinn machen, einen so kleinen Block zu verwenden, dass selbst winzige Schriften gestreift sind. Für Schriften, die klein genug sind, um die Auswirkungen des Suchens zu spüren, ist es am besten, wenn sie in einen einzelnen Block passen.
Hinweis: Die mittleren 2 Durchsatzspalten können ignoriert werden, wenn eine sinnvolle Blockgröße vorliegt, die größer ist als die Schreibvorgänge, für die die Suchzeit von Bedeutung ist, jedoch klein genug, sodass große Schreibvorgänge über den gesamten Streifen ausgeführt werden. Die große Blockgröße der 2. Durchsatzspalte ist eher mit übergreifenden Laufwerken vergleichbar. Bei einem "winzigen" Schreibvorgang ist die Auswirkung des Durchsatzes vernachlässigbar.
Eine unangemessen kleine Blockgröße erhöht auch den Effekt der Suchverstärkung für Lesevorgänge, wenn auch nicht so stark und nur im Vollstreifenfall.
Hinweis: Das 'to n' ist darauf zurückzuführen, dass theoretisch alle Laufwerke mobilisiert werden können, wenn nur ein Lesevorgang gleichzeitig stattfindet, um nach geeigneten Stellen zu suchen und die Daten gemeinsam zu lesen, um einen maximalen zusammenhängenden Lesedurchsatz zu erzielen.
Hinweis: Auch hier können die mittleren 2 Durchsatzspalten bei einer vernünftigen Blockgröße ignoriert werden. Die 3. Durchsatzspalte ist wiederum eng mit dem Redundanzanteil verbunden.
Eine ausreichend große Blockgröße bedeutet jedoch, dass winzige Lesevorgänge niemals vollständig sind. Bei einer effizienten Implementierung und einer angemessenen Blockgröße sollte die Leseleistung proportional zur Anzahl identischer Laufwerke sein, wenn sie nicht beeinträchtigt wird.
Tatsächlich ist der Verstärkungsfaktor viel komplizierter als die Formel in der Frage, in der nur die Vollstreifendurchsatzverstärkung berücksichtigt wurde. Insbesondere ist die Schreibleistung von 6 × 2 RAID 1 + 6 für gleichzeitige Schreibvorgänge, die klein genug sind, um suchgebunden zu werden, schlechter als die von 4 × 3 RAID 1 + 0. Und für winzige Schreibvorgänge, bei denen es sich ausschließlich um Suchvorgänge handelt, kann die Leistung im besten Fall nur etwa ein Drittel der Leistung von 4 × 3 RAID 1 + 0 betragen (dh bei perfekter Implementierung).
Nachdem dieses Problem behoben wurde, hat der Vergleich mit 12 Laufwerken keinen eindeutigen Gewinner:
Hinweis 1: Eine vollständige Kopie der gespeicherten Daten ist jeweils ein RAID 0-Vierfach- oder ein 4/6 herabgesetztes RAID 6-Array. Hinweis 2: Es besteht die Möglichkeit, dass der Laufwerksfehler eines der 4 beeinträchtigten RAID 1-Paare beeinträchtigt oder eines der 2 normalen Paare beeinträchtigt.
Trotzdem hätte es die doppelte Leseleistung eines RAID 6-Arrays mit 6 Laufwerken und der winzige Schreibdurchsatz sollte 25% besser sein (1,5 / 1,2), da die erforderlichen Lesevorgänge zwischen den RAID 1-Paaren aufgeteilt werden und RAID 6 dies offensichtlich tut Bei Anwendungen mit hoher Verfügbarkeit, bei denen größere Schreibvorgänge ausgeführt werden oder bei denen die Leseleistung wichtiger ist als die Schreibleistung, gibt es möglicherweise eine Nische für RAID 1 + 6. Aber das ist nicht alles…
Komplexität
Dies ist bislang nur theoretisch (meistens kombinatorisch ). In der Praxis kann die Komplexität dazu führen, dass Implementierungen von RAID 1 + 6 Mängel aufweisen, die Chancen verpassen und die theoretischen Ergebnisse nicht erreichen. RAID 6 ist bereits komplexer, und die Verschachtelung erhöht die Komplexität zusätzlich.
Zum Beispiel ist es nicht sofort offensichtlich, dass 6 × 2 RAID 1 + 6 als 3 unabhängige virtuelle Leseköpfe abstrahiert werden kann, die gleichzeitig 3 zusammenhängende große Lesevorgänge mit jeweils 4 × Durchsatz lesen können, genau wie 4 × 3 RAID 1 + 0. Das einfache Verschachteln von 6 RAID 1-Paaren in ein RAID 6-Array mithilfe eines Software-RAID ist möglicherweise nicht so elegant. Die Implementierung könnte dumm und verrückt sein (ich habe diese Hypothese jedoch noch nicht getestet).
Die Komplexität führt auch zu erhöhten Entwicklungskosten für Implementierungen und Werkzeuge. Auch wenn es Anwendungen gibt, die von einer solchen Verschachtelung profitieren könnten, sind die Verbesserungen die Entwicklungskosten möglicherweise nicht wert.
quelle