Falha de tolerância e eficiência de armazenamento em Espaços de Armazenamento DiretosFault tolerance and storage efficiency in Storage Spaces Direct

Aplica-se a: Windows Server 2016Applies To: Windows Server 2016

Este tópico apresenta as opções de resiliência disponíveis nos Espaços de Armazenamento Diretos e descreve os requisitos de escala, a eficiência de armazenamento e as vantagens e desvantagens em geral de cada um.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. Ele também apresenta algumas instruções de uso para começar e faz referência a alguns excelentes documentos, blogs e conteúdo adicional, nos quais você pode obter mais informações.It also presents some usage instructions to get you started, and references some great papers, blogs, and additional content where you can learn more.

Se você já estiver familiarizado com os Espaços de Armazenamento, passe para a seção Resumo.If you are already familiar with Storage Spaces, you may want to skip to the Summary section.

Visão geralOverview

Basicamente, os Espaços de Armazenamento dizem respeito ao fornecimento de tolerância, geralmente chamada 'resiliência', para seus dados.At its heart, Storage Spaces is about providing fault tolerance, often called 'resiliency', for your data. Sua implementação é semelhante ao RAID, mas é distribuído em vários servidores e implementado no software.Its implementation is similar to RAID, except distributed across servers and implemented in software.

Assim como ocorre com o RAID, há algumas maneiras diferentes pelas quais os Espaços de Armazenamento podem fazer isso, que tornam as compensações diferentes entre tolerância padrão, eficiência de armazenamento e a complexidade de computação.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. Elas estão amplamente agrupadas em duas categorias: 'espelhamento' e 'paridade', a última às vezes é chamada de 'codificação de eliminação'.These broadly fall into two categories: 'mirroring' and 'parity', the latter sometimes called 'erasure coding'.

EspelhamentoMirroring

O espelhamento fornece tolerância a falhas por manter várias cópias de todos os dados.Mirroring provides fault tolerance by keeping multiple copies of all data. Isso é mais parecido com RAID-1.This most closely resembles RAID-1. A maneira pela qual esses dados são distribuídos e colocados não é comum, (consulte este blog para saber mais), mas é absolutamente verdade dizer que todos os dados armazenados que usam o espelhamento são gravados em sua totalidade várias vezes.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. Cada cópia é gravada em um hardware físico diferente (unidades diferentes em servidores diferentes) que supostamente falhariam de forma independente.Each copy is written to different physical hardware (different drives in different servers) that are assumed to fail independently.

No Windows Server 2016, os Espaços de Armazenamento oferecem dois tipos de espelhamento: 'duas vias' e 'três vias'.In Windows Server 2016, Storage Spaces offers two flavors of mirroring – 'two-way' and 'three-way'.

Espelho duploTwo-way mirror

O espelhamento bidirecional grava duas cópias de tudo.Two-way mirroring writes two copies of everything. A eficiência de armazenamento é de 50% – para gravar 1 TB de dados, é necessário ter pelo menos 2 TB de capacidade de armazenamento físico.Its storage efficiency is 50% – to write 1 TB of data, you need at least 2 TB of physical storage capacity. Da mesma forma, você precisa de pelo menos dois 'domínios de falha' de hardware – com Espaços de Armazenamento Diretos, e isso significa dois servidores.Likewise, you need at least two hardware 'fault domains' – with Storage Spaces Direct, that means two servers.

espelhamento bidirecional

Aviso

Se você tiver mais de dois servidores, recomendamos usar espelhamento de três vias.If you have more than two servers, we recommend using three-way mirorring instead.

Espelhamento triploThree-way mirror

O espelhamento triplo grava três cópias de tudo.Three-way mirroring writes three copies of everything. A eficiência de armazenamento é de 33,3% – para gravar 1 TB de dados, é necessário ter pelo menos 3 TB de capacidade de armazenamento físico.Its storage efficiency is 33.3% – to write 1 TB of data, you need at least 3 TB of physical storage capacity. Da mesma forma, você precisa de pelo menos três domínios de falha de hardware – com Espaços de Armazenamento Diretos, e isso significa três servidores.Likewise, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers.

O espelhamento de três vias pode tolerar com segurança pelo menos dois problemas de hardware (unidade ou servidor) por vez.Three-way mirroring can safely tolerate at least two hardware problems (drive or server) at a time. Por exemplo, se você estiver reiniciando um servidor quando, de repente, outra unidade ou servidor falhar, todos os dados permanecem seguros e continuamente acessíveis.For example, if you're rebooting one server when suddenly another drive or server fails, all data remains safe and continuously accessible.

espelhamento triplo

ParidadeParity

A codificação de paridade, geralmente chamada de 'codificação de eliminação', oferece a tolerância a falhas usando a aritmética bit a bit, que pode se tornar notavelmente complicada.Parity encoding, often called 'erasure coding', provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. A maneira como isso funciona é menos óbvia que o espelhamento, e há muitos recursos online excelentes (por exemplo, este Guia para Iniciantes na Codificação de Eliminação) de terceiros que pode ajudá-lo a ter uma ideia.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. Basta dizer que fornece melhor eficiência de armazenamento sem comprometer a tolerância a falhas.Sufficed to say it provides better storage efficiency without compromising fault tolerance.

No Windows Server 2016, os Espaços de Armazenamento oferecem dois tipos de paridade, a paridade 'única' e a paridade 'dupla', sendo que a última emprega uma técnica avançada chamada 'códigos de reconstrução local' em escalas maiores.In Windows Server 2016, 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.

Importante

É recomendado usar o espelhamento para a maioria das cargas de trabalho de detecção de desempenho.We recommend using mirroring for most performance-sensitive workloads. Para saber mais sobre como equilibras o desempenho e a capacidade de acordo com sua carga de trabalho, consulte Planejar volumes.To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Paridade únicaSingle parity

A paridade única mantém apenas um símbolo de paridade bit a bit, que fornece tolerância a falhas contra apenas uma falha de cada vez.Single parity keeps only one bitwise parity symbol, which provides fault tolerance against only one failure at a time. Isso é mais parecido com o RAID-5.It most closely resembles RAID-5. Para usar a paridade única, você precisa de pelo menos três domínios de falha de hardware – com Espaços de Armazenamento Diretos, e isso significa três servidores.To use single parity, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers. Como o espelhamento triplo fornece mais tolerância a falhas na mesma escala, não incentivamos o uso da paridade única.Because three-way mirroring provides more fault tolerance at the same scale, we discourage using single parity. Porém, ela está lá se você insistir em usá-la, e é totalmente compatível.But, it's there if you insist on using it, and it is fully supported.

Aviso

Não incentivamos o uso da paridade única porque ela só pode tolerar com segurança uma falha de hardware por vez. Se você estiver reiniciando um servidor quando repentinamente outra unidade ou servidor falha, você terá um tempo de inatividade.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. Se você tiver apenas três servidores, recomendamos usar o espelhamento triplo.If you only have three servers, we recommend using three-way mirroring. Se você tem quatro ou mais, consulte a próxima seção.If you have four or more, see the next section.

Paridade duplaDual parity

A paridade dupla implementa códigos de correção Reed-Solomon para manter os dois símbolos de paridade bit a bit, oferecendo assim a mesma tolerância a falhas que o espelhamento triplo (ou seja, até duas falhas de uma só vez), mas com mais eficiência de armazenamento.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. Isso é mais parecido com o RAID-6.It most closely resembles RAID-6. Para usar a paridade dupla, você precisa de pelo menos quatro domínios de falha de hardware – com Espaços de Armazenamento Diretos, e isso significa quatro servidores.To use dual parity, you need at least four hardware fault domains – with Storage Spaces Direct, that means four servers. Nessa escala, a eficiência de armazenamento é de 50% – para armazenar 2 TB de dados, você precisa de 4 TB de capacidade de armazenamento físico.At that scale, the storage efficiency is 50% – to store 2 TB of data, you need 4 TB of physical storage capacity.

paridade dupla

A eficiência de armazenamento de paridade dupla aumenta à medida que você tem mais domínios de falha de hardware, de 50% até 80%.The storage efficiency of dual parity increases the more hardware fault domains you have, from 50% up to 80%. Por exemplo, com sete (com Espaços de Armazenamento Diretos, isso significa sete servidores), a eficiência pula para 66,7% – para armazenar 4 TB de dados, você precisa apenas de 6 TB de capacidade de armazenamento físico.For example, at seven (with Storage Spaces Direct, that means seven servers) the efficiency jumps to 66.7% – to store 4 TB of data, you need just 6 TB of physical storage capacity.

dual-parity-wide

Consulte a seção Resumo para a eficiência de códigos de reconstrução local e de paridade dupla em cada escala.See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.

Códigos de reconstrução localLocal reconstruction codes

Os Espaços de Armazenamento no Windows Server 2016 apresentam uma técnica avançada desenvolvida pela Microsoft Research chamada de 'códigos de reconstrução local' ou LRC.Storage Spaces in Windows Server 2016 introduces an advanced technique developed by Microsoft Research called 'local reconstruction codes', or LRC. Em grande escala, a paridade dupla usa o LRC para dividir sua codificação/decodificação em alguns grupos menores para reduzir a sobrecarga necessária para fazer gravações ou recuperar-se de falhas.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.

Com unidades de disco rígido (HDD), o tamanho do grupo é de quatro símbolos; com unidades de estado sólido (SSD), o tamanho do grupo é de seis símbolos.With hard disk drives (HDD) the group size is four symbols; with solid-state drives (SSD), the group size is six symbols. Por exemplo, veja a aparência do layout com unidades de disco rígido e 12 domínios de falha de hardware (ou seja, 12 servidores) – há dois grupos de quatro símbolos de dados.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. Ele atinge eficiência de armazenamento de 72,7%.It achieves 72.7% storage efficiency.

local-reconstruction-codes

Recomendamos esta instrução passo a passo sobre como os códigos de reconstrução local lidam com diversos cenários de falhas e por que são atraentes de 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.

Paridade acelerada por espelhoMirror-accelerated parity

A partir do Windows Server 2016, um volume de Espaços de Armazenamento Diretos pode ser parte espelho e parte paridade.Beginning in Windows Server 2016, a Storage Spaces Direct volume can be part mirror and part parity. As gravações são feitas primeiro na parte espelhada e, depois, são gradualmente movidas para a parte de paridade.Writes land first in the mirrored portion and are gradually moved into the parity portion later. Na verdade, isso usa o espelhamento para acelerar a codificação de eliminação.Effectively, this is using mirroring to accelerate erasure coding.

Para misturar o espelhamento triplo e a paridade dupla, você precisa de pelo menos quatro domínios de falha, significando quatro servidores.To mix three-way mirror and dual parity, you need at least four fault domains, meaning four servers.

A eficiência de armazenamento de paridade acelerada por espelho está entre o que você obteria usando apenas espelhamento ou apenas paridade e depende das proporções que você escolher.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. Por exemplo, a demonstração na marca de 37 minutos desta apresentação mostra várias combinações atingindo 46%, 54% e 65% de eficiência com 12 servidores.For example, the demo at the 37-minute mark of this presentation shows various mixes achieving 46%, 54%, and 65% efficiency with 12 servers.

Importante

É recomendado usar o espelhamento para a maioria das cargas de trabalho de detecção de desempenho.We recommend using mirroring for most performance-sensitive workloads. Para saber mais sobre como equilibras o desempenho e a capacidade de acordo com sua carga de trabalho, consulte Planejar volumes.To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

ResumoSummary

Esta seção resume os tipos de resiliência disponíveis em Espaços de Armazenamento Diretos, os requisitos de escala mínimos para usar cada tipo, quantas falhas cada tipo pode tolerar e a eficiência de armazenamento correspondente.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.

Tipos de resiliênciaResiliency types

ResiliênciaResiliency Tolerância a falhasFailure tolerance Eficiência de armazenamentoStorage efficiency
Espelho duploTwo-way mirror 11 50.0%50.0%
Espelhamento triploThree-way mirror 22 33,3%33.3%
Paridade duplaDual parity 22 50,0% - 80,0%50.0% - 80.0%
MistoMixed 22 33,3% - 80,0%33.3% - 80.0%

Requisitos mínimos de escalaMinimum scale requirements

ResiliênciaResiliency Mínimo necessário de domínios de falhaMinimum required fault domains
Espelho duploTwo-way mirror 22
Espelhamento triploThree-way mirror 33
Paridade duplaDual parity 44
MistoMixed 44

Dica

A menos que você esteja usando tolerância a falhas em chassis ou rack, o número de domínios com falha se refere ao número de servidores.Unless you are using chassis or rack fault tolerance, the number of fault domains refers to the number of servers. O número de unidades em cada servidor não afeta quais tipos de resiliência, você pode usar, desde que atenda aos requisitos mínimos de Espaços de Armazenamento Diretos.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.

Eficiência de paridade dupla para implantações híbridasDual parity efficiency for hybrid deployments

Esta tabela mostra a eficiência de armazenamento de paridade dual e códigos de reconstrução locais em cada escala para implantações híbridas que contenham unidades de disco rígido (HDD) e unidades de estado sólido (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).

Domínios de falhasFault domains LayoutLayout EficiênciaEfficiency
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,772.7%
1313 LRC (8, 2, 1)LRC (8, 2, 1) 72,772.7%
1414 LRC (8, 2, 1)LRC (8, 2, 1) 72,772.7%
1515 LRC (8, 2, 1)LRC (8, 2, 1) 72,772.7%
1616 LRC (8, 2, 1)LRC (8, 2, 1) 72,772.7%

Eficiência de paridade dupla para implantações tudo flashDual parity efficiency for all-flash deployments

Esta tabela mostra a eficiência de armazenamento de paridade dual e códigos de reconstrução locais em cada escala para implantações tudo flash que contenham apenas unidades de estado sólido (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). O layout de paridade pode usar tamanhos de grupo maiores e conseguir mais eficiência de armazenamento em uma configuração tudo flash.The parity layout can use larger group sizes and achieve better storage efficiency in an all-flash configuration.

Domínios de falhasFault domains LayoutLayout EficiênciaEfficiency
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%

ExemplosExamples

A menos que você tenha apenas dois servidores, recomendamos usar espelhamento triplo e/ou paridade dupla, porque eles oferecem uma tolerância a falhas melhor.Unless you have only two servers, we recommend using three-way mirroring and/or dual parity, because they offer better fault tolerance. Mais especificamente, eles garantem que todos os dados continuem seguros e acessíveis continuamente, mesmo quando dois domínios com falha – com Espaços de Armazenamento Diretos, isso significa dois servidores – são afetados por falhas simultâneas.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.

Exemplos de onde tudo fica onlineExamples where everything stays online

Estes seis exemplos mostram o que o espelhamento triplo e/ou a paridade dupla pode tolerar.These six examples show what three-way mirroring and/or dual parity can tolerate.

  • 1. Uma unidade perdida (inclui unidades de cache)1. One drive lost (includes cache drives)
  • 2. Um servidor perdido2. One server lost

fault-tolerance-examples-1-and-2

  • 3. Um servidor e uma unidade perdida3. One server and one drive lost
  • 4. Duas unidades perdidas em servidores diferentes4. Two drives lost in different servers

fault-tolerance-examples-3-and-4

  • 5. Mais de duas unidades perdidas, desde que no máximo dois servidores são afetados5. More than two drives lost, so long as at most two servers are affected
  • 6. Dois servidores perdidos6. Two servers lost

fault-tolerance-examples-5-and-6

...em todos os casos, todos os volumes permanecerão online....in every case, all volumes will stay online. (Verifique se que o cluster mantém quórum.)(Make sure your cluster maintains quorum.)

Exemplos de onde tudo fica offlineExamples where everything goes offline

Durante a vida útil, Espaços de Armazenamento podem tolerar qualquer número de falhas, uma vez que restauram a resiliência completa depois de cada uma, dando tempo suficiente.Over its lifetime, Storage Spaces can tolerate any number of failures, because it restores to full resiliency after each one, given sufficient time. No entanto, no máximo, dois domínios de falha podem ser afetados com segurança por falhas em um dado momento.However, at most two fault domains can safely be affected by failures at any given moment. Estes são, portanto, exemplos do que o espelhamento triplo e/ou a paridade dupla não pode tolerar.The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.

  • 7. Unidades perdidas em três ou mais servidores ao mesmo tempo7. Drives lost in three or more servers at once
  • 8. Três ou mais servidores ao mesmo tempo perdido8. Three or more servers lost at once

fault-tolerance-examples-7-and-8

UsoUsage

Consulte Criando volumes em Espaços de Armazenamento Diretos.Check out Creating volumes in Storage Spaces Direct.

Consulte tambémSee also

Cada link abaixo está embutido em algum lugar no corpo deste tópico.Every link below is inline somewhere in the body of this topic.