Gerenciar a réplica de armazenamento no VMM

Importante

Esta versão do VMM (Virtual Machine Manager) chegou ao fim do suporte. Recomendamos que você atualize para o VMM 2022.

A Réplica de Armazenamento foi introduzida no Windows Server 2016. Ele habilita a replicação independente de armazenamento, de nível de bloco, síncrona entre clusters ou servidores para preparação e recuperação de desastres e o alongamento de um cluster de failover entre sites para alta disponibilidade. A replicação síncrona habilita o espelhamento de dados em locais físicos com volumes consistentes com falha, fazendo com que não haja perda de dados no nível do sistema de arquivos. A replicação assíncrona permite a extensão de site além das dimensões metropolitanas com a possibilidade de perda de dados.

Saiba mais e examine as perguntas frequentes.

Este artigo explica como a Réplica de Armazenamento se integra ao System Center – VMM (Virtual Machine Manager) e descreve como configurar a Réplica de Armazenamento usando o PowerShell para replicar o armazenamento na malha do VMM.

Réplica de Armazenamento no VMM

Você pode usar a Réplica de Armazenamento para replicar dados de cluster ou dados de arquivo do Hyper-V. O uso da Réplica de Armazenamento no VMM oferece muitas vantagens comerciais:

  • Elimina o custo e a complexidade associados às soluções de replicação síncrona como rede SAN.
  • A replicação síncrona minimiza o tempo de inatividade e a perda de dados. Ele fornece um RPO de 0 (perda de dados zero). RTO (indisponibilidade de dados) só ocorre durante o tempo em que um site primário falhar e inicia um site secundário.
  • O hardware de armazenamento de origem e de destino não precisa ser idêntico.

Antes de começar

  • O VMM deve estar em execução no datacenter Edition Windows Server 2016 ou posterior.
  • O Hyper-V deve estar em execução no Datacenter Windows Server 2016 ou posterior, no Server Core ou no Nano.
  • Apenas a replicação síncrona tem suporte. Não há suporte para replicação assíncrona.
  • Você precisa de dois conjuntos de armazenamento: de volume ou de arquivos. Os locais de origem e de destino devem ter o mesmo tipo de armazenamento (arquivo ou volume), mas o armazenamento real pode ser misto. Por exemplo, você pode ter Fibre Channel SAN em uma extremidade e Spaces Direct (no modo hiperconvergente ou desagregado) na outra.
  • Cada conjunto de armazenamentos deve estar disponível em cada um dos clusters. O armazenamento de cluster não deve ser compartilhado.
  • Os volumes de origem e de destino (incluindo volumes de log) precisam ser idênticos em tamanho e no tamanho do bloco. Isso ocorre porque a Réplica de Armazenamento usa a replicação de bloco.
  • Você precisa de pelo menos uma conexão de 1 GbE em cada servidor de armazenamento, preferencialmente 10 GbE, iWARP ou InfiniBand.
  • Cada servidor de arquivos ou nó de cluster precisa de regras de firewall que permitam tráfego bidirecional ICMP, SMB (porta 445, mais 5445 para SMB Direct) e WS-MAN (porta 5985) entre todos os nós.
  • Você precisa ser membro do grupo Administradores em cada nó de cluster.
  • A Réplica de Armazenamento só pode ser configurada usando o Windows PowerShell no momento.
  • O armazenamento de origem e de destino deve ser gerenciado pelo mesmo servidor do VMM.
  • Não há suporte para a integração do VMM com o Azure Site Recovery.
  • Não há suporte para configurar ordem de gravação e grupos de consistência.

Etapas de implantação.

  1. Identificar o armazenamento: identifique o armazenamento de origem e de destino que você deseja usar.

  2. Detectar e classificar: se o armazenamento não estiver atualmente na malha do VMM, você precisará descobri-lo com o VMM. O armazenamento de origem e de destino deve ser gerenciado pelo mesmo servidor do VMM. Após a descoberta, crie um pool de armazenamento e uma classificação de armazenamento para ele. Saiba mais.

  3. Emparelhar: emparelhe a matriz de armazenamento de origem e de destino.

  4. Provisionar: depois que o armazenamento for emparelhado, você precisará provisionar volumes de log e dados idênticos dos pools de armazenamento de origem e de destino criados nas respectivas matrizes de armazenamento. Além de provisionar um volume de dados que serão replicados, você também precisa provisionar um volume para logs de transações de replicação. Como os dados são atualizados no armazenamento de origem, o log de transações é acrescentado e as alterações delta são sincronizadas (usando a replicação síncrona) com o armazenamento de destino.

  5. Criar grupos de replicação: depois que os volumes estiverem em vigor, você criará grupos de replicação. Grupos de replicação são grupos lógicos contendo vários volumes. Os grupos de replicação precisam ser idênticos, contendo os volumes de dados e log para os sites de origem e de destino, respectivamente.

  6. Habilitar replicação: agora você pode habilitar a replicação entre os grupos de replicação de origem e de destino.

  7. Atualização: para finalizar a criação de grupos de replicação e disparar a replicação de dados inicial, você precisa atualizar o provedor de armazenamento primário e secundário. Os dados são replicados para o armazenamento de destino.

  8. Verificar o status: agora você pode verificar o status do grupo de replicação primária. Ele deve estar no estado Replicando.

  9. Adicionar VMs: quando a replicação delta estiver em execução, você poderá adicionar VMs que usam o armazenamento contido no grupo de replicação. Quando você adicionar as VMs, elas serão detectadas e começarão a ser replicadas automaticamente.

  10. Executar failover: depois que a replicação estiver em um estado de sincronização, você poderá executar um failover para marcar se estiver funcionando conforme o esperado. Não há um mecanismo de failover de teste, portanto, você executará um failover manual em resposta a interrupções planejadas ou não planejadas. Após o failover, você pode excluir a VM no site de origem (se ela ainda existir) e criar uma VM no site de destino usando os dados replicados.

  11. Execute o failback: depois que o failover estiver concluído e as VMs de réplica estiverem em execução, você poderá executar failback novamente conforme necessário. Verifique se:

    • Se você executar um failover não planejado e seu local de origem não estiver disponível, você executará um failover para fazer failover do local secundário para o primário e, em seguida, criará a VM no local primário.
    • Se você executar um failover planejado e a VM de origem ainda estiver disponível, será necessário interromper a replicação, remover a VM de origem, criar a VM no local secundário e, em seguida, reiniciar a replicação. Em seguida, no site primário, você pode criar a VM com as mesmas configurações da VM original.

Recuperar objetos do PowerShell

  1. Antes de começar, recupere o nome dos objetos do PowerShell que você deseja usar.

  2. Obtenha o nome da matriz de armazenamento primária e atribua-o a uma variável.

        $PriArray = Get-SCStorageArray - Name $PriArrayName
    
  3. Obtenha o nome da matriz de armazenamento secundária e atribua-o a uma variável.

        RecArray = Get-SCStorageArray - Name $RecArrayName
    
  4. Obtenha o nome do pool de armazenamento primário e atribua-o a uma variável.

        $ $ PriPoolName $RecPool = Get-SCStoragePool -Name $
    
  5. Obtenha o nome do pool de armazenamento secundário e atribua-o a uma variável.

        $ $PriPoolName $RecPool = Get-SCStoragePool -Name $
    

Emparelhar as matrizes de armazenamento

Emparelhe as matrizes de armazenamento primária e secundária usando as variáveis para os nomes de matriz de armazenamento.

Observação

O nome da matriz deve ser o mesmo que o nome do cluster.

      Set-SCStorageArray -StorageArray $PriArray -PeerStorageArrayName $RecArray.name

Se você criou o cluster fora do VMM e precisa renomear o nome da matriz para corresponder ao nome do cluster, use:

      Get-SCStorageArray -Name "existing-name" | Set-SCStorageArray -Name "new-name"

Provisionar LUNs e criar grupos de armazenamento

Provisione um LUN do pool de armazenamento para dados e para o log. Em seguida, crie grupos de replicação.

  1. Provisione e crie na origem.

        Set-SCStorageArray -StorageArray $PriArray -PeerStorageArrayName $RecArray.name
    
        $PrimaryVol = New-SCStorageVolume -StorageArray $PriArray -StoragePool $PriPool -Name PrimaryVol -SizeInBytes $VolSize -RunAsynchronously -PhysicalDiskRedundancy "1" -FileSystem "CSVFS_NTFS" -DedupMode "Disabled"
    
        $PrimaryLogVol = New-SCStorageVolume -StorageArray $PriArray -StoragePool $PriPool -Name PrimaryLogVol -SizeInBytes $LogVolSize -GuidPartitionTable -RunAsynchronously -FileSystem "NTFS"
    
        $PriRG = New-SCReplicationGroup -Name PriRG -StorageVolume $PrimaryVol -LogStorageVolume $PrimaryLogVol
    
  2. Provisione e crie no destino.

        $RecoveryVol = New-SCStorageVolume -StorageArray $RecArray -StoragePool $RecPool -Name RecoveryVol -SizeInBytes $VolSize -RunAsynchronously -PhysicalDiskRedundancy "1" -FileSystem "CSVFS_NTFS" -DedupMode "Disabled"
    
        $RecoveryLogVol = New-SCStorageVolume -StorageArray $RecArray -StoragePool $RecPool -Name RecoveryLogVol -SizeInBytes $LogVolSize -GuidPartitionTable -RunAsynchronously -FileSystem "NTFS"
    
        $RecRG = New-SCReplicationGroup -Name RecRG -CreateOnArray -ProtectionMode Synchronous -StorageVolume $RecoveryVol -LogStorageVolume $RecoveryLogVol
    

Habilitar a replicação

Agora, habilite a replicação síncrona entre os grupos de replicação de origem e de destino.

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation EnableProtection -TargetReplicationGroup $RecRG -EnableProtectionMode Synchronous

Atualizar os provedores de armazenamento

  1. Abra o console do VMM.
  2. SelecioneProvedores de Recursos> do Fabric. Clique com o botão direito do mouse em Provedor >>.

Verificar status de replicação

Recupere o status de replicação do grupo de replicação de origem para garantir que a replicação esteja funcionando conforme o esperado.

    Get replication status Get-SCReplicationGroup | where {($_.Name.EndsWith("PriRG")) -or ($_.Name.EndsWith("RecRG"))}  | fl Name, IsPrimary, ReplicationState, ReplicationHealth

Criar uma máquina virtual

Crie uma VM usando um LUN no grupo de replicação de origem. Como alternativa, você pode criar uma VM no console do VMM.

    New-SCVirtualMachine -Name "DemoVM" -VMHost <HostName> -Path $PrimaryVol -VMTemplate <VMTemplate>

Executar um failover

Execute o failover.

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation PrepareForFailover

    Set-SCReplicationGroup -ReplicationGroup SRecRG -Operation Failover

Fazer failback

Antes de fazer failback, no console do VMM, remova as VMs de origem se elas ainda estiverem disponíveis. Você não pode executar failback novamente para a mesma VM.

Agora, execute failback:

    Set-SCReplicationGroup -ReplicationGroup $PriRG -Operation ReverseRoles -EnableProtectionMode Synchronous -TargetReplicationGroup $RecRG

Depois de executar o failback, você pode criar VMs no site de origem usando os arquivos VHD/configuração com falha.

Parar replicação

Se você quiser interromper a replicação, precisará executar esse cmdlet na origem e no destino.

    Set-SCReplicationGroup -ReplicationGroup $RecRG -Operation TearDown  Tear down need to be done on both RGs

Saiba mais