Ferramenta de failback de recuperação do site AzureAzure Site Recovery failback tool

Num ambiente conectado, pode utilizar a Recuperação do Local Azure para proteger máquinas virtuais (VMs) em execução no Azure Stack Hub.In a connected environment, you can use Azure Site Recovery to protect virtual machines (VMs) running on Azure Stack Hub. Este artigo descreve como configurar o ambiente, e como a Recuperação do Site ajuda a contribuir para a estratégia global de continuidade do negócio e recuperação de desastres para estas cargas de trabalho.This article describes how to set up the environment, and how Site Recovery helps contribute to the overall business continuity and disaster recovery strategy for these workloads.

Em caso de paragem, o operador Azure Stack Hub passa pelo procedimento de failover; uma vez que o Azure Stack Hub está a funcionar novamente, eles passam por um processo de falha.In the event of an outage, the Azure Stack Hub operator goes through the failover procedure; once Azure Stack Hub is up and running again, they go through a failback process. O processo de failover é descrito neste artigo de Recuperação do Site,mas o processo de failback envolve várias etapas manuais:The failover process is described in this Site Recovery article, but the failback process involves several manual steps:

  1. Pare o VM de funcionar em Azure.Stop the VM running in Azure.
  2. Descarregue os VHDs.Download the VHDs.
  3. Faça o upload dos VHDs para o Azure Stack Hub.Upload the VHDs to Azure Stack Hub.
  4. Recrie os VMs.Recreate the VMs.
  5. Finalmente, comece a correr em VM no Azure Stack Hub.Finally, start that VM running on Azure Stack Hub.

Como este processo pode ser propenso a erros e demorado, construímos scripts para ajudar a acelerar e automatizar este processo.As this process can be error prone and time consuming, we've built scripts to help accelerate and automate this process.

Nota

A ferramenta de recuperação do local Azure requer os módulos Azure Stack Hub Az.The Azure Site Recovery tool requires the Azure Stack Hub Az modules. Se estiver a executar os módulos Azure Stack Hub AzureRM, terá de atualizar a sua estação de trabalho ou utilizar a ferramenta de recuperação do local de recuperação do Azure num ambiente isolado com os módulos Az.If you are running the Azure Stack Hub AzureRM modules, you will need to upgrade your workstation or use the Azure Site Recovery failback tool in an isolated environment with the Az modules. Para obter mais informações, consulte o módulo PowerShell Az para O Centro de Pilhas Azure.For more information see Install PowerShell Az module for Azure Stack Hub.

Procedimento de failbackFailback procedure

O processo de falha automatizado contém três partes principais:The automated failback process contains three main parts:

  • Copy-AzSiteRecoveryVmVHD:Copy-AzSiteRecoveryVmVHD:

    • Desliga o Azure VM.Shuts down the Azure VM.
    • Prepara a exportação do disco.Prepares the disk export.
    • Copia o disco através da AzCopy ou do StorageBlobCopy.Copies the disk either through AzCopy or StorageBlobCopy.
    • Envia o disco para uma conta de armazenamento Azure Stack Hub.Uploads the disk to an Azure Stack Hub storage account.
  • Uma vez copiado o disco, existem dois cenários cobertos através do Prepare-AzSiteRecoveryVMFailBack:Once the disk is copied, there are two scenarios covered through Prepare-AzSiteRecoveryVMFailBack:

    • O Azure Stack Hub original recuperou.The original Azure Stack Hub has recovered. O VM original ainda existe, e só precisa de alterar os seus VHDs.The original VM still exists, and you only need to change its VHDs.
    • Em caso de desastre, se os VM originais estiverem perdidos, tens de reconstruir todo o VM.In the case of a disaster, if the original VMs are lost, you must rebuild the entire VM.

    Este procedimento abrange ambos os cenários criando o modelo e o ficheiro de parâmetros necessários.This procedure covers both scenarios by creating the template and the parameter file required.

  • A implementação real do modelo do Gestor de Recursos Azure utilizando o ficheiro de parâmetros e implementar/criar o VM no Azure Stack Hub.The actual deployment of the Azure Resource Manager template using the parameter file, and deploy/create the VM on Azure Stack Hub.

Pré-requisitosPrerequisites

São necessários os seguintes pré-requisitos para a realização do procedimento de desresso:The following prerequisites are required to perform the failback procedure:

Passo 1: Bolha de cópia de Azure para Azure Stack HubStep 1: Copy blob from Azure to Azure Stack Hub

Ligue para o cmdlet Copy-AzSiteRecoveryVmVHD PowerShell para parar o Azure VM, descarregue os VHDs do Azure e faça o upload para o Azure Stack Hub.Call the Copy-AzSiteRecoveryVmVHD PowerShell cmdlet to stop the Azure VM, download the VHDs from Azure, and upload them to Azure Stack Hub. Por exemplo:For example:

$uris = Copy-AzSiteRecoveryVmVHD `
        -SourceVM $vmOnAzure `
        -TargetStorageAccountName "targetaccountName" `
        -TargetStorageEndpoint "redmond.ext-v.masd.stbtest.microsoft.com" `
        -TargetStorageAccountKey $accountKey `
        -AzCopyPath "C:\azcopy_v10\azcopy.exe" `
        -VhdLocalFolder "C:\tempfolder"

Note as seguintes considerações:Note the following considerations:

  • Este exemplo utiliza $uris para manter o valor utilizado no passo SourceDiskVhdUris 2.This example uses $uristo hold the SourceDiskVhdUris value used in step 2.

  • O -SourceVM parâmetro é um objeto VM recuperado por Get-AzVM .The -SourceVM parameter is a VM object retrieved by Get-AzVM.

    • Este é o VM protegido do Azure Stack Hub que foi falhado em Azure.This is the protected VM from Azure Stack Hub that was failed over on Azure.
    • Não importa se o VM está a funcionar, pois o guião desliga o VM.It doesn't matter if the VM is running, as the script shuts down the VM. No entanto, recomenda-se que o desligue explicitamente e pare os serviços dentro do VM em conformidade.However, it is recommended that you explicitly shut it down and stop the services inside the VM accordingly.
  • Pode fornecer uma chave de conta (usando) TargetStorageAccountKey ou o token SAS (usando TargetStorageAccountSasToken ) da conta de armazenamento no lado do Azure Stack Hub.You can provide either an account key (using TargetStorageAccountKey) or the SAS token (using TargetStorageAccountSasToken) of the storage account on the Azure Stack Hub side. O token SAS deve ser criado ao nível da conta de armazenamento, com, pelo menos, as seguintes permissões:The SAS token must be created at the storage account level, with at least the following permissions:

    Permissões simbólicas SAS

  • Você pode fornecer o ponto final de armazenamento, que inclui a região e FQDN; por exemplo, regionname.azurestack.microsoft.com ou o nome ambiental do Azure Stack Hub, tais como AzureStackTenant .You can provide either the storage endpoint, which includes the region and FQDN; for example, regionname.azurestack.microsoft.com, or the environment name of the Azure Stack Hub, such as AzureStackTenant. Se o nome do ambiente for utilizado, deve ser listado através do Get-AzEnvironment.If the environment name is used, it should be listed using Get-AzEnvironment.

  • Pode optar por utilizar a AzCopy ou AzStorageBlobCopy para copiar o VHD de Azure para Azure Stack Hub.You can choose to use AzCopy or AzStorageBlobCopy to copy the VHD from Azure to Azure Stack Hub. O AzCopy é mais rápido, mas tem de transferir os ficheiros VHD para uma pasta local primeiro:AzCopy is faster, but it must download VHD files to a local folder first:

    • Para utilizar o AzCopy, forneça os parâmetros -AzCopyPath e -VhdLocalFolder (o caminho onde os VHDs serão copiados).To use AzCopy, provide the parameters -AzCopyPath and -VhdLocalFolder (the path where the VHDs will be copied).
    • Se não houver espaço suficiente localmente, pode optar por copiar o VHD diretamente, sem AzCopy, omitindo os parâmetros -AzCopyPath e . -VhdLocalFolder .If there is not enough space locally, you can choose to copy the VHD directly, without AzCopy, by omitting the parameters -AzCopyPath and -VhdLocalFolder. Por predefinição, este comando utiliza a AzStorageBlobCopy para copiar diretamente para a conta de armazenamento Azure Stack Hub.By default, this command uses AzStorageBlobCopy to copy directly to the Azure Stack Hub storage account.

Passo 2: Gerar modelos de gestor de recursosStep 2: Generate Resource Manager templates

Depois de copiar o disco, utilize o cmdlet Prepare-AzSiteRecoveryVMFailBack para criar o $templateFile e necessário para $parameterFile implantar o VM no Azure Stack Hub:After the disk is copied, use the Prepare-AzSiteRecoveryVMFailBack cmdlet to create the $templateFile and $parameterFile required to deploy the VM on Azure Stack Hub:

$templateFile, $parameterFile = Prepare-AzSiteRecoveryVMFailBack `
                                -SourceContextName "PublicAzure" `
                                -SourceVM $vmOnAzure `
                                -SourceDiskVhdUris $uris `
                                -TargetResourceLocation "redmond" `
                                -ArmTemplateDestinationPath "C:\ARMtemplates" `
                                -TargetVM $vmOnHub `
                                -TargetContextName "AzureStack"

Note as seguintes considerações:Note the following considerations:

  • Este exemplo utiliza -SourceDiskVhdUris como valor de retorno a partir do passo 1 (utilização). $urisThis example uses -SourceDiskVhdUris as a return value from step 1 (using $uris).

  • Este cmdlet suporta dois cenários:This cmdlet supports two scenarios:

    • Ao -TargetVM especificar, assume que o VM está ativo no lado do Azure Stack Hub, e pretende substituir os discos pelos discos mais recentes copiados do Azure.By specifying -TargetVM, you assume that the VM is active on the Azure Stack Hub side, and you want to replace its disks with the latest ones copied from Azure.
    • O script gera um modelo de Gestor de Recursos para implementar este VM, e elimina o VM existente do Azure Stack Hub.The script generates a Resource Manager template to deploy this VM, and deletes the existing VM from Azure Stack Hub.

    Nota

    A eliminação do Azure Stack Hub VM em si não remove os outros objetos (tais como VNET, grupo de recursos, NSGs).Deleting the Azure Stack Hub VM itself doesn’t remove the other objects (such as VNET, resource group, NSGs). Só remove o próprio recurso VM e, em seguida, o modelo é implantado com o -incremental parâmetro.It only removes the VM resource itself, and then the template is deployed with the -incremental parameter.

    • Ao não fornecer o -TargetVM parâmetro, o script assume que o VM já não existe no lado do Azure Stack Hub, pelo que o script cria um modelo de Gestor de Recursos para implementar um VM completamente novo.By not providing the -TargetVM parameter, the script assumes that the VM no longer exists on the Azure Stack Hub side, so the script creates a Resource Manager template to deploy a completely new VM.
  • Os ficheiros de modelo gerados do Gestor de Recursos são colocados sob -ArmTemplateDestinationPath , e o caminho completo do ficheiro do modelo ou do ficheiro de parâmetro é devolvido.The generated Resource Manager template files are placed under -ArmTemplateDestinationPath, and the full path of the template file or parameter file is returned.

  • Se o -TargetVM parâmetro for fornecido, o cmdlet elimina o VM, para que possa continuar com os seguintes passos.If the -TargetVM parameter is provided, the cmdlet deletes the VM, so you can continue with the following steps.

Passo 3: Implementar o modelo de Gestor de RecursosStep 3: Deploy the Resource Manager template

Neste ponto, o VHD é enviado para O Azure Stack Hub, e o modelo de Gestor de Recursos e respetivos ficheiros de parâmetros são criados.At this point, the VHD is uploaded to Azure Stack Hub, and the Resource Manager template and respective parameter files are created. Tudo o que resta é colocar o VM no Azure Stack Hub.All that's left is to deploy the VM on Azure Stack Hub.

Em alguns cenários, pode querer editar este modelo e adicionar, remover ou alterar alguns nomes ou recursos.In some scenarios, you might want to edit this template and add, remove, or change some names or resources. Isto é permitido, pois pode editar e ajustar o modelo conforme necessário.This is permitted, as you can edit and adjust the template as needed.

Quando estiver pronto, e depois de confirmar que os recursos no modelo de Gestor de Recursos são como esperado, pode ligar para o cmdlet New-AzResourceGroupDeployment para implementar os recursos.When ready, and after confirming the resources in the Resource Manager template are as expected, you can call the New-AzResourceGroupDeployment cmdlet to deploy the resources. Por exemplo:For example:

New-AzResourceGroupDeployment `
  -Name "Failback" `
  -ResourceGroupName "failbackrg" `
  -TemplateFile $templateFile `
  -TemplateParameterFile $parameterFile `
  -Mode Incremental

Note as seguintes considerações:Note the following considerations:

  • O -ResourceGroupName parâmetro deve ser um grupo de recursos existente.The -ResourceGroupName parameter should be an existing resource group.
  • Os -TemplateFile -TemplateParameterFile parâmetros e parâmetros vêm dos valores de retorno no passo 2.The -TemplateFile and -TemplateParameterFile parameters come from the return values in step 2.

Passos seguintesNext steps