Kapslad återhämtning för Lagringsdirigering

Gäller för: Azure Stack HCI, versionerna 22H2 och 21H2; Windows Server 2022 och Windows Server 2019

Kapslad återhämtning är en funktion för Lagringsdirigering i Azure Stack HCI och Windows Server. Det gör att ett kluster med två servrar kan hantera flera maskinvarufel samtidigt utan att lagringstillgängligheten går förlorad, så att användare, appar och virtuella datorer fortsätter att köras utan avbrott. Den här artikeln förklarar hur kapslad återhämtning fungerar, innehåller stegvisa instruktioner för att komma igång och besvarar de vanligaste frågorna.

Innan du börjar

Överväg kapslad återhämtning om:

  • Klustret kör något av följande operativsystem: Azure Stack HCI, version 21H2, Azure Stack HCI, version 20H2, Windows Server 2022 eller Windows Server 2019; Och
  • Klustret har exakt två servernoder.

Du kan inte använda kapslad återhämtning om:

  • Klustret körs Windows Server 2016, eller
  • Klustret har bara en enda servernod eller har tre eller flera servernoder.

Varför kapslad återhämtning

Volymer som använder kapslad återhämtning kan vara online och tillgängliga även om flera maskinvarufel inträffar samtidigt, till skillnad från klassisk tvåvägsspeglingsåterhämtning . Om två enheter till exempel misslyckas samtidigt, eller om en server kraschar och en enhet kraschar, förblir volymer som använder kapslad återhämtning online och tillgängliga. För hyperkonvergerad infrastruktur ökar detta drifttiden för appar och virtuella datorer. för filserverarbetsbelastningar innebär det att användarna har oavbruten åtkomst till sina filer.

Diagram som visar lagringstillgänglighet.

Kompromissen är att kapslad återhämtning har lägre kapacitetseffektivitet än klassisk dubbelriktad spegling, vilket innebär att du får något mindre användbart utrymme. Mer information finns i avsnittet Kapacitetseffektivitet i följande avsnitt.

Så här fungerar det

Det här avsnittet innehåller bakgrunden om kapslad återhämtning för Lagringsdirigering och beskriver de två nya återhämtningsalternativen och deras kapacitetseffektivitet.

Inspiration: RAID 5+1

RAID 5+1 är en etablerad form av distribuerad lagringsåterhämtning som ger en användbar bakgrund för att förstå kapslad återhämtning. I RAID 5+1, inom varje server, tillhandahålls lokal återhämtning av RAID-5, eller enkel paritet, för att skydda mot förlust av en enskild enhet. Därefter tillhandahålls ytterligare återhämtning genom RAID-1, eller dubbelriktad spegling, mellan de två servrarna för att skydda mot förlust av någon av servrarna.

Diagram som visar RAID 5+1.

Återhämtningsalternativ

Lagringsdirigering i Azure Stack HCI och Windows Server erbjuder två återhämtningsalternativ som implementeras i programvara, utan behov av specialiserad RAID-maskinvara:

  • Kapslad dubbelriktad spegling. Inom varje server tillhandahålls lokal återhämtning genom dubbelriktad spegling och sedan tillhandahålls ytterligare återhämtning genom dubbelriktad spegling mellan de två servrarna. Det är i princip en fyrvägsspegling, med två kopior på varje server som finns på olika fysiska diskar. Kapslad dubbelriktad spegling ger kompromisslös prestanda: skrivningar går till alla kopior och läsningar kommer från valfri kopia.

    Diagram som visar kapslad dubbelriktad spegling.

  • Kapslad speglingsaccelererad paritet. Kombinera kapslad dubbelriktad spegling från föregående bild med kapslad paritet. Inom varje server tillhandahålls lokal återhämtning för de flesta data av enkel bitvis paritetsaritmetik, förutom nya senaste skrivningar som använder dubbelriktad spegling. Därefter tillhandahålls ytterligare återhämtning för alla data genom tvåvägsspegling mellan servrarna. Nya skrivningar till volymen går till speglingsdelen med två kopior på separata fysiska diskar på varje server. När speglingsdelen av volymen fylls på varje server konverteras de äldsta data och sparas till paritetsdelen i bakgrunden. Därför har varje server data för volymen antingen i tvåvägsspegling eller i en enda paritetsstruktur. Detta liknar hur speglingsaccelererad paritet fungerar – skillnaden är att speglingsaccelererad paritet kräver fyra servrar i klustret och lagringspoolen och använder en annan paritetsalgoritm.

    Diagram som visar kapslad speglingsaccelererad paritet.

Kapacitetseffektivitet

Kapacitetseffektivitet är förhållandet mellan användbart utrymme och volymavtryck. Den beskriver kapacitetsomkostnaderna som kan tillskrivas återhämtning och beror på vilket återhämtningsalternativ du väljer. Som ett enkelt exempel är lagring av data utan återhämtning 100 % kapacitetseffektiv (1 TB data tar upp 1 TB fysisk lagringskapacitet), medan dubbelriktad spegling är 50 % effektivt (1 TB data tar upp 2 TB fysisk lagringskapacitet).

  • Kapslad dubbelriktad spegling skriver fyra kopior av allt. Det innebär att för att lagra 1 TB data behöver du 4 TB fysisk lagringskapacitet. Även om enkelheten är tilltalande är kapslad tvåvägsspegelns kapacitetseffektivitet på 25 % den lägsta av alla återhämtningsalternativ i Lagringsdirigering.

  • Kapslad speglingsaccelererad paritet uppnår högre kapacitetseffektivitet, cirka 35–40 %, som beror på två faktorer: antalet kapacitetsenheter på varje server och blandningen av spegling och paritet som du anger för volymen. Den här tabellen innehåller en sökning efter vanliga konfigurationer:

    Kapacitetsenheter per server 10 % spegling 20 % spegling 30 % spegling
    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%

    Följande är ett exempel på den fullständiga matematiken. Anta att vi har sex kapacitetsenheter på var och en av två servrar och vi vill skapa en volym på 100 GB som består av 10 GB spegling och 90 GB paritet. Serverlokal tvåvägsspegling är 50,0 % effektiv, vilket innebär att 10 GB speglingsdata tar 20 GB att lagra på varje server. Speglad till båda servrarna är dess totala fotavtryck 40 GB. I det här fallet är serverlokal enkel paritet 5/6 = 83,3 % effektivt, vilket innebär att 90 GB paritetsdata tar 108 GB att lagra på varje server. Speglad till båda servrarna är dess totala fotavtryck 216 GB. Det totala fotavtrycket är alltså [(10 GB / 50,0 %) + (90 GB / 83,3 %)] × 2 = 256 GB, för 39,1 % total kapacitetseffektivitet.

    Observera att kapacitetseffektiviteten för klassisk dubbelriktad spegling (cirka 50 %) och kapslad speglingsaccelererad paritet (upp till 40 %) inte är särskilt olika. Beroende på dina krav kan den något lägre kapacitetseffektiviteten vara värd den betydande ökningen av lagringstillgängligheten. Du väljer återhämtning per volym, så att du kan blanda kapslade återhämtningsvolymer och klassiska tvåvägsspeglingsvolymer i samma kluster.

    Diagram som visar kompromissen mellan en dubbelriktad spegling och kapslad speglingsaccelererad paritet.

Skapa kapslade återhämtningsvolymer

Du kan använda välbekanta lagrings-cmdletar i PowerShell för att skapa volymer med kapslad återhämtning, enligt beskrivningen i följande avsnitt.

Steg 1: Skapa mallar för lagringsnivå (endast Windows Server 2019)

Windows Server 2019 kräver att du skapar nya mallar på lagringsnivå med hjälp av cmdleten New-StorageTier innan du skapar volymer. Du behöver bara göra detta en gång, och sedan kan varje ny volym som du skapar referera till dessa mallar.

Anteckning

Om du kör Windows Server 2022, Azure Stack HCI 21H2 eller Azure Stack HCI 20H2 kan du hoppa över det här steget.

Ange för -MediaType dina kapacitetsenheter och, om du vill, valfritt -FriendlyName . Ändra inte andra parametrar.

Om dina kapacitetsenheter till exempel är hårddiskar (HDD) startar du PowerShell som administratör och kör följande cmdletar.

Så här skapar du en NestedMirror-nivå:

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

Så här skapar du en NestedParity-nivå:

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

Om dina kapacitetsenheter är solid state-enheter (SSD) anger du -MediaType till SSD i stället och ändrar -FriendlyName till *OnSSD. Ändra inte andra parametrar.

Tips

Kontrollera att Get-StorageTier nivåerna har skapats.

Steg 2: Skapa kapslade volymer

Skapa nya volymer med cmdleten New-Volume .

  • Kapslad dubbelriktad spegling

    Om du vill använda kapslad dubbelriktad spegling refererar du till nivåmallen NestedMirror och anger storleken. Exempel:

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

    Om dina kapacitetsenheter är SSD-enheter (Solid State Drive) ändrar du -StorageTierFriendlyNames till *OnSSD.

  • Kapslad speglingsaccelererad paritet

    Om du vill använda kapslad speglingsaccelererad paritet refererar du till både NestedMirror mallarna och NestedParity nivåmallarna och anger två storlekar, en för varje del av volymen (spegling först, paritet sekund). Om du till exempel vill skapa en volym på 500 GB som är 20 % kapslad dubbelriktad spegling och 80 % kapslad paritet kör du:

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

    Om dina kapacitetsenheter är SSD-enheter (Solid State Drive) ändrar du -StorageTierFriendlyNames till *OnSSD.

Steg 3: Fortsätt i Windows Admin Center

Volymer som använder kapslad återhämtning visas i Windows Admin Center med tydlig etikettering, som i följande skärmbild. När de har skapats kan du hantera och övervaka dem med Windows Admin Center precis som andra volymer i Lagringsdirigering.

Volymhantering i Windows Admin Center.

Valfritt: Utöka till cacheenheter

Med standardinställningarna skyddar kapslad återhämtning mot förlust av flera kapacitetsenheter samtidigt, eller en server och en kapacitetsenhet samtidigt. För att utöka det här skyddet till cacheenheter finns det ett annat övervägande: eftersom cacheenheter ofta tillhandahåller läs- och skrivcachelagring för flera kapacitetsenheter, är det enda sättet att säkerställa att du kan tolerera förlust av en cacheenhet när den andra servern är nere att inte cachelagra skrivningar, men det påverkar prestandan.

För att hantera det här scenariot erbjuder Lagringsdirigering alternativet att automatiskt inaktivera skrivcachelagring när en server i ett kluster med två servrar är nere och sedan återaktivera skrivcachelagring när servern är säkerhetskopierad. Om du vill tillåta rutinmässiga omstarter utan prestandapåverkan inaktiveras inte skrivcachelagring förrän servern har varit nere i 30 minuter. När cachelagring av skrivning har inaktiverats skrivs innehållet i skrivcachen till kapacitetsenheter. Därefter kan servern tolerera en misslyckad cacheenhet på onlineservern, men läsningar från cacheminnet kan fördröjas eller misslyckas om en cacheenhet misslyckas.

Anteckning

För ett fysiskt system med alla cacheminnen (en enda medietyp) behöver du inte överväga automatisk inaktivering av skrivcachelagring när en server i ett kluster med två servrar är nere. Du behöver bara tänka på detta med SBL-cachen (Storage Bus Layer), som endast krävs om du använder hårddiskar.

(Valfritt) Om du vill inaktivera skrivcachelagring automatiskt när en server i ett kluster med två servrar är nere startar du PowerShell som administratör och kör:

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

När värdet är True är cachebeteendet:

Situationen Cachebeteende Kan tolerera förlust av cacheenhet?
Båda servrarna är igång Cacheläsningar och skrivningar, fullständig prestanda Yes
Servern är nere, de första 30 minuterna Cacheläsningar och skrivningar, fullständig prestanda Nej (tillfälligt)
Efter de första 30 minuterna Endast cacheläsningar, prestanda påverkas Ja (när cachen har skrivits till kapacitetsenheter)

Vanliga frågor och svar

Få svar på vanliga frågor om kapslad återhämtning.

Kan jag konvertera en befintlig volym mellan tvåvägsspegling och kapslad återhämtning?

Nej, volymer kan inte konverteras mellan återhämtningstyper. För nya distributioner på Azure Stack HCI, Windows Server 2022 eller Windows Server 2019 bestämmer du i förväg vilken återhämtningstyp som bäst passar dina behov. Om du uppgraderar från Windows Server 2016 kan du skapa nya volymer med kapslad återhämtning, migrera dina data och sedan ta bort de äldre volymerna.

Kan jag använda kapslad återhämtning med flera typer av kapacitetsenheter?

Ja, ange bara för -MediaType varje nivå i enlighet med steg 1 ovan. Med NVMe, SSD och HDD i samma kluster tillhandahåller NVMe till exempel cache medan de två sistnämnda tillhandahåller kapacitet: ange NestedMirror nivån till -MediaType SSD och NestedParity nivån till -MediaType HDD. I det här fallet beror paritetskapacitetens effektivitet på endast antalet HDD-enheter och du behöver minst 4 av dem per server.

Kan jag använda kapslad återhämtning med tre eller flera servrar?

Nej, använd bara kapslad återhämtning om klustret har exakt två servrar.

Hur många enheter behöver jag för att använda kapslad återhämtning?

Det minsta antalet enheter som krävs för Lagringsdirigering är fyra kapacitetsenheter per servernod, plus två cacheenheter per servernod (om det finns några). Detta ändras inte från Windows Server 2016. Det finns inga andra krav på kapslad återhämtning och rekommendationen för reservkapacitet är också oförändrad.

Ändrar kapslad återhämtning hur enhetsbyte fungerar?

Nej.

Ändrar kapslad återhämtning hur servernoder ersätts?

Nej. Om du vill ersätta en servernod och dess enheter följer du den här ordningen:

  1. Dra tillbaka enheterna på den utgående servern
  2. Lägg till den nya servern med dess enheter i klustret
  3. Lagringspoolen balanseras om
  4. Ta bort den utgående servern och dess enheter

Mer information finns i artikeln Ta bort servrar .

Nästa steg