Feltolerans och lagringseffektivitet i Azure Stack HCI- och Windows Server-kluster
Gäller för: Azure Stack HCI, versionerna 22H2 och 21H2; Windows Server 2022, Windows Server 2019
Den här artikeln beskriver tillgängliga återhämtningsalternativ och beskriver skalningskrav, lagringseffektivitet och allmänna fördelar och kompromisser för var och en.
Överblick
Lagringsutrymmen Direkt ger feltolerans, som ofta kallas "resiliens", för dina data. Implementeringen liknar RAID, förutom distribuerad över servrar och implementerad i programvara.
Precis som med RAID finns det några olika sätt som lagringsutrymmen kan göra detta på, vilket gör olika kompromisser mellan feltolerans, lagringseffektivitet och beräkningskomplexitet. Dessa faller i stort sett i två kategorier: "spegling" och "paritet", den senare kallas ibland "raderingskodning".
Spegling
Spegling ger feltolerans genom att behålla flera kopior av alla data. Detta liknar RAID-1. Hur dessa data strimlas och placeras är inte trivialt (se denna blogg för mer information), men det är helt sant att säga att alla data som lagras med spegling skrivs i sin helhet flera gånger om. 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".
Tvåvägsspegel
Dubbelriktad spegling 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å maskinvarufeldomäner – med Storage Spaces 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.
Trevägsspegling
Trevägsspegling skapar tre spegelkopior av allt. Lagringseffektiviteten är 33,3 procent – för att kunna skriva 1 TB data behöver du minst 3 TB fysisk lagringskapacitet. På samma sätt behöver du minst tre maskinvarufeldomäner – med Storage Spaces Direct innebär det tre servrar.
Trevägsspegling kan säkert tolerera minst två maskinvaruproblem (enhet eller server) i taget. Om du till exempel startar om en server när plötsligt en annan enhet eller server misslyckas förblir alla data säkra och kontinuerligt tillgängliga.
Paritet
Paritetskodning, som ofta kallas "raderingskodning", ger feltolerans med bitvis aritmetik, vilket kan få anmärkningsvärt komplicerad. Sättet detta fungerar på är mindre uppenbart än spegling, och det finns många bra onlineresurser (till exempel denna tredje part Dummies Guide to Erasure Coding) som kan hjälpa dig att förstå konceptet. Det räcker med att säga att det ger bättre lagringseffektivitet utan att kompromissa med feltoleransen.
Lagringsutrymmen erbjuder två varianter av paritet – "enkel" paritet och "dubbel" paritet, den senare använder en avancerad teknik som kallas "lokala återuppbyggnadskoder" i större skala.
Viktig
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. Det liknar raid-5. Om du vill använda enkel paritetskontroll behöver du minst tre maskinvarufeldomäner – med Storage Spaces Direct innebär detta tre servrar. Eftersom trevägsspegling ger mer feltolerans i samma skala avråder vi från att använda enkel paritet. Men det finns där om du insisterar på att använda det, och det stöds fullt ut.
Varning
Vi avråder från att använda enkel paritet eftersom det bara på ett säkert sätt kan tolerera ett maskinvarufel i taget: om du startar om en server när plötsligt en annan enhet eller server misslyckas, kommer du att uppleva stilleståndstid. 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 felkorrigeringskoder för att behålla två bitvis 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 Storage Spaces Direct innebär det fyra servrar. I den skalan är lagringseffektiviteten 50% – för att lagra 2 TB data behöver du 4 TB fysisk lagringskapacitet.
Lagringseffektiviteten för dubbel paritet ökar ju fler maskinvarufeldomäner du har, från 50 procent upp till 80 procent. Vid sju (med Storage Spaces Direct, det vill säga sju serverar) ökar effektiviteten till 66,7 procent – för att lagra 4 TB data behöver du bara 6 TB fysisk lagringskapacitet.
Se avsnittet Sammanfattning för effektiviteten hos tvåpartskoder och lokala rekonstruktionskoder på alla nivåer.
Lokala återuppbyggnadskoder
Lagringsutrymmen introducerar en avancerad teknik som utvecklats av Microsoft Research som kallas "lokala återuppbyggnadskoder" eller LRC. På stor skala använder den dubbla pariteten LRC för att dela upp sin kodning/avkodning i några mindre grupper, för att minska de omkostnader som krävs för att skriva eller återhämta sig från fel.
Med hårddiskar (HDD) är gruppstorleken fyra symboler. med solid state-enheter (SSD) är gruppstorleken sex symboler. Så här ser layouten till exempel ut med hårddiskar och 12 maskinvarufeldomäner (vilket betyder 12 servrar) – det finns två grupper med fyra datasymboler. Det uppnår 72,7 procents lagringseffektivitet.
Vi rekommenderar denna djupgående men ändå ytterst läsbara genomgång av hur lokala återuppbyggnadskoder hanterar olika felscenarier och varför de tilltalarav Claus Joergensen.
Speglingsaccelererad paritet
En Storage Spaces Direct-volym kan vara delvis spegling och delvis paritet. Skriver land först i den speglade delen och flyttas gradvis till paritetsdelen senare. I själva verket använder spegling för att påskynda raderingskodningen.
Om du vill blanda trevägsspegling och dubbel paritet behöver du minst fyra feldomäner, vilket innebär fyra servrar.
Lagringseffektiviteten för speglingsaccelererad paritet ligger mellan vad du skulle få från att använda all spegling eller all paritet och beror på vilka proportioner du väljer.
Viktig
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 Lagringsdirigering, minimikraven för skalning för att använda varje typ, hur många fel varje typ kan tolerera och motsvarande lagringseffektivitet.
Återhämtningstyper
Motståndskraft | Feltolerans | Lagringseffektivitet |
---|---|---|
Dubbelriktad spegel | 1 | 50,0% |
Trevägsspegling | 2 | 33.3% |
Dubbel paritet | 2 | 50,0% – 80,0% |
Blandad | 2 | 33,3% – 80,0% |
Minimikrav för skalning
Motståndskraft | Minsta obligatoriska feldomäner |
---|---|
Dubbelriktad spegel | 2 |
Trevägsspegling | 3 |
Dubbel paritet | 4 |
Blandad | 4 |
Tips
Om du inte använder chassi- eller rackfeltoleransrefererar antalet feldomäner till antalet servrar. Antalet enheter i varje server påverkar inte vilka resilienstyper 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 dubbel paritet och lokala återuppbyggnadskoder 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 all-flash-implementeringar
Den här tabellen visar lagringseffektiviteten för dubbel paritet och lokala återuppbyggnadskoder i varje skala för all-flash-distributioner, som endast innehåller solid state-enheter (SSD). Paritetslayouten kan använda större gruppstorlekar och uppnå bättre lagringseffektivitet i en helt 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
Om du inte bara har två servrar rekommenderar vi att du använder trevägsspegling och/eller dubbel paritet, eftersom de ger bättre feltolerans. Specifikt ser de till att all data förblir säker och kontinuerligt tillgänglig även när två feldomäner – med Storage Spaces 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 har förlorats
- 4. Två enheter förlorade på olika servrar
- 5. Fler än två enheter har förlorats, så länge som högst två servrar påverkas
- 6. Två servrar förlorade
... i alla fall är alla volymer online. (Kontrollera att klustret har kvorum.)
Exempel där allt går offline
Under sin livslängd kan lagringsutrymmen tolerera valfritt antal fel, eftersom de återställs till fullständig återhämtning efter var och en, givet tillräckligt med tid. Högst två feldomäner kan dock säkert påverkas av fel vid varje given tidpunkt. Följande är därför exempel på vad trevägsspegling och/eller dubbel paritet inte kan tolerera.
- 7. Enheter som har förlorats i 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: