Dela via


Kapslad motståndskraft för Storage Spaces Direct

Kapslad återhämtning är en funktion för Lagringsdirigering i Azure Local 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 motståndskraft om:

  • Klustret kör något av dessa operativsystem: Azure Local, version 22H2 eller senare, Windows Server 2019 eller senare. och
  • Klustret har exakt två servernoder.

Du kan inte använda kapslad återhämtningsförmåga om:

  • Klustret kör Windows Server 2016. eller
  • Klustret har bara en enskild servernod eller har tre eller flera servernoder.

Varför lagerbaserad å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 dubbelriktad speglingsåterhämtning . Om två enheter till exempel misslyckas samtidigt, eller om en server går ned och en enhet misslyckas, 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 tolerans har lägre kapacitetseffektivitet än klassisk tvåvägsspegling, vilket innebär att du får något mindre utrymme som kan användas. Mer information finns i avsnittet Kapacitetseffektivitet i följande avsnitt.

Så här fungerar det

Det här avsnittet innehåller bakgrunden till kapslad redundans för Storage Spaces Direct och beskriver de två nya redundansalternativen och deras effektivitet i kapacitet.

Inspiration: RAID 5+1

RAID 5+1 är en etablerad form av distribuerad lagringsåterhämtning som ger 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 Local och Windows Server erbjuder två återhämtningsalternativ som implementeras i programvara, utan behov av specialiserad RAID-maskinvara:

  • Kapslad dubbelriktad spegel. 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 inbäddad tvåvägsspegel.

  • 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 motståndskraft 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, omvandlas den äldsta datan och sparas i bakgrunden till paritetsdelen. 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 kapacitetskostnaderna som kan tillskrivas återhämtning och beror på vilket återhämtningsalternativ du väljer. Som ett enkelt exempel är lagring av data utan resiliens 100% procents kapacitetseffektiv (1 TB data tar upp 1 TB fysisk lagringskapacitet), medan tvåvägsspegling är 50% procents effektiv (1 TB data tar upp 2 TB fysisk lagringskapacitet).

  • Kapslad dubbelriktad spegel skriver fyra kopior av allt. Det innebär att du behöver 4 TB fysisk lagringskapacitet för att lagra 1 TB data. Även om enkelheten är tilltalande, är effektiviteten hos kapslad dubbelriktad spegling på 25% den lägsta av alla hållbarhetsalternativ i Storage Spaces Direct.

  • Kapslad speglingsaccelererad paritet ger 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:

    Kapacitetsdiskar per server 10% spegel 20% spegel 30% spegel
    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 storlek 40 GB. I det här fallet är den serverlokala enskilda pariteten 5/6 = 83,3% effektiv, vilket innebär att 90 GB paritetsdata tar 108 GB att lagra på varje server. Dess totala fotavtryck är 216 GB och är speglat på båda servrarna. Det totala fotavtrycket är alltså [(10 GB / 50,0%) + (90 GB / 83,3%)] × 2 = 256 GB, för 39,1% övergripande kapacitetseffektivitet.

    Observera att kapacitetseffektiviteten för klassisk dubbelriktad spegling (cirka 50%) och kapslad speglingsaccelererad paritet (upp till 40%) inte skiljer sig särskilt mycket åt. Beroende på dina krav kan den något lägre kapacitetseffektiviteten vara väl 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 avvägningen mellan en tvåvägsspegel och kapslad spegelaccelererad paritet.

Skapa kapslade återhämtningsvolymer

Du kan använda välbekanta cmdlets i PowerShell för att skapa volymer med inkapslad motståndskraft, enligt beskrivningen i följande avsnitt.

Steg 1: Skapa mallar på 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 du skapar referera till dessa mallar.

Note

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

Ange -MediaType för dina kapacitetsenheter och, om du önskar, -FriendlyName efter eget val. Ä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 SSD(Solid State Drives) anger du -MediaType till SSD i stället och ändrar -FriendlyName till *OnSSD. Ändra inte andra parametrar.

Tip

Kontrollera att Get-StorageTier skapade nivåerna framgångsrikt.

Steg 2: Skapa kapslade volymer

Skapa nya volymer med hjälp av cmdleten New-Volume.

  • Kapslad tvåvägsspegel

    Om du vill använda en kapslad tvåvägsspegling, använd mallnivån NestedMirror och ange storleken. Till exempel:

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

    Om dina kapacitetsenheter är SSD-enheter ändrar du -StorageTierFriendlyNames till *OnSSD.

  • Kapslad speglingsaccelererad paritet

    För att använda kapslad speglingsaccelererad paritet, hänvisa till både NestedMirror- och NestedParity-nivåmallarna och ange två storlekar, en för varje del av volymen (först spegling, därefter paritet). Om du till exempel vill skapa en volym på 500 GB med 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 ändrar du -StorageTierFriendlyNames till *OnSSD.

Steg 3: Fortsätt i Administrationscenter för Windows

Volymer som använder inkapslad resiliens visas i Windows Admin Center med tydlig märkning, som i följande skärmbild. När de har skapats kan du hantera och övervaka dem med hjälp av Windows Admin Center precis som andra volymer i Storage Spaces Direct.

Volymhantering i Windows Administrationscenter.

Valfritt: Utöka till cacheenheter

Med sina standardinställningar skyddar kapslad redundans mot förlust av flera kapacitetsenheter samtidigt, eller en server och en kapacitetsenhet samtidigt. Om du vill utöka det här skyddet till cacheenheterfinns det ett annat att tänka på: eftersom cacheenheter ofta tillhandahåller läs- och skrivcachelagring för flera kapacitetsenheter är det enda sättet att se till att du kan tolerera förlust av en cacheenhet när den andra servern är nere är att inte cachelagra skrivningar, men det påverkar prestanda.

För att hantera det här scenariot erbjuder Storage Spaces Direct möjligheten att automatiskt inaktivera skrivcachelagring när en server i ett kluster med två servrar är nere och sedan återaktivera skrivcachelagring när servern är igång igen. 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 skrivcachelagring är inaktiverad, skrivs innehållet i skrivcachen till kapacitetsenheterna. 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.

Note

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:

Situation Cachebeteende Kan tolerera förlust av cacheenhet?
Båda servrarna är upp Cache läser och skriver, full prestanda Yes
Servern är nere, de första 30 minuterna Cache läser och skriver, full prestanda Nej (tillfälligt)
Efter de första 30 minuterna Endast cacheläsningar, prestanda påverkas Ja (när cachen har skrivits till kapacitetshårddiskar)

Vanliga frågor

Hitta svar på vanliga frågor om kapslad motståndskraft.

Kan jag konvertera en befintlig volym mellan dubbelriktad spegling och kapslad resiliens?

Nej, volymer kan inte konverteras mellan resilienstyper. För nya distributioner på Azure Local, Windows Server 2022 eller Windows Server 2019 bestämmer du i förväg vilken återhämtningstyp som passar bäst för 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 resiliens med flera typer av kapacitetsdiskar?

Ja, specificera bara -MediaType för varje nivå under steg 1 ovanför. Med NVMe, SSD och HDD i samma kluster tillhandahåller NVMe till exempel cache medan de två senare 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 endast på antalet hårddiskar 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 endast kapslad återhämtning om ditt kluster har precis 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 några). Detta ändras inte från Windows Server 2016. Det finns inget annat krav på kapslad återhämtning och rekommendationen för reservkapacitet är också oförändrad.

Påverkar nestad återhämtning hur enhetsbyte fungerar?

No.

Ändrar kapslad resiliens hur man byter ut servernoder?

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

  1. Ta ur bruk hårddiskarna 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