Fel tolerans och lagrings effektivitet i Azure Stack HCIFault tolerance and storage efficiency in Azure Stack HCI

Gäller för: Azure Stack HCI, version 20H2; Windows Server 2019Applies to: Azure Stack HCI, version 20H2; Windows Server 2019

Det här avsnittet beskriver de återhämtnings alternativ som finns i Lagringsdirigering och beskriver skalnings kraven, lagrings effektiviteten och de allmänna fördelarna och kompromisserna med var och en.This topic introduces the resiliency options available in Storage Spaces Direct and outlines the scale requirements, storage efficiency, and general advantages and tradeoffs of each. Den innehåller också några användnings anvisningar för att komma igång och refererar till några bra papper, Bloggar och ytterligare innehåll där du kan lära dig mer.It also presents some usage instructions to get you started, and references some great papers, blogs, and additional content where you can learn more.

Om du redan är bekant med lagrings utrymmen kanske du vill gå vidare till sammanfattnings avsnittet.If you are already familiar with Storage Spaces, you may want to skip to the Summary section.

ÖversiktOverview

I sitt hjärta är lagrings utrymmen att tillhandahålla fel tolerans, ofta kallat "återhämtning" för dina data.At its heart, Storage Spaces is about providing fault tolerance, often called "resiliency," for your data. Dess implementering liknar RAID, förutom att det distribueras mellan servrar och implementeras i program varan.Its implementation is similar to RAID, except distributed across servers and implemented in software.

Precis som med RAID finns det några olika sätt att lagrings utrymmen kan göra detta, vilket gör olika kompromisser mellan fel tolerans, lagrings effektivitet och beräknings komplexitet.As with RAID, there are a few different ways Storage Spaces can do this, which make different tradeoffs between fault tolerance, storage efficiency, and compute complexity. Dessa är i stort sett i två kategorier: "spegling" och "paritet", som ibland kallas "raderings kodning".These broadly fall into two categories: "mirroring" and "parity," the latter sometimes called "erasure coding."

SpeglingMirroring

Spegling ger fel tolerans genom att behålla flera kopior av alla data.Mirroring provides fault tolerance by keeping multiple copies of all data. Detta liknar RAID-1.This most closely resembles RAID-1. Hur dessa data är stripe och placerade är icke-triviala (se den här bloggen om du vill veta mer), men det är absolut sant att säga att alla data som lagras med spegling skrivs, i sin helhet, flera gånger.How that data is striped and placed is non-trivial (see this blog to learn more), but it is absolutely true to say that any data stored using mirroring is written, in its entirety, multiple times. Varje kopia skrivs till en annan fysisk maskin vara (olika enheter på olika servrar) som antas fungera oberoende av varandra.Each copy is written to different physical hardware (different drives in different servers) that are assumed to fail independently.

Lagrings utrymmen erbjuder två varianter-speglingar – "tvåvägs" och "tre vägs".Storage Spaces offers two flavors of mirroring – "two-way" and "three-way."

2-vägsspeglingTwo-way mirror

Dubbelriktad spegling skriver två kopior av allt.Two-way mirroring writes two copies of everything. Lagrings effektiviteten är 50 procent – om du vill skriva 1 TB data behöver du minst 2 TB fysisk lagrings kapacitet.Its storage efficiency is 50 percent – to write 1 TB of data, you need at least 2 TB of physical storage capacity. På samma sätt behöver du minst två maskin varu fel domäner – med Lagringsdirigering, det vill säga två servrar.Likewise, you need at least two hardware 'fault domains' – with Storage Spaces Direct, that means two servers.

dubbelriktad spegling

Varning

Om du har fler än två servrar rekommenderar vi att du använder tre-vägs spegling i stället.If you have more than two servers, we recommend using three-way mirroring instead.

3-vägsspeglingThree-way mirror

Trefas spegling skriver tre kopior av allt.Three-way mirroring writes three copies of everything. Lagrings effektiviteten är 33,3 procent – om du vill skriva 1 TB data måste du ha minst 3 TB fysisk lagrings kapacitet.Its storage efficiency is 33.3 percent – to write 1 TB of data, you need at least 3 TB of physical storage capacity. På samma sätt behöver du minst tre maskin varu fel domäner – med Lagringsdirigering, det vill säga tre servrar.Likewise, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers.

Trefas-spegling kan på ett säkert sätt tolerera minst två maskin varu problem (enhet eller server) itaget.Three-way mirroring can safely tolerate at least two hardware problems (drive or server) at a time. Om du till exempel startar om en server när en annan enhet eller server slutar fungera, förblir alla data säkra och ständigt tillgängliga.For example, if you're rebooting one server when suddenly another drive or server fails, all data remains safe and continuously accessible.

tre-vägs-Mirror

ParitetParity

Paritets kodning, som ofta kallas "radering-kodning", ger fel tolerans med bitvisa aritmetiska, vilket kan bli remarkably komplicerat.Parity encoding, often called "erasure coding," provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. Sättet detta fungerar är mindre uppenbart än spegling, och det finns många fantastiska onlineresurser (till exempel den här Dummies-guiden för att ta radering) som kan hjälpa dig att få en uppfattning.The way this works is less obvious than mirroring, and there are many great online resources (for example, this third-party Dummies Guide to Erasure Coding) that can help you get the idea. Det räcker med att säga att det ger bättre lagrings effektivitet utan att kompromissa med fel tolerans.Sufficed to say it provides better storage efficiency without compromising fault tolerance.

Lagrings utrymmen erbjuder två varianter paritet – "enkel" paritet och "dubbelriktad", som senare använder sig av en avancerad teknik som kallas "lokala återuppbyggnads koder" vid större skala.Storage Spaces offers two flavors of parity – "single" parity and "dual" parity, the latter employing an advanced technique called "local reconstruction codes" at larger scales.

Viktigt

Vi rekommenderar att du använder spegling för de flesta prestanda känsliga arbets belastningar.We recommend using mirroring for most performance-sensitive workloads. Om du vill veta mer om hur du balanserar prestanda och kapacitet beroende på din arbets belastning, se Planera volymer.To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Enkel paritetSingle parity

En enda paritet behåller bara en bitvis paritets symbol, som ger fel tolerans mot endast ett fel i taget.Single parity keeps only one bitwise parity symbol, which provides fault tolerance against only one failure at a time. Det liknar starkt RAID-5.It most closely resembles RAID-5. Om du vill använda en enda paritet behöver du minst tre maskin varu fel domäner – med Lagringsdirigering, vilket innebär tre servrar.To use single parity, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers. Eftersom den storskaliga speglingen ger större fel tolerans på samma skala, avråder vi användningen av en enda paritet.Because three-way mirroring provides more fault tolerance at the same scale, we discourage using single parity. Men det är där om du insistera att använda den och det stöds fullt ut.But, it's there if you insist on using it, and it is fully supported.

Varning

Vi avråder från att använda en enda paritet eftersom den bara kan tolerera ett maskin varu fel i taget: om du startar om en server när en annan enhet eller server kraschar, kommer du att uppleva stillestånds tid.We discourage using single parity because it can only safely tolerate one hardware failure at a time: if you're rebooting one server when suddenly another drive or server fails, you will experience downtime. Om du bara har tre servrar rekommenderar vi att du använder tre-vägs spegling.If you only have three servers, we recommend using three-way mirroring. Om du har fyra eller fler, se nästa avsnitt.If you have four or more, see the next section.

Dubbel paritetDual parity

Med dubbel paritet implementeras Reed-Solomon-felkorrigerings koder för att behålla två bitvisa paritets symboler, vilket ger samma fel tolerans som trefas (t. ex. upp till två fel på en gång), men med bättre lagrings effektivitet.Dual parity implements Reed-Solomon error-correcting codes to keep two bitwise parity symbols, thereby providing the same fault tolerance as three-way mirroring (i.e. up to two failures at once), but with better storage efficiency. Det liknar starkt RAID-6.It most closely resembles RAID-6. Om du vill använda Dual paritet behöver du minst fyra maskin varu fel domäner – med Lagringsdirigering, vilket innebär fyra servrar.To use dual parity, you need at least four hardware fault domains – with Storage Spaces Direct, that means four servers. Vid denna skala är lagrings effektiviteten 50% – för att lagra 2 TB data behöver du 4 TB fysisk lagrings kapacitet.At that scale, the storage efficiency is 50% – to store 2 TB of data, you need 4 TB of physical storage capacity.

Dual-paritet

Lagrings effektiviteten för dubbel paritet ökar antalet maskin varu fel domäner som du har, från 50 procent upp till 80 procent.The storage efficiency of dual parity increases the more hardware fault domains you have, from 50 percent up to 80 percent. Till exempel, med sju (med Lagringsdirigering, det vill säga sju servrar) effektiviteten går till 66,7 procent – för att lagra 4 TB data behöver du bara 6 TB fysisk lagrings kapacitet.For example, at seven (with Storage Spaces Direct, that means seven servers) the efficiency jumps to 66.7 percent – to store 4 TB of data, you need just 6 TB of physical storage capacity.

Dual-paritet – bred

I avsnittet Sammanfattning visas effektiviteten hos dubbla parter och lokala återställnings koder i varje skala.See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.

Lokala återuppbyggnads koderLocal reconstruction codes

Lagrings utrymmen introducerar en avancerad teknik som har utvecklats av Microsoft Research som kallas "lokala återuppbyggnads koder" eller LRC.Storage Spaces introduces an advanced technique developed by Microsoft Research called "local reconstruction codes," or LRC. Vid stor skala använder dubbel paritet LRC för att dela sin kodning/avkodning i några mindre grupper, för att minska den omkostnader som krävs för att göra skrivningar eller återställa från fel.At large scale, dual parity uses LRC to split its encoding/decoding into a few smaller groups, to reduce the overhead required to make writes or recover from failures.

Med hård diskar (HDD) är grupp storleken fyra symboler; med solid state-hårddiskar (SSD) är grupp storleken sex symboler.With hard disk drives (HDD) the group size is four symbols; with solid-state drives (SSD), the group size is six symbols. Till exempel så här ser layouten ut på hård diskar och 12 maskin varu fel domäner (d.v.s. 12 servrar) – det finns två grupper av fyra data symboler.For example, here's what the layout looks like with hard disk drives and 12 hardware fault domains (meaning 12 servers) – there are two groups of four data symbols. Den uppnår lagrings effektiviteten på 72,7 procent.It achieves 72.7 percent storage efficiency.

lokala återuppbyggnads koder

Vi rekommenderar att du har en djupare och mer eminently läsbar genom gång av hur lokala återuppbyggnads koder hanterar olika fel scenarier och varför de kan överklaga, av vår egna Claus-Joergensen.We recommend this in-depth yet eminently readable walk-through of how local reconstruction codes handle various failure scenarios, and why they're appealing, by our very own Claus Joergensen.

Spegling – accelererad paritetMirror-accelerated parity

En Lagringsdirigering volym kan vara del av speglings-och del paritet.A Storage Spaces Direct volume can be part mirror and part parity. Skriver marken först i den speglade delen och flyttas gradvis till paritets delen senare.Writes land first in the mirrored portion and are gradually moved into the parity portion later. I praktiken används spegling för att påskynda raderings kodningen.Effectively, this is using mirroring to accelerate erasure coding.

För att blanda tre-vägs spegling och dubbel paritet behöver du minst fyra fel domäner, vilket innebär fyra servrar.To mix three-way mirror and dual parity, you need at least four fault domains, meaning four servers.

Lagrings effektiviteten för spegel accelererad paritet är i mellan vad du kommer att få från att använda alla speglingar eller alla pariteter, och detta beror på vilka proportioner du väljer.The storage efficiency of mirror-accelerated parity is in between what you'd get from using all mirror or all parity, and depends on the proportions you choose. Demonstrationen vid 37-minuten-märket i den här presentationen visar till exempel olika mixer som når 46 procent, 54 procent och 65 procents effektivitet med 12 servrar.For example, the demo at the 37-minute mark of this presentation shows various mixes achieving 46 percent, 54 percent, and 65 percent efficiency with 12 servers.

Viktigt

Vi rekommenderar att du använder spegling för de flesta prestanda känsliga arbets belastningar.We recommend using mirroring for most performance-sensitive workloads. Om du vill veta mer om hur du balanserar prestanda och kapacitet beroende på din arbets belastning, se Planera volymer.To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

SammanfattningSummary

I det här avsnittet sammanfattas de återhämtnings typer som är tillgängliga i Lagringsdirigering, minimi kraven för skala för att använda varje typ, hur många fel som varje typ kan tolerera och motsvarande lagrings effektivitet.This section summarizes the resiliency types available in Storage Spaces Direct, the minimum scale requirements to use each type, how many failures each type can tolerate, and the corresponding storage efficiency.

Återhämtnings typerResiliency types

ÅterhämtningResiliency FeltoleransFailure tolerance Lagrings effektivitetStorage efficiency
2-vägsspeglingTwo-way mirror 11 50,0%50.0%
3-vägsspeglingThree-way mirror 22 33,3%33.3%
Dubbel paritetDual parity 22 50,0% – 80,0%50.0% - 80.0%
BlandatMixed 22 33,3% – 80,0%33.3% - 80.0%

Krav för minimal skalaMinimum scale requirements

ÅterhämtningResiliency Minsta antal fel domäner som krävsMinimum required fault domains
2-vägsspeglingTwo-way mirror 22
3-vägsspeglingThree-way mirror 33
Dubbel paritetDual parity 44
BlandatMixed 44

Tips

Om du inte använder chassi-eller rack Fels toleransenrefererar antalet fel domäner till antalet servrar.Unless you are using chassis or rack fault tolerance, the number of fault domains refers to the number of servers. Antalet enheter i varje server påverkar inte vilka återhämtnings typer du kan använda, förutsatt att du uppfyller minimi kraven för Lagringsdirigering.The number of drives in each server does not affect which resiliency types you can use, as long as you meet the minimum requirements for Storage Spaces Direct.

Dubbel paritets effektivitet för Hybrid distributionerDual parity efficiency for hybrid deployments

Den här tabellen visar lagrings effektiviteten för dubbel paritet och lokala återuppbyggnads koder i varje skala för Hybrid distributioner som innehåller både hårddisk enheter (HDD) och solid-state-hårddiskar (SSD).This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for hybrid deployments which contain both hard disk drives (HDD) and solid-state drives (SSD).

FeldomänerFault domains LayoutLayout EffektivitetEfficiency
22
33
44 RS 2 + 2RS 2+2 50,0%50.0%
55 RS 2 + 2RS 2+2 50,0%50.0%
66 RS 2 + 2RS 2+2 50,0%50.0%
77 RS 4 + 2RS 4+2 66,7%66.7%
88 RS 4 + 2RS 4+2 66,7%66.7%
99 RS 4 + 2RS 4+2 66,7%66.7%
1010 RS 4 + 2RS 4+2 66,7%66.7%
1111 RS 4 + 2RS 4+2 66,7%66.7%
1212 LRC (8, 2, 1)LRC (8, 2, 1) 72,7%72.7%
1313 LRC (8, 2, 1)LRC (8, 2, 1) 72,7%72.7%
1414 LRC (8, 2, 1)LRC (8, 2, 1) 72,7%72.7%
1515 LRC (8, 2, 1)LRC (8, 2, 1) 72,7%72.7%
1616 LRC (8, 2, 1)LRC (8, 2, 1) 72,7%72.7%

Dubbel paritets effektivitet för alla-Flash-distributionerDual parity efficiency for all-flash deployments

Den här tabellen visar lagrings effektiviteten för dubbel paritet och lokala återuppbyggnads koder i varje skala för alla-Flash-distributioner som bara innehåller solid-state-enheter (SSD).This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for all-flash deployments which contain only solid-state drives (SSD). Paritets layouten kan använda större grupp storlekar och uppnå bättre lagrings effektivitet i en all-Flash-konfiguration.The parity layout can use larger group sizes and achieve better storage efficiency in an all-flash configuration.

FeldomänerFault domains LayoutLayout EffektivitetEfficiency
22
33
44 RS 2 + 2RS 2+2 50,0%50.0%
55 RS 2 + 2RS 2+2 50,0%50.0%
66 RS 2 + 2RS 2+2 50,0%50.0%
77 RS 4 + 2RS 4+2 66,7%66.7%
88 RS 4 + 2RS 4+2 66,7%66.7%
99 RS 6 + 2RS 6+2 75,0%75.0%
1010 RS 6 + 2RS 6+2 75,0%75.0%
1111 RS 6 + 2RS 6+2 75,0%75.0%
1212 RS 6 + 2RS 6+2 75,0%75.0%
1313 RS 6 + 2RS 6+2 75,0%75.0%
1414 RS 6 + 2RS 6+2 75,0%75.0%
1515 RS 6 + 2RS 6+2 75,0%75.0%
1616 LRC (12, 2, 1)LRC (12, 2, 1) 80,0%80.0%

ExempelExamples

Om du bara har två servrar, rekommenderar vi att du använder tre-vägs spegling och/eller dubbla paritet, eftersom de erbjuder bättre fel tolerans.Unless you have only two servers, we recommend using three-way mirroring and/or dual parity, because they offer better fault tolerance. De säkerställer särskilt att alla data förblir säkra och kontinuerligt tillgängliga även när två fel domäner – med Lagringsdirigering, vilket innebär att två servrar-påverkas av samtidiga fel.Specifically, they ensure that all data remains safe and continuously accessible even when two fault domains – with Storage Spaces Direct, that means two servers - are affected by simultaneous failures.

Exempel där allt är onlineExamples where everything stays online

I de här sex exemplen visas vilka tre vägs speglingar och/eller dubbla paritets åtgärder som kan tolereras.These six examples show what three-way mirroring and/or dual parity can tolerate.

  • 1. en förlorad enhet (inklusive cache-enheter)1. One drive lost (includes cache drives)
  • 2. en server har försvunnit2. One server lost

fel tolerans-exempel-1-och-2

  • 3. en server och en enhet förlorad3. One server and one drive lost
  • 4. två enheter går förlorade på olika servrar4. Two drives lost in different servers

fel tolerans-exempel-3-och-4

  • 5. fler än två enheter förloras, så länge högst två servrar påverkas5. More than two drives lost, so long as at most two servers are affected
  • 6. två förlorade servrar6. Two servers lost

fel tolerans – exempel – 5-och-6

... i varje fall förblir alla volymer online....in every case, all volumes will stay online. (Se till att klustret upprätthåller kvorum.)(Make sure your cluster maintains quorum.)

Exempel där allt går offlineExamples where everything goes offline

Under sin livs längd kan lagrings utrymmen tolerera ett obegränsat antal haverier, eftersom den återställer till full återhämtning efter var och en, tillräckligt lång tid.Over its lifetime, Storage Spaces can tolerate any number of failures, because it restores to full resiliency after each one, given sufficient time. Men högst två fel domäner kan på ett säkert sätt påverkas av fel vid ett givet tillfälle.However, at most two fault domains can safely be affected by failures at any given moment. Följande är därför exempel på hur trefas-spegling och/eller dubbel paritet inte kan tolerera.The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.

  • 7. enheter går förlorade på tre eller flera servrar på samma gång7. Drives lost in three or more servers at once
  • 8. tre eller flera servrar förlorade samtidigt8. Three or more servers lost at once

fel tolerans – exempel – 7-och-8

AnvändningUsage

Ta en titt på skapa volymer.Check out Create volumes.

Nästa stegNext steps

Mer information om ämnen som nämns i den här artikeln finns i följande avsnitt:For further reading on subjects mentioned in this article, see the following: