Freigeben über


Geschachtelte Resilienz für Storage Spaces Direct

Gilt für: Azure Stack HCI, Versionen 22H2 und höher; Windows Server 2022 und Windows Server 2019

Geschachtelte Resilienz ist eine Funktion von Storage Spaces Direct in Azure Stack HCI und Windows Server. Sie ermöglicht es einem Zwei-Server-Cluster, mehreren Hardwarefehlern gleichzeitig standzuhalten, ohne dass die Speicherverfügbarkeit verloren geht, sodass Benutzer, Apps und virtuelle Computer ohne Unterbrechung weiterhin ausgeführt werden. In diesem Artikel wird erläutert, wie geschachtelte Resilienz funktioniert, schrittweise Anleitungen für die ersten Schritte und Antworten auf die am häufigsten gestellten Fragen enthält.

Bevor Sie beginnen

erwägen Sie die geschachtelte Resilienz, wenn:

  • Ihr Cluster führt eines der folgenden Betriebssysteme aus: Azure Stack HCI, Version 22H2 oder höher, Windows Server 2019 oder höher; und
  • Ihr Cluster verfügt über genau zwei Serverknoten.

Sie können keine geschachtelte Resilienz verwenden, wenn:

  • Ihr Cluster führt Windows Server 2016 aus; oder
  • Ihr Cluster verfügt nur über einen einzelnen Serverknoten oder über drei oder mehr Serverknoten.

Warum geschachtelte Resilienz

Volumes, die geschachtelte Resilienz verwenden, können online und zugänglich bleiben, auch wenn mehrere Hardwarefehler gleichzeitig auftreten, im Gegensatz zur klassischen bidirektionale Spiegelung Resilienz. Wenn z. B. zwei Laufwerke gleichzeitig fehlschlagen oder ein Server ausfallen und ein Laufwerk fehlschlägt, bleiben Volumes, die geschachtelte Resilienz verwenden, online und zugänglich. Bei hyperkonvergenter Infrastruktur erhöht sich dadurch die Betriebszeit für Apps und virtuelle Computer; für Dateiserver-Workloads bedeutet dies, dass Benutzer ununterbrochenen Zugriff auf ihre Dateien haben.

Diagramm, das die Speicherverfügbarkeit anzeigt.

Der Kompromiss besteht darin, dass geschachtelte Resilienz eine geringere Kapazitätseffizienz als die klassische Zweifachspiegelung aufweist, was bedeutet, dass Sie etwas weniger nutzbaren Speicherplatz erhalten. Ausführliche Informationen finden Sie im folgenden Abschnitt Kapazitätseffizienz.

Funktionsweise

Dieser Abschnitt enthält den Hintergrund der geschachtelten Resilienz für Direkte Speicherplätze und beschreibt die beiden neuen Resilienzoptionen und deren Kapazitätseffizienz.

Inspiration: RAID 5+1

RAID 5+1 ist eine etablierte Form der verteilten Speicherresilienz, die hilfreichen Hintergrund für das Verständnis der geschachtelten Resilienz bietet. Bei RAID 5+1 wird in jedem Server lokale Fehlertoleranz durch RAID-5 oder Einzelparitätbereitgestellt, um vor dem Verlust eines einzelnen Laufwerks zu schützen. Anschließend wird zusätzliche Ausfallsicherheit durch RAID-1 oder bidirektionale Spiegelungzwischen den beiden Servern bereitgestellt, um gegen den Ausfall eines Servers zu schützen.

Diagramm mit RAID 5+1.

Resilienzoptionen

Direkte Speicherplätze in Azure Stack HCI und Windows Server bieten zwei Resilienzoptionen, die in Software implementiert sind, ohne dass spezielle RAID-Hardware erforderlich ist:

  • Geschachtelte bidirektionale Spiegelung. Innerhalb jedes Servers wird lokale Resilienz durch bidirektionale Spiegelung bereitgestellt, und dann wird eine weitere Resilienz durch bidirektionale Spiegelung zwischen den beiden Servern bereitgestellt. Es handelt sich im Wesentlichen um eine Vier-Wege-Spiegelung mit zwei Kopien auf jedem Server, die sich auf verschiedenen physischen Datenträgern befinden. Geschachtelte zweifache Spiegelung bietet kompromisslose Leistung: Schreibvorgänge gehen zu allen Kopien, und Lesevorgänge stammen aus jeder Kopie.

    Diagramm, das geschachtelte bidirektionale Spiegelung anzeigt.

  • Verschachtelte, spiegelbeschleunigte Parität. Kombinieren Sie die geschachtelte bidirektionale Spiegelung aus dem vorherigen Bild mit geschachtelter Parität. Innerhalb jedes Servers wird lokale Resilienz für die meisten Daten durch einzelne bitweise Parität arithmetischebereitgestellt, mit Ausnahme neuer neuer Schreibvorgänge, die bidirektionale Spiegelung verwenden. Anschließend wird eine weitere Resilienz für alle Daten durch bidirektionale Spiegelung zwischen den Servern bereitgestellt. Neue Schreibvorgänge auf das Volume werden an den Spiegelungsabschnitt geleitet, der zwei Kopien auf separaten physischen Datenträgern auf jedem Server enthält. Wenn der Spiegelteil des Volumes auf jedem Server gefüllt wird, werden die ältesten Daten konvertiert und im Hintergrund im Paritätsteil gespeichert. Daher verfügt jeder Server über die Daten für das Volume entweder in bidirektionalem Spiegel oder in einer einzigen Paritätsstruktur. Dies ist vergleichbar mit der Funktionsweise spiegelbeschleunigten Parität , wobei der Unterschied besteht, dass die spiegelbeschleunigte Parität vier Server im Cluster- und Speicherpool erfordert und einen anderen Paritätsalgorithmus verwendet.

    Diagramm mit geschachtelter spiegelbeschleunigter Parität.

Kapazitätseffizienz

Die Kapazitätseffizienz ist das Verhältnis des verwendbaren Platzes zu Volumenbedarf. Er beschreibt den Kapazitätsaufwand, der auf Resilienz zurückzuführen ist, und hängt von der gewählten Resilienzoption ab. Als einfaches Beispiel ist das Speichern von Daten ohne Resilienz 100% kapazitätseffizient (1 TB Daten beansprucht 1 TB physische Speicherkapazität), während die bidirektionale Spiegelung 50% effizient ist (1 TB Daten beansprucht 2 TB physische Speicherkapazität).

  • verschachtelter Zweispiegel schreibt vier Kopien von allem. Dies bedeutet, dass Sie zum Speichern von 1 TB Daten 4 TB physische speicherkapazität benötigen. Obwohl die Einfachheit ansprechend ist, ist die Kapazitätseffizienz des geschachtelten bidirektionalen Spiegels von 25% die Option mit der niedrigsten Kapazitätseffizienz in Storage Spaces Direct.

  • geschachtelte spiegelbeschleunigte Parität erreicht eine höhere Kapazitätseffizienz, etwa 35%-40%, die von zwei Faktoren abhängt: die Anzahl der Kapazitätslaufwerke auf jedem Server und die Kombination aus Spiegelung und Parität, die Sie für das Volume angeben. Diese Tabelle bietet eine Suche nach allgemeinen Konfigurationen:

    Kapazitätslaufwerke pro Server 10% Spiegel 20% Spiegel 30% Spiegel
    4 35,7% 34,1 % 32,6 %
    5 37,7 % 35,7% 33,9 %
    6 39,1 % 36,8 % 34,7 %
    7+ 40,0 % 37,5 % 35,3 %

    Im Folgenden finden Sie ein Beispiel für die vollständige Mathematik. Angenommen, wir haben sechs Laufwerke in jedem der beiden Server, und wir möchten ein 100 GB Volumen erstellen, das aus 10 GB für Spiegelung und 90 GB für Parität besteht. Die server-lokale bidirektionale Spiegelung ist 50,0% effizient, d. h. die 10 GB Spiegeldaten erfordern 20 GB, um auf jedem Server gespeichert zu werden. Insgesamt auf beide Server gespiegelt, beträgt der Speicherbedarf 40 GB. Die server-lokale Parität ist in diesem Fall 5/6 = 83,3% effizient, d. h. die 90 GB Paritätsdaten erfordern 108 GB, um auf jedem Server zu speichern. Auf beide Server gespiegelt, beträgt der Gesamtbedarf 216 GB. Der Gesamtbedarf ist somit [(10 GB / 50,0%) + (90 GB / 83,3%)] × 2 = 256 GB, für 39,1% Gesamtkapazitätseffizienz.

    Beachten Sie, dass die Kapazitätseffizienz der klassischen bidirektionalen Spiegelung (ca. 50%) und der geschachtelten spiegelbeschleunigten Parität (bis zu 40%) nicht sehr unterschiedlich ist. Je nach Ihren Anforderungen kann die leicht niedrigere Kapazitätseffizienz die erhebliche Erhöhung der Speicherverfügbarkeit wert sein. Sie wählen Resilienz pro Volume aus, sodass Sie geschachtelte Resilienzvolumes und klassische bidirektionale Spiegelvolumes innerhalb desselben Clusters kombinieren können.

    Diagramm, das den Kompromiss zwischen einer bidirektionalen Spiegelung und geschachtelter spiegelbeschleunigter Parität zeigt.

Erstellen von geschachtelten Resilienzvolumes

Sie können vertraute Speicher-Cmdlets in PowerShell verwenden, um Volumes mit geschachtelter Ausfallsicherheit zu erstellen, wie im folgenden Abschnitt beschrieben.

Schritt 1: Erstellen von Speicherebenenvorlagen (nur Windows Server 2019)

Windows Server 2019 erfordert, dass Sie mithilfe des cmdlets New-StorageTier neue Speicherebenenvorlagen erstellen, bevor Sie Volumes erstellen. Sie müssen dies nur einmal ausführen, und dann kann jedes neue Volume, das Sie erstellen, auf diese Vorlagen verweisen.

Anmerkung

Wenn Sie Windows Server 2022, Azure Stack HCI, Version 21H2 oder Azure Stack HCI, Version 20H2, ausführen, können Sie diesen Schritt überspringen.

Geben Sie die -MediaType Ihrer Kapazitätslaufwerke und optional die -FriendlyName Ihrer Wahl an. Ändern Sie keine anderen Parameter.

Wenn ihre Kapazitätslaufwerke beispielsweise Festplatten (HDD) sind, starten Sie PowerShell als Administrator, und führen Sie die folgenden Cmdlets aus.

So erstellen Sie eine NestedMirror-Ebene:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4

So erstellen Sie eine NestedParity-Stufe:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk

Wenn Es sich bei Ihren Kapazitätslaufwerken um Solid-State-Laufwerke (SSD) handelt, legen Sie die -MediaType stattdessen auf SSD fest, und ändern Sie die -FriendlyName in *OnSSD. Ändern Sie keine anderen Parameter.

Tipp

Stellen Sie sicher, dass Get-StorageTier die Ebenen erfolgreich erstellt haben.

Schritt 2: Erstellen von geschachtelten Volumes

Erstellen Sie neue Volumes mithilfe des Cmdlets New-Volume.

  • Verschachtelter Zweiwegspiegel

    Um das geschachtelte bidirektionale Spiegelungssystem zu verwenden, beziehen Sie sich auf die Vorlage der Ebene NestedMirror sowie geben Sie die Größe an. Zum Beispiel:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
    

    Wenn Es sich bei Ihren Kapazitätslaufwerken um Solid-State-Laufwerke (SSD) handelt, ändern Sie -StorageTierFriendlyNames in *OnSSD.

  • Geschachtelte spiegelbeschleunigte Parität

    Um geschachtelte spiegelbeschleunigte Parität zu verwenden, verweisen Sie sowohl auf die NestedMirror- als auch auf NestedParity Ebenenvorlagen, und geben Sie zwei Größen an, eine für jeden Teil des Volumes (Spiegel zuerst, Parität sekunde). Um beispielsweise ein 500-GB-Volume zu erstellen, das zu 20 %% mit einer geschachtelten zweiwege Spiegelung und zu 80 %% mit geschachtelter Parität versehen ist, führen Sie Folgendes aus:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
    

    Wenn Es sich bei Ihren Kapazitätslaufwerken um Solid-State-Laufwerke (SSD) handelt, ändern Sie -StorageTierFriendlyNames in *OnSSD.

Schritt 3: Weiter im Windows Admin Center

Volumes, die geschachtelte Resilienz verwenden, werden in Windows Admin Center mit eindeutiger Bezeichnung angezeigt, wie im folgenden Screenshot gezeigt. Nachdem sie erstellt wurden, können Sie sie mithilfe des Windows Admin Centers verwalten und überwachen, genau wie jedes andere Volume in Storage Spaces Direct.

Verwaltung von Volumen im Windows Admin Center.

Optional: Erweitern auf Cachelaufwerke

Mit seinen Standardeinstellungen schützt die geschachtelte Resilienz vor dem Verlust mehrerer Kapazitätslaufwerke gleichzeitig oder auf einem Server und einem Kapazitätslaufwerk gleichzeitig. Um diesen Schutz auf Cachelaufwerkezu erweitern, gibt es eine weitere Überlegung: Da Cachelaufwerke häufig Lese- und Schreibcache für mehrere Kapazitätslaufwerke bereitstellen, besteht die einzige Möglichkeit, den Verlust eines Cachelaufwerks zu tolerieren, wenn der andere Server ausgefallen ist, darin, auf das Zwischenspeichern von Schreibvorgängen zu verzichten, was jedoch die Leistung beeinträchtigt.

Um dieses Szenario zu beheben, bietet Storage Spaces Direct die Möglichkeit, die Schreibzwischenspeicherung automatisch zu deaktivieren, wenn ein Server in einem Zwei-Server-Cluster ausgefallen ist, und dann die Schreibzwischenspeicherung wieder zu aktivieren, sobald der Server wieder funktioniert. Um regelmäßige Neustarts ohne Leistungsbeeinträchtigung zu ermöglichen, wird die Schreibzwischenspeicherung erst deaktiviert, wenn der Server 30 Minuten lang heruntergefahren ist. Sobald der Schreibcache deaktiviert ist, wird der Inhalt des Schreibcaches in die Kapazitätsgeräte geschrieben. Danach kann der Server ein fehlerhaftes Cache-Gerät auf dem Onlineserver tolerieren, obwohl Lesevorgänge aus dem Cache möglicherweise verzögert sind oder fehlschlagen, wenn ein Cache-Gerät ausfällt.

Anmerkung

Für ein physisches Caching-System eines Medientyps müssen Sie die automatische Deaktivierung der Schreibzwischenspeicherung nicht in Betracht ziehen, wenn ein Server in einem Cluster mit zwei Servern ausfällt. Sie müssen dies nur mit dem SBL-Cache (Storage Bus Layer) berücksichtigen, der nur erforderlich ist, wenn Sie HDDs verwenden.

(Optional) Um die Schreibzwischenspeicherung automatisch zu deaktivieren, wenn ein Server in einem Zwei-Server-Cluster deaktiviert ist, starten Sie PowerShell als Administrator, und führen Sie Folgendes aus:

Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"

Nach dem Festlegen auf Truelautet das Cacheverhalten:

Situation Cacheverhalten Kann den Verlust des Cache-Laufwerks tolerieren?
Beide Server sind online Lese- und Schreibvorgänge im Cache, vollständige Leistung Ja
Server ausgefallen, erste 30 Minuten Lese- und Schreibvorgänge im Cache, vollständige Leistung Nein (vorübergehend)
Nach den ersten 30 Minuten Cache nur Lesemodus, Leistung beeinträchtigt Ja (nachdem der Cache in Kapazitätslaufwerke geschrieben wurde)

Häufig gestellte Fragen

Hier finden Sie Antworten auf häufig gestellte Fragen zur geschachtelten Resilienz.

Kann ich ein vorhandenes Volume zwischen bidirektionale Spiegelung und geschachtelter Ausfallsicherheit konvertieren?

Nein, Volumes können nicht zwischen Resilienztypen konvertiert werden. Für neue Bereitstellungen auf Azure Stack HCI, Windows Server 2022 oder Windows Server 2019 entscheiden Sie vorab, welcher Resilienztyp Ihren Anforderungen am besten entspricht. Wenn Sie ein Upgrade von Windows Server 2016 durchführen, können Sie neue Volumes mit geschachtelter Ausfallsicherheit erstellen, Ihre Daten migrieren und dann die älteren Volumes löschen.

Kann ich geschachtelte Resilienz mit verschiedenen Kapazitätslaufwerktypen verwenden?

Ja, geben Sie einfach den -MediaType jeder Ebene während Schritt 1 oben entsprechend an. Mit NVMe, SSD und HDD im selben Cluster stellt nvMe z. B. Cache bereit, während die beiden letztgenannten Kapazität bereitstellen: Legen Sie die NestedMirror-Ebene auf -MediaType SSD und die NestedParity-Ebene auf -MediaType HDDfest. In diesem Fall hängt die Effizienz der Paritätskapazität nur von der Anzahl der HDD-Laufwerke ab, und Sie benötigen mindestens 4 davon pro Server.

Kann ich verschachtelte Resilienz mit drei oder mehr Servern verwenden?

Nein, verwenden Sie nur geschachtelte Resilienz, wenn Ihr Cluster genau zwei Server aufweist.

Wie viele Laufwerke benötige ich, um geschachtelte Resilienz zu verwenden?

Die Mindestanzahl der für "Direkte Speicherplätze" erforderlichen Laufwerke beträgt vier Kapazitätslaufwerke pro Serverknoten sowie zwei Cachelaufwerke pro Serverknoten (falls vorhanden). Dies ist von Windows Server 2016 unverändert. Es gibt keine andere Anforderung für geschachtelte Resilienz, und die Empfehlung für Reservekapazität ist ebenfalls unverändert.

Ändert die geschachtelte Resilienz, wie der Austausch von Laufwerken funktioniert?

Nein.

Ändert die verschachtelte Resilienz, wie der Austausch eines Serverknotens funktioniert?

Nein. Gehen Sie wie folgt vor, um einen Serverknoten und seine Laufwerke zu ersetzen:

  1. Laufwerke auf dem Postausgangsserver außer Betrieb nehmen
  2. Hinzufügen des neuen Servers mit seinen Laufwerken zum Cluster
  3. Der Speicherpool wird neu ausgeglichen
  4. Entfernen des Postausgangsservers und seiner Laufwerke

Ausführliche Informationen finden Sie im Artikel Entfernen von Servern.

Nächste Schritte