Fehlertoleranz und Speichereffizienz in Azure Stack HCI- und Windows Server-Clustern
Gilt für: Azure Stack HCI, Versionen 22H2 und 21H2; Windows Server 2022, Windows Server 2019
In diesem Artikel werden die verfügbaren Resilienzoptionen erläutert und die Skalierungsanforderungen, die Speichereffizienz und die allgemeinen Vorteile und Nachteile der einzelnen Optionen erläutert.
Überblick
Direkte Speicherplätze bieten Fehlertoleranz, häufig als "Resilienz" bezeichnet, für Ihre Daten. Die Implementierung ist ähnlich wie bei RAID, wird jedoch über Server verteilt und in Software durchgeführt.
Wie bei RAID gibt es einige verschiedene Möglichkeiten, wie Speicherplätze dies tun können, was verschiedene Kompromisse zwischen Fehlertoleranz, Speichereffizienz und Rechenkomplexität macht. Diese fallen allgemein in zwei Kategorien: "Spiegelung" und "Parität", wobei letztere manchmal als "Erasure Coding" bezeichnet wird.
Spiegelung
Die Spiegelung bietet Fehlertoleranz, indem mehrere Kopien aller Daten beibehalten werden. Dies ähnelt am ehesten RAID-1. Wie diese Daten gestreift und platziert werden, ist nicht trivial (siehe diesen Blog für weitere Informationen), aber es ist absolut zutreffend zu sagen, dass alle Daten, die mittels Spiegelung gespeichert werden, in ihrer Gesamtheit mehrfach geschrieben werden. Jede Kopie wird auf unterschiedliche physische Hardware (unterschiedliche Laufwerke auf unterschiedlichen Servern) geschrieben, die angenommen werden, dass sie unabhängig voneinander fehlschlagen.
Sie können zwischen zwei Varianten der Spiegelung wählen – „Zweiweg“ und „Dreiweg“.
Bidirektionale Spiegelung
Zwei-Wege-Spiegelung schreibt zwei Kopien von allem. Die Speichereffizienz beträgt 50 Prozent – um 1 TB Daten zu schreiben, benötigen Sie mindestens 2 TB physische Speicherkapazität. Ebenso benötigen Sie mindestens zwei Hardwarefehlerdomänen – mit Direkte Speicherplätze, d. h. zwei Server.
Warnung
Wenn Sie mehr als zwei Server haben, empfehlen wir stattdessen die Verwendung der Drei-Wege-Spiegelung.
Drei-Wege-Spiegel
Die Dreifachspiegelung schreibt drei Kopien von allem. Die Speichereffizienz beträgt 33,3 Prozent – um 1 TB Daten zu schreiben, benötigen Sie mindestens 3 TB physische Speicherkapazität. Ebenso benötigen Sie mindestens drei Hardwarefehlerdomänen – bei Storage Spaces Direct bedeutet das drei Server.
Die Dreifachspiegelung kann sicher mindestens zwei Hardwareprobleme (Laufwerk oder Server) gleichzeitigtolerieren. Wenn Sie beispielsweise einen Server neu starten, wenn plötzlich ein anderes Laufwerk oder ein anderer Server fehlschlägt, bleiben alle Daten sicher und kontinuierlich zugänglich.
-
Parität
Die Paritätscodierung, die häufig als "Codierung von Löschungen" bezeichnet wird, bietet Fehlertoleranz mit bitweiser Arithmetik, die bemerkenswert kompliziertenerhalten kann. Die Funktionsweise davon ist weniger offensichtlich als die Spiegelung, und es gibt viele großartige Online-Ressourcen (z. B. dieser Dummies-Leitfaden zum Erasure Coding), die Ihnen helfen können, das Konzept zu verstehen. Es genügt zu sagen, dass es eine bessere Speichereffizienz bietet, ohne die Fehlertoleranz zu beeinträchtigen.
Speicherbereiche bieten zwei Arten von Parität – "einzelne" Parität und "duale" Parität, wobei die letztere eine erweiterte Technik namens "lokale Wiederaufbaucodes" in größerem Maßstab verwendet.
Wichtig
Wir empfehlen die Verwendung der Spiegelung für die meisten leistungsempfindlichen Workloads. Weitere Informationen zum Ausgleich von Leistung und Kapazität je nach Arbeitslast finden Sie unter Planen von Volumina.
Einfache Parität
Einzelne Parität behält nur ein bitweises Paritätssymbol bei, das fehlertoleranz gegenüber jeweils nur einem Fehler bereitstellt. Es ähnelt am ehesten RAID-5. Um eine einzelne Parität zu verwenden, benötigen Sie mindestens drei Hardwarefehlerdomänen – mit Storage Spaces Direct, d. h. drei Server. Da die Drei-Wege-Spiegelung mehr Fehlertoleranz in derselben Skala bietet, wird davon abgeraten, eine einzelne Parität zu verwenden. Aber es ist vorhanden, wenn Sie darauf bestehen, es zu verwenden, und es wird vollständig unterstützt.
Warnung
Es wird davon abgeraten, eine einzelne Parität zu verwenden, da sie jeweils nur einen Hardwarefehler sicher tolerieren kann: Wenn Sie einen Server neu starten, wenn plötzlich ein anderer Laufwerk oder Server fehlschlägt, treten Ausfallzeiten auf. Wenn Sie nur über drei Server verfügen, empfehlen wir die Verwendung der Drei-Wege-Spiegelung. Wenn Sie vier oder mehr haben, lesen Sie den nächsten Abschnitt.
Duale Parität
Die duale Parität implementiert Reed-Solomon Fehlerkorrekturcodes, um zwei bitweise Paritätssymbole beizubehalten, wodurch die gleiche Fehlertoleranz wie die Drei-Wege-Spiegelung (d. h. bis zu zwei Fehler gleichzeitig) bereitgestellt wird, aber mit besserer Speichereffizienz. Es ähnelt am ehesten RAID-6. Um duale Parität zu verwenden, benötigen Sie mindestens vier Hardware-Fehlerdomänen – mit Storage Spaces Direct heißt das, vier Server. In diesem Maßstab beträgt die Speichereffizienz 50% – zum Speichern von 2 TB Daten benötigen Sie 4 TB physische Speicherkapazität.
Die Speichereffizienz der dualen Parität steigt mit der Anzahl der Hardware-Fehlerdomänen, von 50 Prozent bis zu 80 Prozent. Bei sieben (mit "Direkte Speicherplätze" bedeutet das z. B. sieben Server) springt die Effizienz auf 66,7 Prozent – um 4 TB Daten zu speichern, benötigen Sie nur 6 TB physische Speicherkapazität.
Im Abschnitt "Zusammenfassung" finden Sie die Effizienz von dualen Parteien und lokalen Wiederaufbaucodes in jedem Maßstab.
Codes für die lokale Wiederherstellung
Speicherplätze führen eine fortgeschrittene Technik ein, die von Microsoft Research als "lokale Wiederaufbaucodes" oder LRC entwickelt wurde. Bei großem Umfang verwendet die duale Parität LRC, um die Codierung/Decodierung in einige kleinere Gruppen aufzuteilen. Dadurch wird der Aufwand reduziert, der erforderlich ist, um Schreibvorgänge durchzuführen oder Ausfälle zu beheben.
Bei Festplattenlaufwerken (HDD) ist die Gruppengröße vier Symbole; mit Solid-State-Laufwerken (SSD) ist die Gruppengröße sechs Symbole. So sieht das Layout beispielsweise mit Festplattenlaufwerken und 12 Hardwarefehlerdomänen aus (d. h. 12 Server) – es gibt zwei Gruppen von vier Datensymbolen. Es erzielt 72,7 Prozent Speichereffizienz.
Wir empfehlen Ihnen diese umfangreiche und gleichzeitig sehr gut lesbare Anleitung darüber, wie lokale Wiederherstellungscodes verschiedene Fehlerszenarien bewältigen und warum sie attraktivsind, von Claus Joergensen.
Spiegelbeschleunigte Parität
Ein Speicherplätze Direkt-Volume kann teilweise Spiegelung und teilweise Parität besitzen. Schreibvorgänge landen zuerst im gespiegelten Teil und werden später schrittweise in den Paritätsteil verschoben. Im Grunde genommen ist dies die Verwendung des Spiegelns, um die Erasure-Codierungzu beschleunigen.
Um dreiseitige Spiegelung und duale Parität zu kombinieren, benötigen Sie mindestens vier Fehlerdomänen, d. h. vier Server.
Die Speichereffizienz der spiegelbeschleunigten Parität liegt zwischen der Nutzung von reinem Spiegelmodus und reinem Paritätsmodus und hängt von den von Ihnen gewählten Proportionen ab.
Wichtig
Wir empfehlen die Verwendung der Spiegelung für die meisten leistungsempfindlichen Workloads. Weitere Informationen darüber, wie Sie Leistung und Kapazität je nach Belastung ausbalancieren können, finden Sie unter „Planen von Volumes“.
Zusammenfassung
In diesem Abschnitt werden die in "Direkte Speicherplätze" verfügbaren Resilienztypen, die Mindestmaßstabanforderungen für die Verwendung der einzelnen Typen, die Anzahl der Fehler, die jeder Typ tolerieren kann, und die entsprechende Speichereffizienz zusammengefasst.
Resilienztypen
Elastizität | Fehlertoleranz | Speichereffizienz |
---|---|---|
Bidirektionale Spiegelung | 1 | 50.0% |
Drei-Wege-Spiegel | 2 | 33.3% |
Duale Parität | 2 | 50.0% - 80.0% |
Gemischt | 2 | 33,3% - 80,0% |
Mindestmaßstabanforderungen
Elastizität | Mindestens erforderliche Fehlerdomänen |
---|---|
Bidirektionale Spiegelung | 2 |
Drei-Wege-Spiegel | 3 |
Duale Parität | 4 |
Gemischt | 4 |
Tipp
Sofern Sie nicht Gehäuse- oder Rack-Fehlertoleranzverwenden, bezieht sich die Anzahl der Fehlerdomänen auf die Anzahl der Server. Die Anzahl der Laufwerke auf jedem Server hat keinen Einfluss darauf, welche Resilienztypen Sie verwenden können, solange Sie die Mindestanforderungen für direkte Speicherplätze erfüllen.
Duale Paritätseffizienz für Hybridbereitstellungen
Diese Tabelle zeigt die Speichereffizienz von Dualparitäts- und lokalen Wiederherstellungscodes in jedem Maßstab für Hybridbereitstellungen, die sowohl Festplattenlaufwerke (HDD) als auch Solid-State-Laufwerke (SSD) enthalten.
Fehlerdomänen | Layout | Effizienz |
---|---|---|
2 | – | – |
3 | – | – |
4 | RS 2+2 | 50.0% |
5 | RS 2+2 | 50.0% |
6 | RS 2+2 | 50.0% |
7 | RS 4+2 | 66.7% |
8 | RS 4+2 | 66.7% |
9 | RS 4+2 | 66.7% |
10 | RS 4+2 | 66.7% |
11 | RS 4+2 | 66.7% |
12 | LRC (8, 2, 1) | 72.7% |
13 | LRC (8, 2, 1) | 72.7% |
14 | LRC (8, 2, 1) | 72.7% |
15 | LRC (8, 2, 1) | 72.7% |
16 | LRC (8, 2, 1) | 72.7% |
Duale Paritätseffizienz für All-Flash-Bereitstellungen
Diese Tabelle zeigt die Speichereffizienz von Dualparitäts- und lokalen Rekonstruktionscodes auf jeder Skala für All-Flash-Bereitstellungen, die nur Solid-State-Laufwerke (SSD) enthalten. Das Paritätslayout kann größere Gruppengrößen verwenden und eine bessere Speichereffizienz in einer All-Flash-Konfiguration erzielen.
Fehlerdomänen | Layout | Effizienz |
---|---|---|
2 | – | – |
3 | – | – |
4 | RS 2+2 | 50.0% |
5 | RS 2+2 | 50.0% |
6 | RS 2+2 | 50.0% |
7 | RS 4+2 | 66.7% |
8 | RS 4+2 | 66.7% |
9 | RS 6+2 | 75.0% |
10 | RS 6+2 | 75.0% |
11 | RS 6+2 | 75.0% |
12 | RS 6+2 | 75.0% |
13 | RS 6+2 | 75.0% |
14 | RS 6+2 | 75.0% |
15 | RS 6+2 | 75.0% |
16 | LRC (12, 2, 1) | 80.0% |
Beispiele
Wenn Sie nicht nur über zwei Server verfügen, empfehlen wir die Verwendung der Drei-Wege-Spiegelung und/oder der dualen Parität, da sie eine bessere Fehlertoleranz bieten. Insbesondere stellen sie sicher, dass alle Daten sicher und kontinuierlich zugänglich bleiben, auch wenn zwei Fehlerdomänen – mit Storage Spaces Direct, was bedeutet, dass zwei Server von gleichzeitigen Fehlern betroffen sind – beeinträchtigt werden.
Beispiele, in denen alles online bleibt
Diese sechs Beispiele zeigen, was dreiseitige Spiegelung und/oder duale Parität tolerieren kann.
- 1. Verlorenes Laufwerk (einschließlich Cachelaufwerke)
- 2. Ein Server verloren
- 3. Ein Server und ein Laufwerk verloren
- 4. Zwei Laufwerke gehen auf unterschiedlichen Servern verloren
- 5. Mehr als zwei Laufwerke verloren, so lange nur höchstens zwei Server betroffen sind
- 6. Zwei Server verloren
... in jedem Fall bleiben alle Volumes online. (Stellen Sie sicher, dass Ihr Cluster das Quorum aufrechterhält.)
Beispiele, in denen alles offline geht
Während der Lebensdauer kann Storage Spaces eine beliebige Anzahl von Fehlern tolerieren, da es nach jedem Fehler, bei ausreichender Zeit, die vollständige Resilienz wiederherstellt. Allerdings können höchstens zwei Fehlerdomänen zu jedem beliebigen Zeitpunkt sicher betroffen sein. Im Folgenden sind daher Beispiele dafür aufgeführt, welche Drei-Wege-Spiegelung und/oder duale Parität nicht tolerieren kann.
- 7. Laufwerke, die in drei oder mehr Servern gleichzeitig verloren gegangen sind
- 8. Drei oder mehr Server gleichzeitig verloren
Verwendung
Schauen Sie sich Volumen erstellenan.
Nächste Schritte
Weitere Informationen zu themen, die in diesem Artikel erwähnt werden, finden Sie in den folgenden Themen: