Adicionando servidores ou unidades a Espaços de Armazenamento Diretos

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016

Este tópico descreve como adicionar servidores ou unidades a Espaços de Armazenamento Diretos.

Adicionando servidores

A adição de servidores, geralmente chamada de expansão horizontal, adiciona capacidade de armazenamento e pode melhorar o desempenho e a eficiência do armazenamento. Se sua implantação for hiperconvergente, adicionar servidores também fornecerá mais recursos de computação para sua carga de trabalho.

Animation of adding a server to a four-node cluster

As implantações típicas são simples de serem escaladas horizontalmente adicionando servidores: Existem apenas duas etapas:

  1. Execute o assistente de validação de cluster usando o snap-in Cluster de Failover ou com o cmdlet Test-Cluster no PowerShell (executar como Administrador). Inclua o <NewNode> do novo servidor que você deseja adicionar.

    Test-Cluster -Node <Node>, <Node>, <Node>, <NewNode> -Include "Storage Spaces Direct", Inventory, Network, "System Configuration"
    

    Isso confirma que o novo servidor está executando o Windows Server 2016 Datacenter Edition, que ele ingressou no mesmo domínio do Active Directory Domain Services dos servidores existentes, que ele tem todas as funções e recursos necessários e que a rede dele foi configurada corretamente.

    Importante

    Se você estiver reutilizando unidades que contêm dados antigos ou metadados desnecessários, apague-os usando o Gerenciamento de Disco ou o cmdlet Reset-PhysicalDisk. Se dados ou metadados antigos forem detectados, as unidades não serão colocadas em pool.

  2. Execute o seguinte cmdlet no cluster para concluir a adição do servidor:

Add-ClusterNode -Name NewNode

Observação

O pooling automático depende de você ter apenas um pool. Se você ignorou a configuração padrão para criar vários pools, você precisará adicionar sozinho novas unidades ao seu pool preferencial usando Add-PhysicalDisk.

De 2 a 3 servidores: desbloqueando o espelhamento de três vias

adding a third server to a two-node cluster

Com dois servidores, você só pode criar volumes espelhados bidirecionais (em comparação ao RAID-1 distribuído). Com três servidores, você pode criar volumes espelhados em três vias para melhor tolerância a falhas. É recomendável usar o espelhamento de três vias, sempre que possível.

Volumes espelhados bidirecionais não podem ser atualizados localmente para o espelhamento de três vias. Em vez disso, você pode criar um novo volume e migrar (copiar, usando a Réplica de Armazenamento) seus dados para ele e, em seguida, remover o volume antigo.

Para começar a criar volumes espelhados de três vias, você tem várias boas opções. Você pode usar a que você preferir.

Opção 1

Especifique PhysicalDiskRedundancy = 2 em cada novo volume após a criação.

New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size> -PhysicalDiskRedundancy 2

Opção 2

Em vez disso, você pode definir PhysicalDiskRedundancyDefault = 2 no objeto ResiliencySetting chamado Mirror do pool. Depois, os novos volumes espelhados usarão automaticamente o espelhamento de três vias, mesmo se você não especificá-lo.

Get-StoragePool S2D* | Get-ResiliencySetting -Name Mirror | Set-ResiliencySetting -PhysicalDiskRedundancyDefault 2

New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size>

Opção 3

Defina PhysicalDiskRedundancy = 2 no modelo StorageTier chamado Capacity e, em seguida, crie volumes fazendo referência à camada.

Set-StorageTier -FriendlyName Capacity -PhysicalDiskRedundancy 2

New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames Capacity -StorageTierSizes <Size>

De 3 a 4 servidores: desbloqueando a paridade dupla

adding a fourth server to a three-node cluster

Com quatro servidores, você pode usar a paridade dupla, também conhecida comumente como codificação de eliminação (compare com o RAID-6 distribuído). Isso fornece a mesmo tolerância a falhas como espelhamento de três vias, mas com melhor eficiência de armazenamento. Para saber mais, consulte Tolerância a falhas e eficiência de armazenamento.

Se você está vindo de uma implantação menor, há várias boas opções para começar a criar volumes de paridade dupla. Você pode usar a que você preferir.

Opção 1

Especifique PhysicalDiskRedundancy = 2 e ResiliencySettingName = Parity em cada novo volume na criação.

New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size> -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity

Opção 2

Defina PhysicalDiskRedundancy = 2 no objeto ResiliencySetting chamado Parity do pool. Depois, os novos volumes de paridade usarão automaticamente a paridade dupla, mesmo se você não especificá-la

Get-StoragePool S2D* | Get-ResiliencySetting -Name Parity | Set-ResiliencySetting -PhysicalDiskRedundancyDefault 2

New-Volume -FriendlyName <Name> -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size <Size> -ResiliencySettingName Parity

Com quatro servidores, você também pode começar a usar paridade com aceleração de espelho, em que um volume individual é parte espelho, parte paridade.

Para isso, você precisará atualizar seus modelos StorageTier para ter duas camadas Performance e Capacity, uma vez que elas seriam criadas se você tivesse executado primeiro Enable-ClusterS2D em quatro servidores. Especificamente, ambas as camadas devem ter MediaType de seus dispositivos de capacidade (como SSD ou HDD) e PhysicalDiskRedundancy = 2. A camada Desempenho deve ser ResiliencySettingName = Mirror e a camada Capacidade deve ser ResiliencySettingName = Parity.

Opção 3

Você pode achar mais fácil simplesmente remover o modelo de camada existente e criar dois novos. Isso não afetará todos os volumes preexistentes que foram criados com referência ao modelo de camada: é apenas um modelo.

Remove-StorageTier -FriendlyName Capacity

New-StorageTier -StoragePoolFriendlyName S2D* -MediaType HDD -PhysicalDiskRedundancy 2 -ResiliencySettingName Mirror -FriendlyName Performance
New-StorageTier -StoragePoolFriendlyName S2D* -MediaType HDD -PhysicalDiskRedundancy 2 -ResiliencySettingName Parity -FriendlyName Capacity

É isso! Agora você está pronto para criar volumes de paridade acelerada por espelho referenciando esses modelos de camada.

Exemplo

New-Volume -FriendlyName "Sir-Mix-A-Lot" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -StorageTierFriendlyNames Performance, Capacity -StorageTierSizes <Size, Size>

Mais de 4 servidores: maior eficiência de paridade

Enquanto você dimensiona mais de quatro servidores, novos volumes podem se beneficiar de uma eficiência de codificação de paridade ainda maior. Por exemplo, entre seis e sete servidores, a eficiência melhora de 50% a 66,7%, pois é possível usar o Reed-Solomon 4+2 (em vez de 2+2). Não há etapas que você precisa seguir para começar a aproveitar essa nova eficiência; a melhor codificação possível é determinada automaticamente sempre que você cria um volume.

No entanto, os volumes pré-existentes não serão "convertidos" para a nova codificação mais ampla. Um bom motivo é que fazer isso exigiria um cálculo maciço que afeta literalmente cada bit em toda a implantação. Se você quiser que dados pré-existentes sejam codificados com a maior eficiência, você poderá migrá-los para novos volumes.

Para obter mais detalhes, consulte Tolerância a falhas e eficiência de armazenamento.

Adicionando servidores ao usar a tolerância a falhas em chassi ou rack

Se sua implantação usar a tolerância a falhas em chassi ou rack, você deverá especificar o chassi ou o rack dos novos servidores antes de adicioná-los ao cluster. Isso informa aos Espaços de Armazenamento Diretos a melhor maneira de distribuir dados para maximizar a tolerância a falhas.

  1. Criar um domínio de falha temporário para o nó abrindo uma sessão do PowerShell com privilégios elevados e, em seguida, usando o seguinte comando, em que <NewNode> é o nome do novo nó de cluster:

    New-ClusterFaultDomain -Type Node -Name <NewNode>
    
  2. Mova esse domínio de falha temporário para o chassi ou rack no qual o servidor está localizado de fato, conforme especificado por <ParentName>:

    Set-ClusterFaultDomain -Name <NewNode> -Parent <ParentName>
    

    Para obter mais informações, consulte Fault domain awareness in Windows Server 2016 (Reconhecimento de domínio de falha no Windows Server 2016).

  3. Adicione o servidor ao cluster conforme descrito em Adicionando servidores. Quando o novo servidor ingressa no cluster, ele é automaticamente associado (usando seu nome) ao domínio de falha do espaço reservado.

Adicionando unidades

A adição de unidades, também conhecida como expansão vertical, adiciona capacidade de armazenamento e pode melhorar o desempenho. Se você tiver slots disponíveis, você poderá adicionar unidades a cada servidor para expandir a capacidade de armazenamento sem adicionar servidores. Você pode adicionar unidades de cache ou de capacidade independentemente a qualquer momento.

Importante

É altamente recomendável que todos os servidores tenham configurações de armazenamento idênticas.

Animation showing adding drives to a sytem

Para escalar verticalmente, conecte as unidades e verifique se o Windows as detectará. Elas devem aparecer na saída do cmdlet Get-PhysicalDisk no PowerShell com a propriedade CanPool definida como True. Se elas forem mostradas como CanPool = False, você poderá ver o motivo verificando a propriedade CannotPoolReason.

Get-PhysicalDisk | Select SerialNumber, CanPool, CannotPoolReason

Em pouco tempo, as unidades qualificadas serão automaticamente reivindicadas por Espaços de Armazenamento Diretos, adicionados ao pool de armazenamento e os volumes serão automaticamente redistribuídos de maneira uniforme em todos os discos. Neste ponto, você concluiu e está pronto para estender os volumes ou criar novos.

Se as unidades não aparecerem, verifique manualmente se há alterações de hardware. Isso pode ser feito usando o Gerenciador de Dispositivos no menu Ação. Se eles contiverem dados antigos ou metadados, considere reformatá-los. Isso pode ser feito usando o Gerenciamento de Disco ou com o cmdlet Reset-PhysicalDisk.

Observação

O pooling automático depende de você ter apenas um pool. Se você ignorou a configuração padrão para criar vários pools, você precisará adicionar sozinho novas unidades ao seu pool preferencial usando Add-PhysicalDisk.

Otimizar o uso da unidade depois de adicionar unidades ou servidores

Com o tempo, à medida que as unidades são adicionadas ou removidas, a distribuição de dados entre as unidades no pool pode se tornar desigual. Em alguns casos, isso pode resultar em algumas unidades ficando cheias enquanto outras unidades no pool têm um consumo muito menor.

Para ajudar a manter a alocação de unidades mesmo em todo o pool, o Espaços de Armazenamento Diretos otimiza automaticamente o uso da unidade depois de adicionar unidades ou servidores ao pool (esse é um processo manual para sistemas de Espaços de Armazenamento que usam compartimentos SAS compartilhados). A otimização é iniciada 15 minutos depois que você adiciona uma nova unidade ao pool. A otimização do pool é executada como uma operação em segundo plano de baixa prioridade, portanto, pode levar horas ou dias para ser concluída, especialmente se você estiver usando discos rígidos grandes.

A otimização usa dois trabalhos, um chamado Otimizar e outro chamado Redistribuir, e você pode monitorar o progresso deles com o seguinte comando:

Get-StorageJob

Você pode otimizar um pool de armazenamento manualmente com o cmdlet Optimize-StoragePool. Este é um exemplo:

Get-StoragePool <PoolName> | Optimize-StoragePool