Geschachtelte Resilienz für „Direkte Speicherplätze“
Gilt für: Azure Stack HCI, Versionen 22H2 und 21H2; Windows Server 2022 und Windows Server 2019
Geschachtelte Resilienz ist eine Funktion von Direkte Speicherplätze in Azure Stack HCI und Windows Server. Damit kann ein Cluster mit zwei Servern mehrere gleichzeitige Hardwarefehler überstehen, ohne dass es zu einem Verlust der Speicherverfügbarkeit kommt. Dies bedeutet, dass es für Benutzer, Apps und virtuelle Computer nicht zu einer Störung kommt. In diesem Artikel wird erklärt, wie geschachtelte Resilienz funktioniert, Sie erhalten eine Schritt-für-Schritt-Anleitung für den Einstieg, und die am häufigsten gestellten Fragen werden beantwortet.
Voraussetzungen
Erwägen Sie die Nutzung der geschachtelten Resilienz unter folgenden Umständen:
- Ihr Cluster führt eines der folgenden Betriebssysteme aus: Azure Stack HCI, Version 21H2, Azure Stack HCI, Version 20H2, Windows Server 2022 oder Windows Server 2019; und
- Ihr Cluster verfügt über genau zwei Serverknoten.
Sie können die geschachtelte Resilienz unter folgenden Umständen nicht verwenden:
- Ihr Cluster führt Windows Server 2016 aus, oder
- Ihr Cluster verfügt nur über einen einzelnen Serverknoten oder über mindestens drei Serverknoten.
Gründe zur Verwendung der geschachtelten Resilienz
Volumes, die geschachtelte Resilienz verwenden, können auch dann online und zugänglich bleiben, wenn mehrere Hardwarefehler gleichzeitig auftreten, im Gegensatz zur klassischen Resilienz bei Zwei-Wege-Spiegelung. Wenn beispielsweise zwei Laufwerke gleichzeitig ausfallen oder ein Server und ein Laufwerk ausfallen, bleiben Volumes mit geschachtelter Resilienz online und zugänglich. Bei einer hyperkonvergenten Infrastruktur erhöht dies die Verfügbarkeit für Apps und virtuelle Computer. Für Dateiserverworkloads bedeutet dies, dass Benutzer ununterbrochenen Zugriff auf ihre Dateien haben.
Der Kompromiss besteht darin, dass die geschachtelte Resilienz eine geringere Kapazitätseffizienz als die klassische Zwei-Wege-Spiegelung aufweist, was bedeutet, dass Sie etwas weniger nutzbaren Speicherplatz erhalten. Näheres erfahren Sie im folgenden Abschnitt Kapazitätseffizienz.
Funktionsweise
Dieser Abschnitt behandelt den Hintergrund zur 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 bewährte Form der Resilienz bei verteiltem Speicher und hilft, die geschachtelte Resilienz zu verstehen. In RAID 5+1 wird auf jedem Server durch RAID-5 oder einfache Parität lokale Resilienz bereitgestellt, um vor dem Verlust eines einzelnen Laufwerks zu schützen. Anschließend wird durch RAID-1 oder Zwei-Wege-Spiegelung zwischen den beiden Servern weitere Resilienz bereitgestellt, um vor dem Verlust eines Servers zu schützen.
Resilienzoptionen
„Direkte Speicherplätze“ in Azure Stack HCI und Windows Server bietet zwei Resilienzoptionen, die in der Software implementiert sind, ohne dass spezielle RAID-Hardware erforderlich ist:
Geschachtelte Zwei-Wege-Spiegelung. Auf jedem Server wird die lokale Resilienz durch die Zwei-Wege-Spiegelung bereitgestellt, und die weitere Resilienz wird dann durch die Zwei-Wege-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. Die geschachtelte Zwei-Wege-Spiegelung bietet eine kompromisslose Leistung: Schreibvorgänge werden an alle Kopien übermittelt, und Lesevorgänge stammen aus einer beliebigen Kopie.
Geschachtelte Parität mit Beschleunigung per Spiegelung Kombinieren Sie die geschachtelte Zwei-Wege-Spiegelung in der Abbildung oben mit geschachtelter Parität. Innerhalb jedes Servers wird die lokale Resilienz für die meisten Daten durch eine einzelne bitweise Paritätsarithmetik bereitgestellt, mit Ausnahme neuer Schreibvorgänge, die Zwei-Wege-Spiegelung verwenden. Anschließend bietet die Zwei-Wege-Spiegelung zwischen den Servern weitere Resilienz für alle Daten. Neue Schreibzugriffe auf das Volume gehen an den Spiegelungsteil mit zwei Kopien auf separaten physischen Festplatten auf jedem Server. Während der Spiegelteil des Volumes auf jedem Server gefüllt wird, werden die ältesten Daten konvertiert und im Hintergrund in den Paritätsteil gespeichert. Daher verfügt jeder Server über die Daten für das Volume entweder in einer Zwei-Wege-Spiegelung oder in einer einzelnen Paritätsstruktur. Dies ähnelt der Funktionsweise der Parität mit Beschleunigung per Spiegelung – mit dem Unterschied, dass für die Parität mit Beschleunigung per Spiegelung vier Server im Cluster und im Speicherpool erforderlich sind und ein anderer Paritätsalgorithmus verwendet wird.
Kapazitätseffizienz
Kapazitätseffizienz ist das Verhältnis zwischen nutzbarem Speicherplatz und Volumespeicherbedarf. Sie beschreibt den Mehraufwand an Kapazität für Resilienz und hängt von Ihrer ausgewählten Resilienzoption ab. Ein einfaches Beispiel: Das Speichern von Daten ohne Resilienz ist zu 100 % kapazitätseffizient (1 TB Daten nimmt 1 TB physische Speicherkapazität in Anspruch), während die Zwei-Wege-Spiegelung zu 50 % effizient ist (1 TB Daten nimmt 2 TB physische Speicherkapazität in Anspruch).
Geschachtelte Zwei-Wege-Spiegelung schreibt vier Kopien von allem. Zum Speichern von 1 TB an Daten benötigen Sie daher 4 TB an physischer Speicherkapazität. Die Unkompliziertheit der geschachtelten Zwei-Wege-Spiegelung ist zwar attraktiv, aber ihre Kapazitätseffizienz von 25 % ist die niedrigste aller Resilienzoptionen in „Direkte Speicherplätze“.
Geschachtelte Parität mit Beschleunigung per Spiegelung erreicht eine höhere Kapazitätseffizienz von etwa 35 %-40 %, die von zwei Faktoren abhängt: der Anzahl der Kapazitätslaufwerke auf jedem Server und der Mischung aus Spiegelung und Parität, die Sie für das Volume angeben. In dieser Tabelle können Sie allgemeine Konfigurationen nachschlagen:
Kapazitätslaufwerke pro Server 10 % Spiegelung 20 % Spiegelung 30 % Spiegelung 4 35,7 % 34,1 % 32,6 % 5 37,7 % 35,7 % 33,9 % 6 39,1 % 36,8 % 34,7 % 7 und höher 40,0 % 37,5 % 35,3 % Im Folgenden finden Sie ein Beispiel für eine vollständige Berechnung. Angenommen, wir verfügen über sechs Kapazitätslaufwerke auf jedem von zwei Servern und möchten ein Volume mit 100 GB erstellen, das aus 10 GB Spiegelung und 90 GB Parität besteht. Die Zwei-Wege-Spiegelung auf dem lokalen Server ist zu 50,0 % effizient, was bedeutet, dass zum Speichern der 10 GB Spiegelungsdaten auf jedem Server 20 GB benötigt werden. Auf beiden Servern gespiegelt beträgt der Gesamtbedarf 40 GB. Die einfache Parität auf dem lokalen Server ist in diesem Fall zu 5/6 = 83,3 % effizient, was bedeutet, dass zum Speichern der 90 GB Paritätsdaten auf jedem Server 108 GB benötigt werden. Auf beiden Servern gespiegelt beträgt der Gesamtbedarf 216 GB. Der Gesamtbedarf beträgt daher [(10 GB/50,0 %) + (90 GB/83,3 %)] × 2 = 256 GB, um die Gesamtkapazitätseffizienz von 39,1 % zu erreichen.
Beachten Sie, dass die Kapazitätseffizienz der klassischen Zwei-Wege-Spiegelung (ca. 50 %) und der geschachtelten Parität mit Beschleunigung per Spiegelung (bis zu 40 %) sich nicht sehr unterscheiden. Je nach Ihren Anforderungen kann die etwas geringere Kapazitätseffizienz den erheblichen Anstieg der Speicherverfügbarkeit wert sein. Sie wählen Resilienz pro Volume aus, sodass Sie Volumes mit geschachtelter Resilienz und klassische Volumes mit Zwei-Wege-Spiegelung innerhalb desselben Clusters kombinieren können.
Erstellen von Volumes mit geschachtelter Resilienz
Sie können vertraute Speicher-Cmdlets in PowerShell verwenden, um Volumes mit geschachtelter Resilienz zu erstellen. Dies ist im folgenden Abschnitt beschrieben.
Schritt 1: Erstellen von Speicherebenenvorlagen (nur Windows Server 2019)
Für Windows Server 2019 müssen Sie mithilfe des New-StorageTier
-Cmdlets neue Vorlagen für die Speicherebene erstellen, bevor Sie Volumes erstellen. Sie müssen dies nur einmal tun und können dann für jedes neue Volume, das Sie erstellen, diese Vorlagen verwenden.
Hinweis
Wenn Sie Windows Server 2022, Azure Stack HCI 21H2 oder Azure Stack HCI 20H2 ausführen, können Sie diesen Schritt überspringen.
Geben Sie den -MediaType
Ihrer Kapazitätslaufwerke und optional den -FriendlyName
Ihrer Wahl an. Ändern Sie keine anderen Parameter.
Wenn es sich bei Ihren Kapazitätslaufwerken beispielsweise um Festplattenlaufwerke (HDD) handelt, starten Sie PowerShell als Administrator, und führen Sie die folgenden Cmdlets aus.
Erstellen Sie wie folgt eine NestedMirror-Ebene:
New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4
Erstellen Sie wie folgt eine NestedParity-Ebene:
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 Drives (SSD) handelt, legen Sie -MediaType
stattdessen auf SSD
fest, und ändern Sie -FriendlyName
auf *OnSSD
. Ändern Sie keine anderen Parameter.
Tipp
Überprüfen Sie, ob Get-StorageTier
die Ebenen erfolgreich erstellt hat.
Schritt 2: Erstellen von geschachtelten Volumes
Erstellen Sie mithilfe des Cmdlets New-Volume
neue Volumes.
Geschachtelte Zwei-Wege-Spiegelung
Um die geschachtelte Zwei-Wege-Spiegelung zu verwenden, verweisen Sie auf die
NestedMirror
-Ebenenvorlage und geben die Größe an. Beispiel:New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
Wenn es sich bei Ihren Kapazitätslaufwerken um Solid State Drives (SSD) handelt, ändern Sie
-StorageTierFriendlyNames
auf*OnSSD
.Geschachtelte Parität mit Beschleunigung per Spiegelung
Um geschachtelte Parität mit Beschleunigung per Spiegelung zu verwenden, verweisen Sie auf die Ebenenvorlagen
NestedMirror
undNestedParity
und geben zwei Größen an, eine für jeden Teil des Volumes (erst Spiegelung, dann Parität). Um beispielsweise ein 500-GB-Volume zu erstellen, das 20 % geschachtelte bidirektionale Spiegel und 80 % geschachtelte Parität 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 Drives (SSD) handelt, ändern Sie
-StorageTierFriendlyNames
auf*OnSSD
.
Schritt 3: Fortfahren im Windows Admin Center
Volumes, die geschachtelte Resilienz verwenden, werden in Windows Admin Center mit eindeutiger Bezeichnung angezeigt, wie im folgenden Screenshot dargestellt. Nachdem sie erstellt wurden, können Sie sie mithilfe von Windows Admin Center wie jedes andere Volume in „Direkte Speicherplätze“ verwalten und überwachen.
Optional: Erweitern auf Cachelaufwerke
Mit den Standardeinstellungen schützt die geschachtelte Resilienz vor dem gleichzeitigen Verlust mehrerer Kapazitätslaufwerke bzw. eines Servers und eines Kapazitätslaufwerks. Um diesen Schutz auf Cachelaufwerke zu erweitern, gibt es noch einen weiteren Aspekt: Da Cachelaufwerke häufig Lese- und Schreibcache für Laufwerke mit mehreren Kapazität bereitstellen, besteht die einzige Möglichkeit, sicherzustellen, dass Sie den Verlust eines Cachelaufwerks tolerieren können, wenn der andere Server ausgefallen ist, keine Cacheschreibvorgänge, aber dies wirkt sich auf die Leistung aus.
Um diesem Szenario zu begegnen, bietet „Direkte Speicherplätze“ die Möglichkeit, das Zwischenspeichern von Schreibvorgängen automatisch zu deaktivieren, wenn ein Server in einem Cluster mit zwei Servern ausgefallen ist, und es dann wieder zu aktivieren, sobald der Server wieder in Betrieb ist. Um routinemäßige Neustarts ohne Leistungsbeeinträchtigung zu ermöglichen, wird das Zwischenspeichern von Schreibvorgängen erst deaktiviert, wenn der Server 30 Minuten lang ausgefallen ist. Sobald das Zwischenspeichern von Schreibvorgängen deaktiviert ist, wird der Inhalt des Schreibcaches auf Kapazitätsgeräte geschrieben. Danach kann der Server ein fehlerhaftes Cachegerät auf dem Onlineserver tolerieren. Lesezugriffe aus dem Cache können jedoch verzögert werden oder erfolglos bleiben, wenn ein Cachegerät ausfällt.
Hinweis
Bei einem physischen System mit nur einem Cache (einem einzigen Medientyp) brauchen Sie die automatische Deaktivierung der Zwischenspeicherung von Schreibvorgängen nicht zu berücksichtigen, wenn ein Server in einem Cluster mit zwei Servern ausfällt. Sie müssen dies nur beim SBL-Cache (Storage Bus Layer, Speicherbusebene) berücksichtigen, der nur dann erforderlich ist, wenn Sie HDDs verwenden.
(Optional) Um die Zwischenspeicherung von Schreibvorgängen automatisch zu deaktivieren, wenn ein Server in einem Zweiservercluster ausfällt ist, starten Sie PowerShell als Administrator, und führen Sie folgenden Befehl aus:
Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"
Nach Festlegung auf True sieht das Cacheverhalten folgendermaßen aus:
Situation | Cacheverhalten | Kann der Verlust von Cachelaufwerken toleriert werden? |
---|---|---|
Beide Server in Betrieb | Zwischenspeichern von Lese- und Schreibvorgängen, vollständige Leistung | Ja |
Server ausgefallen, erste 30 Minuten | Zwischenspeichern von Lese- und Schreibvorgängen, vollständige Leistung | Nein (vorübergehend) |
Nach den ersten 30 Minuten | Nur Cachelesezugriff, beeinträchtigte Leistung | Ja (nachdem der Cache auf Kapazitätslaufwerke geschrieben wurde) |
Häufig gestellte Fragen
Hier erhalten Sie Antworten auf häufig gestellte Fragen zur geschachtelten Resilienz.
Kann ich ein vorhandenes Volume zwischen Zwei-Wege-Spiegelung und geschachtelter Resilienz konvertieren?
Nein, Volumes können nicht zwischen Resilienztypen konvertiert werden. Entscheiden Sie für neue Bereitstellungen auf Azure Stack HCI, Windows Server 2022 oder Windows Server 2019 im Voraus, welcher Resilienztyp Ihren Anforderungen am besten entspricht. Wenn Sie ein Upgrade von Windows Server 2016 durchführen, können Sie neue Volumes mit geschachtelter Resilienz erstellen, Ihre Daten migrieren und dann die älteren Volumes löschen.
Kann ich geschachtelte Resilienz mit mehreren Arten von Kapazitätslaufwerken verwenden?
Ja, geben Sie den -MediaType
im obigen Schritt 1 einfach den einzelnen Ebenen entsprechend an. Wenn sich beispielsweise NVMe, SSD und HDD im selben Cluster befinden, stellt NVMe Cache bereit, während die beiden letzteren Kapazität bereitstellen: Legen Sie die NestedMirror
-Ebene auf -MediaType SSD
und die NestedParity
-Ebene auf -MediaType HDD
fest. In diesem Fall hängt die Kapazitätseffizienz der Parität nur von der Anzahl der Festplattenlaufwerke ab, und Sie benötigen mindestens 4 davon pro Server.
Kann ich geschachtelte Resilienz mit drei oder mehr Servern verwenden?
Nein, verwenden Sie geschachtelte Resilienz nur, wenn Ihr Cluster genau zwei Server hat.
Wie viele Laufwerke muss ich haben, um geschachtelte Resilienz zu verwenden?
Die für „Direkte Speicherplätze“ erforderliche Mindestanzahl von Laufwerken beträgt vier Kapazitätslaufwerke pro Serverknoten sowie zwei Cachelaufwerke pro Serverknoten (sofern vorhanden). Dies ist gegenüber Windows Server 2016 unverändert. Es gibt keine zusätzliche Anforderung für geschachtelte Resilienz, und die Empfehlung für reservierte Kapazität bleibt ebenfalls unverändert.
Ändert die geschachtelte Resilienz die Art des Austauschs von Laufwerken?
Nein.
Ändert die geschachtelte Resilienz die Art des Austauschs von Serverknoten?
Nein. Gehen Sie wie folgt vor, um einen Serverknoten und dessen Laufwerke zu ersetzen:
- Außerbetriebnahme der Laufwerke auf dem außer Betrieb zu nehmenden Server
- Hinzufügen des neuen Servers mit seinen Laufwerken zum Cluster
- Der Speicherpool wird ausgeglichen
- Entfernen des außer Betrieb zu nehmenden Servers und seiner Laufwerke
Weitere Informationen finden Sie im Artikel Entfernen von Servern in „Direkte Speicherplätze“.