Resiliência aninhada para Espaços de Armazenamento Direto

Aplica-se a: Azure Stack HCI, versões 22H2 e 21H2; Windows Server 2022 e Windows Server 2019

A resiliência aninhada é uma capacidade de Espaços de Armazenamento Direto no Azure Stack HCI e no Windows Server. Permite que um cluster de dois servidores resista a várias falhas de hardware ao mesmo tempo sem perda de disponibilidade de armazenamento, para que os utilizadores, aplicações e máquinas virtuais continuem a ser executados sem interrupções. Este artigo explica como funciona a resiliência aninhada, fornece instruções passo a passo para começar e responde às perguntas mais frequentes.

Antes de começar

Considere a resiliência aninhada se:

  • O cluster executa um destes sistemas operativos: Azure Stack HCI, versão 21H2, Azure Stack HCI, versão 20H2, Windows Server 2022 ou Windows Server 2019; e
  • O cluster tem exatamente dois nós de servidor.

Não pode utilizar resiliência aninhada se:

  • O cluster é executado Windows Server 2016; ou
  • O cluster tem apenas um único nó de servidor ou tem três ou mais nós de servidor.

Por que motivo a resiliência aninhada

Os volumes que utilizam resiliência aninhada podem permanecer online e acessíveis mesmo que ocorram várias falhas de hardware ao mesmo tempo, ao contrário da resiliência clássica do espelhamento bidirecional . Por exemplo, se duas unidades falharem ao mesmo tempo ou se um servidor ficar inativo e uma unidade falhar, os volumes que utilizam resiliência aninhada permanecem online e acessíveis. Para uma infraestrutura hiperconvergida, isto aumenta o tempo de atividade para aplicações e máquinas virtuais; para cargas de trabalho do servidor de ficheiros, isto significa que os utilizadores têm acesso ininterrupto aos respetivos ficheiros.

Diagrama que mostra a disponibilidade de armazenamento.

O compromisso é que a resiliência aninhada tem uma menor eficiência de capacidade do que o espelhamento bidirecional clássico, o que significa que obtém um espaço ligeiramente menos utilizável. Para obter detalhes, veja a secção Eficiência da capacidade seguinte.

Como funciona

Esta secção fornece o fundo sobre a resiliência aninhada para Espaços de Armazenamento Direto e descreve as duas novas opções de resiliência e a respetiva eficiência de capacidade.

Inspiração: RAID 5+1

O RAID 5+1 é uma forma estabelecida de resiliência de armazenamento distribuído que fornece informações úteis para compreender a resiliência aninhada. No RAID 5+1, em cada servidor, a resiliência local é fornecida pelo RAID-5, ou paridade única, para proteger contra a perda de qualquer unidade individual. Em seguida, a resiliência adicional é fornecida pelo RAID-1, ou espelhamento bidirecional, entre os dois servidores para proteger contra a perda de qualquer um dos servidores.

Diagrama que mostra RAID 5+1.

Opções de resiliência

Espaços de Armazenamento Direto no Azure Stack HCI e Windows Server oferece duas opções de resiliência implementadas no software, sem a necessidade de hardware RAID especializado:

  • Espelho unidirecional aninhado. Em cada servidor, a resiliência local é fornecida pelo espelhamento bidirecional e, em seguida, é fornecida mais resiliência através do espelhamento bidirecional entre os dois servidores. É essencialmente um espelho de quatro vias, com duas cópias em cada servidor que estão localizadas em discos físicos diferentes. O espelhamento bidirecional aninhado proporciona um desempenho intransigente: as escritas vão para todas as cópias e as leituras provêm de qualquer cópia.

    Diagrama que mostra o espelho bidirecional aninhado.

  • Paridade aninhada acelerada por espelhos. Combine o espelhamento bidirecional aninhado, da imagem anterior, com paridade aninhada. Em cada servidor, a resiliência local para a maioria dos dados é fornecida pela aritmética de paridade bit a bit, exceto as novas escritas recentes que utilizam espelhamento bidirecional. Em seguida, é fornecida mais resiliência para todos os dados através do espelhamento bidirecional entre os servidores. As novas escritas no volume vão para a parte espelhada com duas cópias em discos físicos separados em cada servidor. À medida que a parte espelhada do volume é preenchida em cada servidor, os dados mais antigos são convertidos e guardados na parte de paridade em segundo plano. Como resultado, cada servidor tem os dados do volume no espelho bidirecional ou numa única estrutura de paridade. Isto é semelhante à forma como a paridade acelerada pelo espelho funciona, sendo que a diferença é que a paridade acelerada por espelhos requer quatro servidores no cluster e no agrupamento de armazenamento e utiliza um algoritmo de paridade diferente.

    Diagrama que mostra a paridade aninhada acelerada pelo espelho.

Eficiência da capacidade

A eficiência da capacidade é a proporção de espaço utilizável para requisitos de espaço em volume. Descreve a sobrecarga de capacidade atribuível à resiliência e depende da opção de resiliência que escolher. Como exemplo simples, armazenar dados sem resiliência é 100% eficiente em termos de capacidade (1 TB de dados ocupa 1 TB de capacidade de armazenamento físico), enquanto o espelhamento bidirecional é 50% eficiente (1 TB de dados ocupa 2 TB de capacidade de armazenamento físico).

  • O espelho bidirecional aninhado escreve quatro cópias de tudo. Isto significa que, para armazenar 1 TB de dados, precisa de 4 TB de capacidade de armazenamento físico. Embora a sua simplicidade seja apelativa, a eficiência de capacidade do espelho bidirecional aninhada de 25% é a mais baixa de qualquer opção de resiliência no Espaços de Armazenamento Direto.

  • A paridade aninhada acelerada por espelhos obtém uma maior eficiência de capacidade, cerca de 35%-40%, que depende de dois fatores: o número de unidades de capacidade em cada servidor e a mistura de espelho e paridade que especificar para o volume. Esta tabela fornece uma pesquisa para configurações comuns:

    Unidades de capacidade por servidor Espelho de 10% Espelho de 20% Espelho de 30%
    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%

    Segue-se um exemplo da matemática completa. Imagine que temos seis unidades de capacidade em cada um dos dois servidores e queremos criar um volume de 100 GB composto por 10 GB de espelho e 90 GB de paridade. O espelho bidirecional local do servidor é 50,0% eficiente, o que significa que os 10 GB de dados espelhados demoram 20 GB a serem armazenados em cada servidor. Espelhado em ambos os servidores, a quantidade total é de 40 GB. A paridade única local do servidor, neste caso, é 5/6 = 83,3% eficiente, o que significa que os 90 GB de dados de paridade demoram 108 GB a serem armazenados em cada servidor. Espelhado para ambos os servidores, a sua quantidade total é de 216 GB. Assim, o espaço total é [(10 GB/ 50,0%) + (90 GB/83,3%)] × 2 = 256 GB, para uma eficiência de capacidade global de 39,1%.

    Repare que a eficiência de capacidade do espelhamento bidirecional clássico (cerca de 50%) e a paridade aninhada acelerada pelo espelho (até 40%) não são muito diferentes. Consoante os seus requisitos, a eficiência de capacidade ligeiramente mais baixa pode valer o aumento significativo da disponibilidade de armazenamento. Pode escolher resiliência por volume, para que possa misturar volumes de resiliência aninhados e volumes espelhados bidirecionais clássicos no mesmo cluster.

    Diagrama que mostra a troca entre um espelho bidirecional e a paridade aninhada acelerada pelo espelho.

Criar volumes de resiliência aninhadas

Pode utilizar cmdlets de armazenamento familiares no PowerShell para criar volumes com resiliência aninhada, conforme descrito na secção seguinte.

Passo 1: Criar modelos de camada de armazenamento (apenas no Windows Server 2019)

O Windows Server 2019 requer que crie novos modelos de camada de armazenamento com o New-StorageTier cmdlet antes de criar volumes. Só tem de o fazer uma vez e, em seguida, cada novo volume que criar pode referenciar estes modelos.

Nota

Se estiver a executar o Windows Server 2022, o Azure Stack HCI 21H2 ou o Azure Stack HCI 20H2, pode ignorar este passo.

Especifique o -MediaType das unidades de capacidade e, opcionalmente, a -FriendlyName da sua preferência. Não modifique outros parâmetros.

Por exemplo, se as unidades de capacidade forem unidades de disco rígido (HDD), inicie o PowerShell como Administrador e execute os seguintes cmdlets.

Para criar um escalão NestedMirror:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedMirrorOnHDD -ResiliencySettingName Mirror -MediaType HDD -NumberOfDataCopies 4

Para criar um escalão NestedParity:

New-StorageTier -StoragePoolFriendlyName S2D* -FriendlyName NestedParityOnHDD -ResiliencySettingName Parity -MediaType HDD -NumberOfDataCopies 2 -PhysicalDiskRedundancy 1 -NumberOfGroups 1 -FaultDomainAwareness StorageScaleUnit -ColumnIsolation PhysicalDisk

Se as unidades de capacidade forem unidades de estado sólido (SSD), defina como -MediaType como e altere para *OnSSD-FriendlyName .SSD Não modifique outros parâmetros.

Dica

Verifique se Get-StorageTier criou as camadas com êxito.

Passo 2: Criar volumes aninhados

Crie novos volumes com o New-Volume cmdlet.

  • Espelho bidirecional aninhado

    Para utilizar o espelho bidirecional aninhado, faça referência ao modelo de NestedMirror camada e especifique o tamanho. Por exemplo:

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

    Se as unidades de capacidade forem unidades de estado sólido (SSD), altere -StorageTierFriendlyNames para *OnSSD.

  • Paridade acelerada por espelho aninhada

    Para utilizar a paridade aninhada acelerada por espelhos, faça referência aos NestedMirror modelos e NestedParity da camada e especifique dois tamanhos, um para cada parte do volume (espelho primeiro, paridade segundo). Por exemplo, para criar um volume de 500 GB que seja um espelho bidirecional aninhado de 20% e uma paridade aninhada de 80%, execute:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
    

    Se as unidades de capacidade forem unidades de estado sólido (SSD), altere -StorageTierFriendlyNames para *OnSSD.

Passo 3: Continuar no Windows Admin Center

Os volumes que utilizam resiliência aninhada aparecem em Windows Admin Center com etiquetagem clara, tal como na captura de ecrã seguinte. Assim que forem criadas, pode geri-las e monitorizá-las com Windows Admin Center tal como qualquer outro volume no Espaços de Armazenamento Direto.

Gestão de volumes no Windows Admin Center.

Opcional: Expandir para unidades de cache

Com as predefinições, a resiliência aninhada protege contra a perda de várias unidades de capacidade ao mesmo tempo ou um servidor e uma unidade de capacidade ao mesmo tempo. Para expandir esta proteção para unidades de cache, existe outra consideração: uma vez que as unidades de cache fornecem frequentemente colocação em cache de leitura e escrita para várias unidades de capacidade, a única forma de garantir que pode tolerar a perda de uma unidade de cache quando o outro servidor está inativo é não colocar em cache escritas, mas isso afeta o desempenho.

Para resolver este cenário, Espaços de Armazenamento Direto oferece a opção de desativar automaticamente a colocação em cache de escrita quando um servidor num cluster de dois servidores está inativo e, em seguida, reativar a colocação em cache de escrita assim que o servidor for efetuado uma cópia de segurança. Para permitir reinícios de rotina sem impacto no desempenho, a colocação em cache de escrita só é desativada quando o servidor estiver inativo durante 30 minutos. Assim que a colocação em cache de escrita estiver desativada, o conteúdo da cache de escrita é escrito em dispositivos de capacidade. Depois disso, o servidor pode tolerar um dispositivo de cache com falhas no servidor online, embora as leituras da cache possam estar atrasadas ou falhar se um dispositivo de cache falhar.

Nota

Para um sistema físico de toda a cache (tipo de suporte de dados único), não precisa de considerar a desativação automática da colocação em cache de escrita quando um servidor num cluster de dois servidores está inativo. Tem de considerar isto apenas com a cache de camada do barramento de armazenamento (SBL), que só é necessária se estiver a utilizar HDDs.

(Opcional) Para desativar automaticamente a colocação em cache de escrita quando um servidor num cluster de dois servidores está inativo, inicie o PowerShell como Administrador e execute:

Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.NestedResiliency.DisableWriteCacheOnNodeDown.Enabled" -Value "True"

Uma vez definido como Verdadeiro, o comportamento da cache é:

Situação Comportamento da cache Pode tolerar a perda de unidades de cache?
Ambos os servidores para cima Leituras e escritas em cache, desempenho total Yes
Servidor inativo, primeiros 30 minutos Leituras e escritas em cache, desempenho total Não (temporariamente)
Após os primeiros 30 minutos Leituras da cache apenas, desempenho afetado Sim (depois de a cache ser escrita em unidades de capacidade)

Perguntas mais frequentes

Encontre respostas a perguntas mais frequentes sobre resiliência aninhada.

Posso converter um volume existente entre o espelho bidirecional e a resiliência aninhada?

Não, os volumes não podem ser convertidos entre tipos de resiliência. Para novas implementações no Azure Stack HCI, Windows Server 2022 ou Windows Server 2019, decida antecipadamente qual o tipo de resiliência que melhor se adequa às suas necessidades. Se estiver a atualizar a partir de Windows Server 2016, pode criar novos volumes com resiliência aninhada, migrar os seus dados e, em seguida, eliminar os volumes mais antigos.

Posso utilizar resiliência aninhada com vários tipos de unidades de capacidade?

Sim, basta especificar o de cada camada em conformidade durante o -MediaTypepasso 1 acima. Por exemplo, com NVMe, SSD e HDD no mesmo cluster, o NVMe fornece cache enquanto os dois últimos fornecem capacidade: defina a NestedMirror camada como -MediaType SSD e a NestedParity camada como -MediaType HDD. Neste caso, a eficiência da capacidade de paridade depende apenas do número de unidades HDD e precisa de, pelo menos, 4 por servidor.

Posso utilizar resiliência aninhada com três ou mais servidores?

Não, utilize apenas resiliência aninhada se o cluster tiver exatamente dois servidores.

Quantas unidades preciso de utilizar a resiliência aninhada?

O número mínimo de unidades necessárias para Espaços de Armazenamento Direto é quatro unidades de capacidade por nó de servidor, além de duas unidades de cache por nó do servidor (se existirem). Isto não é alterado em comparação com Windows Server 2016. Não existe outro requisito para a resiliência aninhada e a recomendação para a capacidade de reserva também se mantém inalterada.

A resiliência aninhada altera o funcionamento da substituição da unidade?

N.º

A resiliência aninhada altera o funcionamento da substituição do nó de servidor?

N.º Para substituir um nó de servidor e as respetivas unidades, siga esta ordem:

  1. Extinguir as unidades no servidor de envio
  2. Adicionar o novo servidor, com as respetivas unidades, ao cluster
  3. O agrupamento de armazenamento será reequilibrado
  4. Remover o servidor de envio e as respetivas unidades

Para obter detalhes, veja o artigo Remover servidores .

Passos seguintes