Corrigindo Erro de Sincronização Hyper-V no Azure Site Recovery

​​Nesse artigo vamos mostrar como resolver problema de replicação no Azure Site Recovery (ASR). Muitos administradores e clientes que gostariam de utilizar o ASR, me questionam sobre como efetuar o troubleshooting em caso de falha na replicação. Vamos mostrar agora um caso com problema de replicação em ambiente real, utilizando um host de Hyper-V.

Dentro do nosso portal, encontramos erros na replicação inicial para o host Hyper-V.

Em nosso​ host Hyper-V verificamos que apenas uma VM não teve êxito na replicação.

Para corrigir esse erro, executo o Powershell ISE como administrador como mostra a imagem abaixo:

Digite o comando alterando apenas o nome de sua VM que está com problemas de replicação. Confira o comando abaixo:

$vmName = “SRVFILES” $vm = Get-WmiObject -Namespace “root\virtualization\v2” -Query “Select * From Msvm_ComputerSystem Where ElementName = ‘$vmName‘” $replicationService = Get-WmiObject -Namespace “root\virtualization\v2” -Query “Select * From Msvm_ReplicationService” $replicationService.RemoveReplicationRelationship($vm.__PATH)

O comando terá o resultado da seguinte forma:

Após a execução do comando, clique em “Reiniciar” para tentar novamente a replicação com o host Hyper-V:

Acompanhe em seu Hyper-V se o processo de replicação será iniciado. Esse processo é bem rápido. Em apenas alguns segundos retornará o resultado na tela.

Dentro do portal, revise se todos os pré-requisitos foram finalizados e executados com sucesso:

Pronto! Sua máquina virtual já será replicada com sucesso para seu Microsoft Azure.

Esperamos que esse artigo ajude todos os administradores que utilizam os Serviços Online da Microsoft.

Azure Site Recovery: Removendo Registro Existente Hyper-V

​Nesse pequeno artigo vamos mostrar como efetuar a remoção de um servidor já registrado com o Hyper-V Azure Site Recovery. Essa situação pode ser encontrada em uma reconfiguração do seu Host físico para um novo Site Hyper-V dentro do Azure. Vamos ver na prática como funciona esse processo e sua resolução.

Ao instalação o agente de comunicação com o Microsoft Azure, tudo parece estar indo bem, como mostramos na imagem abaixo:

Mas logo recebemos a informação que esse servidor físico já está registrado em nossa conta do Microsoft Azure. Ao clicar em concluir para efetuar um novo registro, o agente recebe um “Crash” e não conseguimos selecionar no chave “Vault” para um novo registro.

Para resolver esse problema, devemos rodar o seguinte comando via PowerShell para remover todos os registros existente.

MUITO IMPORTANTE: ANTES DE RODAR ESSE COMANDO, ESTEJA CIENTE QUE ISSO IRÁ REMOVER TODO REGISTRO DO SERVIDOR ATUAL COM O MICROSOFT AZURE. ESTEJA SEGURO QUE REALMENTE NÃO EXISTE NENHUMA VM REPLICADA, POIS O SERVIDOR FÍSICOS SERÁ 100% REMOVIDO.

Com a confirmação que realmente deseja remover o servidor atual e efetuar novamente o seu registro, rode o comando abaixo:

pushd .

  try

  {

   $windowsIdentity=[System.Security.Principal.WindowsIdentity]::GetCurrent()

   $principal=new-object System.Security.Principal.WindowsPrincipal($windowsIdentity)

   $administrators=[System.Security.Principal.WindowsBuiltInRole]::Administrator

   $isAdmin=$principal.IsInRole($administrators)

   if (!$isAdmin)

   {

    “Please run the script as an administrator in elevated mode.”

    $choice = Read-Host

    return;

   }

 

   $error.Clear()

   “This script will remove the old Azure Site Recovery Provider related properties. Do you want to continue (Y/N) ?”

   $choice = Read-Host

 

   if (!($choice -eq ‘Y’ -or $choice -eq ‘y’))

   {

   “Stopping cleanup.”

   return;

   }

 

   $serviceName = “dra”

   $service = Get-Service -Name $serviceName

   if ($service.Status -eq “Running”)

   {

    “Stopping the Azure Site Recovery service…”

    net stop $serviceName

   }

 

   $asrHivePath = “HKLM:\SOFTWARE\Microsoft\Azure Site Recovery”

   $registrationPath = $asrHivePath + ‘\Registration’

   $proxySettingsPath = $asrHivePath + ‘\ProxySettings’

   $draIdvalue = ‘DraID’

   $idMgmtCloudContainerId=’IdMgmtCloudContainerId’

 

 

   if (Test-Path $asrHivePath)

   {

    if (Test-Path $registrationPath)

    {

     “Removing registration related registry keys.”

     Remove-Item -Recurse -Path $registrationPath

    }

 

    if (Test-Path $proxySettingsPath)

    {

     “Removing proxy settings”

     Remove-Item -Recurse -Path $proxySettingsPath

    }

 

    $regNode = Get-ItemProperty -Path $asrHivePath

    if($regNode.DraID -ne $null)

    {

     “Removing DraId”

     Remove-ItemProperty -Path $asrHivePath -Name $draIdValue

    }

    if($regNode.IdMgmtCloudContainerId -ne $null)

    {

     “Removing IdMgmtCloudContainerId”

     Remove-ItemProperty -Path $asrHivePath -Name $idMgmtCloudContainerId

    }

    “Registry keys removed.”

   }

 

   # First retrieve all the certificates to be deleted

   $ASRcerts = Get-ChildItem -Path cert:\localmachine\my | where-object {$_.friendlyname.startswith(‘ASR_SRSAUTH_CERT_KEY_CONTAINER’) -or $_.friendlyname.startswith(‘ASR_HYPER_V_HOST_CERT_KEY_CONTAINER’)}

   # Open a cert store object

   $store = New-Object System.Security.Cryptography.X509Certificates.X509Store(“My”,”LocalMachine”)

   $store.Open(‘ReadWrite’)

   # Delete the certs

   “Removing all related certificates”

   foreach ($cert in $ASRcerts)

   {

    $store.Remove($cert)

   }

  }catch

  {

   [system.exception]

   Write-Host “Error occurred” -ForegroundColor “Red”

   $error[0]

   Write-Host “FAILED” -ForegroundColor “Red”

  }

  popd

Como segunda alternativa, você poderá remover a chave de registro no seguinte caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure Site Recovery\Registration

Pronto! O seu servidor estará limpo e pronto para receber sua chave Vault para um novo registro.

Esperamos que essa pequena dica ajude a todos os administradores e profissionais que utilizam os produtos de nuvem Microsoft.

WhatsApp chat