Feltolerans och lagringseffektivitet på Azure Stack HCI och Windows Server-kluster
Gäller för: Azure Stack HCI, versionerna 21H2 och 20H2; Windows Server 2022, Windows Server 2019
Den här artikeln beskriver tillgängliga återhämtningsalternativ och beskriver skalningskrav, lagringseffektivitet samt allmänna fördelar och kompromisser för var och en.
Översikt
Lagringsutrymmen Direct ger feltolerans, som ofta kallas "återhämtning", för dina data. Implementeringen liknar RAID, förutom att den distribueras mellan servrar och implementeras i programvara.
Precis som med RAID finns det några olika sätt Lagringsutrymmen kan göra detta, vilket gör olika avvägningar mellan feltolerans, lagringseffektivitet och beräkningskomplexitet. Dessa kan delas in i två kategorier: "spegling" och "paritet", den senare kallas ibland "raderingskodning".
Spegling
Spegling ger feltolerans genom att ha flera kopior av alla data. Detta liknar RAID-1. Hur dessa data strimlades och placeras är icke-trivialt (se den här bloggen för att lära dig mer), men det är absolut sant att alla data som lagras med spegling skrivs i sin helhet flera gånger. Varje kopia skrivs till olika fysiska maskinvara (olika enheter på olika servrar) som antas misslyckas oberoende av varandra.
Du kan välja mellan två varianter av spegling – "tvåvägs" och "trevägs".
2-vägsspegling
Tvåvägsspegling skriver två kopior av allt. Lagringseffektiviteten är 50 procent – för att skriva 1 TB data behöver du minst 2 TB fysisk lagringskapacitet. På samma sätt behöver du minst två maskinvarudomäner – med Lagringsutrymmen Direct innebär det två servrar.

Varning
Om du har fler än två servrar rekommenderar vi att du använder trevägsspegling i stället.
3-vägsspegling
Trevägsspegling skriver tre kopior av allt. Lagringseffektiviteten är 33,3 procent – för att skriva 1 TB data behöver du minst 3 TB fysisk lagringskapacitet. På samma sätt behöver du minst tre maskinvarufeldomäner – med Lagringsutrymmen Direct innebär det tre servrar.
Trevägsspegling kan tolerera minst två maskinvaruproblem (enhet eller server) i tagetpå ett säkert sätt. Om du till exempel startar om en server när plötsligt en annan enhet eller server slutar fungera förblir alla data säkra och kan nås kontinuerligt.

Paritet
Paritetskodning, som ofta kallas "utplåningskodning", ger feltolerans med hjälp av bitvis aritmetik, vilket kan bli mycket komplicerat. Det här är mindre uppenbart än spegling och det finns många bra onlineresurser (till exempel den här dummies-guidenfrån tredje part för att radera kodning) som kan hjälpa dig att få idén. Det räcker med att säga att det ger bättre lagringseffektivitet utan att kompromissa med feltoleransen.
Lagringsutrymmen två varianter av paritet – "enkel" paritet och "dubbel" paritet, använder den senare en avancerad teknik som kallas "lokala reningskoder" i större skala.
Viktigt
Vi rekommenderar att du använder spegling för de flesta prestandakänsliga arbetsbelastningar. Mer information om hur du balanserar prestanda och kapacitet beroende på din arbetsbelastning finns i Planera volymer.
Enkel paritet
Enkel paritet behåller bara en bitvis paritetssymbol, vilket ger feltolerans mot endast ett fel i taget. Den liknar raid-5 mest. Om du vill använda enkel paritet behöver du minst tre maskinvarufeldomäner – med Lagringsutrymmen Direct innebär det tre servrar. Eftersom trevägsspegling ger mer feltolerans i samma skala rekommenderar vi inte att du använder enkel paritet. Men det finns där om du vill använda det, och det stöds fullt ut.
Varning
Vi avråder från att använda enkel paritet eftersom den bara tolererar ett maskinvarufel i taget på ett säkert sätt: om du startar om en server när plötsligt en annan enhet eller server slutar fungera kommer du att uppleva driftstopp. Om du bara har tre servrar rekommenderar vi att du använder trevägsspegling. Om du har fyra eller fler kan du läsa nästa avsnitt.
Dubbel paritet
Dubbel paritet implementerar Reed-Solomon felrepareringskoder för att behålla två bitvisa paritetssymboler, vilket ger samma feltolerans som trevägsspegling (dvs. upp till två fel samtidigt), men med bättre lagringseffektivitet. Den liknar raid-6 mest. Om du vill använda dubbel paritet behöver du minst fyra maskinvarufeldomäner – med Lagringsutrymmen Direct innebär det fyra servrar. I den här skalan är lagringseffektiviteten 50 % – för att lagra 2 TB data behöver du 4 TB fysisk lagringskapacitet.

Lagringseffektiviteten med dubbel paritet ökar ju fler maskinvarufeldomäner du har, från 50 procent upp till 80 procent. Vid sju (med Lagringsutrymmen Direct innebär det till exempel sju servrar) att effektiviteten ökar till 66,7 procent – för att lagra 4 TB data behöver du bara 6 TB fysisk lagringskapacitet.

I avsnittet Sammanfattning kan du se hur effektiva dubbla och lokala koder för rekonstruering är i varje skala.
Lokala koder för resning
Lagringsutrymmen introducerar en avancerad teknik som utvecklats av Microsoft Research och som kallas "lokala koder för kodning" eller LRC. I stor skala använder dubbel paritet LRC för att dela upp kodning/avkodning i några mindre grupper, för att minska det arbete som krävs för att göra skrivningar eller återställa från fel.
Med hårddiskar (HDD) är gruppstorleken fyra symboler: med SSD(Solid State Drives) är gruppstorleken sex symboler. Så här ser layouten till exempel ut med hårddiskar och 12 maskinvarufeldomäner (vilket innebär 12 servrar) – det finns två grupper med fyra datasymboler. Det ger en lagringseffektivitet på 72,7 procent.

Vi rekommenderar den här djupgående men ändå eminent läsbara genomgången av hur lokala kodningskoder hanterar olika felscenarier ochvarför de är tilltalande , av Claus Joegensen.
Speglad paritet
En Lagringsutrymmen Direct-volym kan vara en del spegling och delparitet. Skrivningar hamnar först i den speglade delen och flyttas gradvis till paritetsdelen senare. Detta använder i praktiken spegling för att påskynda utplåningskodning.
Om du vill blanda trevägsspegling och dubbel paritet behöver du minst fyra feldomäner, vilket innebär fyra servrar.
Lagringseffektiviteten för speglad paritet ligger mellan vad du får ut av att använda all spegling eller all paritet, och beror på vilka proportioner du väljer. Till exempel visar demonstrationen på 37-minutersmarkeringen i den här presentationen olika blandningar som uppnår 46 procent, 54 procent och 65 procents effektivitet med 12 servrar.
Viktigt
Vi rekommenderar att du använder spegling för de flesta prestandakänsliga arbetsbelastningar. Mer information om hur du balanserar prestanda och kapacitet beroende på din arbetsbelastning finns i Planera volymer.
Sammanfattning
I det här avsnittet sammanfattas de återhämtningstyper som är tillgängliga i Lagringsutrymmen Direct, minimikraven för skalning för att använda varje typ, hur många fel varje typ kan tolerera och motsvarande lagringseffektivitet.
Återhämtningstyper
| Återhämtning | Feltolerans | Storage effektivitet |
|---|---|---|
| 2-vägsspegling | 1 | 50.0% |
| 3-vägsspegling | 2 | 33.3% |
| Dubbel paritet | 2 | 50.0% - 80.0% |
| Blandat | 2 | 33.3% - 80.0% |
Minsta skalningskrav
| Återhämtning | Minsta nödvändiga feldomäner |
|---|---|
| 2-vägsspegling | 2 |
| 3-vägsspegling | 3 |
| Dubbel paritet | 4 |
| Blandat | 4 |
Tips
Om du inte använder feltolerans för chassieller rack avser antalet feldomäner antalet servrar. Antalet enheter på varje server påverkar inte vilka återhämtningstyper du kan använda, så länge du uppfyller minimikraven för Lagringsutrymmen Direct.
Dubbel paritetseffektivitet för hybriddistributioner
Den här tabellen visar lagringseffektiviteten för dubbla paritetskoder och lokala rekonstrueringskoder i varje skala för hybriddistributioner som innehåller både hårddiskar (HDD) och SSD(Solid State Drives).
| Feldomäner | Layout | Effektivitet |
|---|---|---|
| 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% |
Dubbel paritetseffektivitet för alla flash-distributioner
Den här tabellen visar lagringseffektiviteten för dubbla paritetskoder och lokala rekonstrueringskoder i varje skala för alla flash-distributioner som endast innehåller SSD(Solid State Drives). Paritetslayouten kan använda större gruppstorlekar och uppnå bättre lagringseffektivitet i en flash-konfiguration.
| Feldomäner | Layout | Effektivitet |
|---|---|---|
| 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% |
Exempel
Såvida du inte bara har två servrar rekommenderar vi att du använder trevägsspegling och/eller dubbel paritet, eftersom de ger bättre feltolerans. Mer specifikt säkerställer de att alla data förblir säkra och kontinuerligt tillgängliga även när två feldomäner – med Lagringsutrymmen Direct, det vill säga två servrar – påverkas av samtidiga fel.
Exempel där allt förblir online
Dessa sex exempel visar vad trevägsspegling och/eller dubbel paritet kan tolerera.
- 1. En enhet har förlorats (inklusive cacheenheter)
- 2. En server har förlorats

- 3. En server och en enhet förlorade
- 4. Två enheter som förlorats på olika servrar

- 5. Fler än två enheter förloras, så länge som högst två servrar påverkas
- 6. Två servrar förlorade

... I samtliga fall förblir alla volymer online. (Kontrollera att klustret har kvorum.)
Exempel där allt går offline
Under livslängden kan Lagringsutrymmen tolerera val av antal fel, eftersom den återställs till fullständig återhämtning efter varje fel, med tillräckligt med tid. Högst två feldomäner kan dock påverkas av fel vid en viss tidpunkt. Följande är därför exempel på vad trevägsspegling och/eller dubbel paritet inte tolererar.
- 7. Enheter som förlorats på tre eller flera servrar samtidigt
- 8. Tre eller flera servrar förlorade samtidigt

Användning
Kolla in Skapa volymer.
Nästa steg
Mer information om ämnen som nämns i den här artikeln finns i följande: