Strumento di failback Azure Site RecoveryAzure Site Recovery failback tool

In un ambiente connesso, è possibile usare Azure Site Recovery per proteggere le macchine virtuali (VM) in esecuzione nell'hub Azure Stack.In a connected environment, you can use Azure Site Recovery to protect virtual machines (VMs) running on Azure Stack Hub. Questo articolo descrive come configurare l'ambiente e come Site Recovery contribuisca alla strategia complessiva di continuità aziendale e ripristino di emergenza per questi carichi di lavoro.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.

In caso di interruzione, l'operatore Azure Stack Hub passa attraverso la procedura di failover . Quando Azure Stack Hub è di nuovo operativo, viene eseguito un processo di failback .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. Il processo di failover viene descritto in questo articolo Site Recovery, ma il processo di failback prevede diversi passaggi manuali:The failover process is described in this Site Recovery article, but the failback process involves several manual steps:

  1. Arrestare la macchina virtuale in esecuzione in Azure.Stop the VM running in Azure.
  2. Scaricare i dischi rigidi virtuali.Download the VHDs.
  3. Caricare i dischi rigidi virtuali nell'hub Azure Stack.Upload the VHDs to Azure Stack Hub.
  4. Ricreare le macchine virtuali.Recreate the VMs.
  5. Infine, avviare la macchina virtuale in esecuzione nell'hub Azure Stack.Finally, start that VM running on Azure Stack Hub.

Poiché questo processo può essere soggetto a errori e dispendioso in termini di tempo, abbiamo creato script che consentono di accelerare e automatizzare questo processo.As this process can be error prone and time consuming, we've built scripts to help accelerate and automate this process.

Nota

Lo strumento Azure Site Recovery richiede l'hub Azure Stack AZ modules.The Azure Site Recovery tool requires the Azure Stack Hub Az modules. Se si eseguono i moduli AzureRM dell'hub di Azure Stack, sarà necessario aggiornare la workstation o usare lo strumento di failback Azure Site Recovery in un ambiente isolato con il comando AZ modules.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. Per altre informazioni, vedere Install PowerShell AZ Module for Azure stack Hub.For more information see Install PowerShell Az module for Azure Stack Hub.

Procedura di failbackFailback procedure

Il processo di failback automatico contiene tre parti principali:The automated failback process contains three main parts:

  • Copy-AzSiteRecoveryVmVHD:Copy-AzSiteRecoveryVmVHD:

    • Arresta la macchina virtuale di Azure.Shuts down the Azure VM.
    • Prepara l'esportazione del disco.Prepares the disk export.
    • Copia il disco tramite AzCopy o StorageBlobCopy.Copies the disk either through AzCopy or StorageBlobCopy.
    • Carica il disco in un account di archiviazione Hub Azure Stack.Uploads the disk to an Azure Stack Hub storage account.
  • Una volta copiato il disco, esistono due scenari trattati tramite Prepare-AzSiteRecoveryVMFailBack:Once the disk is copied, there are two scenarios covered through Prepare-AzSiteRecoveryVMFailBack:

    • L'hub Azure Stack originale è stato recuperato.The original Azure Stack Hub has recovered. La macchina virtuale originale è ancora presente ed è necessario modificarne solo i VHD.The original VM still exists, and you only need to change its VHDs.
    • In caso di emergenza, se le VM originali vengono perse, è necessario ricompilare l'intera VM.In the case of a disaster, if the original VMs are lost, you must rebuild the entire VM.

    Questa procedura illustra entrambi gli scenari creando il modello e il file dei parametri necessario.This procedure covers both scenarios by creating the template and the parameter file required.

  • La distribuzione effettiva del modello di Azure Resource Manager usando il file di parametri e distribuire/creare la macchina virtuale nell'hub Azure Stack.The actual deployment of the Azure Resource Manager template using the parameter file, and deploy/create the VM on Azure Stack Hub.

PrerequisitiPrerequisites

Per eseguire la procedura di failback sono necessari i prerequisiti seguenti:The following prerequisites are required to perform the failback procedure:

  • Copiare lo strumento Azure Site Recovery failback.Copy the Azure Site Recovery failback tool.

  • Importare il modulo FailbackTool. psm1 in PowerShell.Import the FailbackTool.psm1 module in PowerShell.

  • Seguire la procedura descritta in questo articolo per installare il modulo AZ per Azure stack Hub.Follow the procedure in this article to install the Az module for Azure Stack Hub.

  • opzionale Scaricare AzCopy versione 10.(optional) Download AzCopy version 10.

    • La copia del BLOB con AzCopy è più veloce, ma richiede spazio su disco locale aggiuntivo per archiviare temporaneamente il file BLOB.Copying the blob using AzCopy is faster, but requires extra local disk space to temporarily store the blob file.
    • Se AzCopy non viene utilizzato, la copia del disco rigido virtuale viene eseguita utilizzando AzStorageBlobCopy.If AzCopy is not used, the VHD copy is done using AzStorageBlobCopy. Ciò significa che non è necessaria alcuna archiviazione locale, ma il processo richiede più tempo.This means no local storage is required, but the process takes longer.
  • Accedere alle risorse nella portale di Azure e accedere per creare queste risorse nell'hub Azure Stack.Access to the resources on the Azure portal, and access to create these resources on Azure Stack Hub.

Passaggio 1: copiare un BLOB da Azure all'hub Azure StackStep 1: Copy blob from Azure to Azure Stack Hub

Chiamare il cmdlet di PowerShell Copy-AzSiteRecoveryVmVHD per arrestare la macchina virtuale di Azure, scaricare i dischi rigidi virtuali da Azure e caricarli nell'hub Azure stack.Call the Copy-AzSiteRecoveryVmVHD PowerShell cmdlet to stop the Azure VM, download the VHDs from Azure, and upload them to Azure Stack Hub. Ad esempio: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"

Tenere presenti le seguenti considerazioni:Note the following considerations:

  • Questo esempio usa $uris per conservare il SourceDiskVhdUris valore usato nel passaggio 2.This example uses $uristo hold the SourceDiskVhdUris value used in step 2.

  • Il -SourceVM parametro è un oggetto macchina virtuale recuperato da Get-AzVM .The -SourceVM parameter is a VM object retrieved by Get-AzVM.

    • Si tratta della macchina virtuale protetta dall'hub Azure Stack di cui è stato eseguito il failover in Azure.This is the protected VM from Azure Stack Hub that was failed over on Azure.
    • Non è importante se la macchina virtuale è in esecuzione, perché lo script arresta la macchina virtuale.It doesn't matter if the VM is running, as the script shuts down the VM. È tuttavia consigliabile arrestarlo in modo esplicito e arrestare di conseguenza i servizi all'interno della macchina virtuale.However, it is recommended that you explicitly shut it down and stop the services inside the VM accordingly.
  • È possibile specificare una chiave dell'account (usando TargetStorageAccountKey ) o il token SAS (usando TargetStorageAccountSasToken ) dell'account di archiviazione sul lato 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. Il token di firma di accesso condiviso deve essere creato a livello di account di archiviazione, con almeno le autorizzazioni seguenti:The SAS token must be created at the storage account level, with at least the following permissions:

    Autorizzazioni per i token SAS

  • È possibile specificare l'endpoint di archiviazione, che include l'area e il nome di dominio completo; ad esempio, regionname.azurestack.microsoft.com o il nome dell'ambiente dell'Hub Azure stack, ad esempio 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 viene utilizzato il nome dell'ambiente, è necessario elencarlo utilizzando Get-AzEnvironment.If the environment name is used, it should be listed using Get-AzEnvironment.

  • È possibile scegliere di usare AzCopy o AzStorageBlobCopy per copiare il disco rigido virtuale da Azure all'hub Azure stack.You can choose to use AzCopy or AzStorageBlobCopy to copy the VHD from Azure to Azure Stack Hub. AzCopy è più veloce, ma deve scaricare prima i file VHD in una cartella locale:AzCopy is faster, but it must download VHD files to a local folder first:

    • Per usare AzCopy, fornire i parametri -AzCopyPath e -VhdLocalFolder (il percorso in cui verranno copiati i dischi rigidi virtuali).To use AzCopy, provide the parameters -AzCopyPath and -VhdLocalFolder (the path where the VHDs will be copied).
    • Se lo spazio in locale non è sufficiente, è possibile scegliere di copiare il disco rigido virtuale direttamente, senza AzCopy, omettendo i parametri -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. Per impostazione predefinita, questo comando USA AzStorageBlobCopy per copiare direttamente nell'account di archiviazione dell'hub Azure stack.By default, this command uses AzStorageBlobCopy to copy directly to the Azure Stack Hub storage account.

Passaggio 2: generare modelli di Gestione risorseStep 2: Generate Resource Manager templates

Dopo la copia del disco, usare il cmdlet Prepare-AzSiteRecoveryVMFailBack per creare $templateFile e $parameterFile necessario per distribuire la VM nell'hub Azure stack: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"

Tenere presenti le seguenti considerazioni:Note the following considerations:

  • Questo esempio usa -SourceDiskVhdUris come valore restituito dal passaggio 1 (usando $uris ).This example uses -SourceDiskVhdUris as a return value from step 1 (using $uris).

  • Questo cmdlet supporta due scenari:This cmdlet supports two scenarios:

    • Specificando -TargetVM , si presuppone che la macchina virtuale sia attiva sul lato Hub Azure stack e si desideri sostituirne i dischi con quelli più recenti copiati da 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.
    • Lo script genera un modello di Gestione risorse per distribuire questa macchina virtuale ed elimina la macchina virtuale esistente dall'hub Azure Stack.The script generates a Resource Manager template to deploy this VM, and deletes the existing VM from Azure Stack Hub.

    Nota

    L'eliminazione della macchina virtuale Azure Stack Hub non comporta la rimozione degli altri oggetti, ad esempio VNET, gruppo di risorse, gruppi.Deleting the Azure Stack Hub VM itself doesn’t remove the other objects (such as VNET, resource group, NSGs). Rimuove solo la risorsa della macchina virtuale e quindi il modello viene distribuito con il -incremental parametro.It only removes the VM resource itself, and then the template is deployed with the -incremental parameter.

    • Se non si specifica il -TargetVM parametro, lo script presuppone che la macchina virtuale non esista più sul lato Azure stack Hub, quindi lo script crea un modello di gestione risorse per distribuire una macchina virtuale completamente nuova.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.
  • I file modello di Gestione risorse generati vengono inseriti in -ArmTemplateDestinationPath e viene restituito il percorso completo del file modello o del file di parametri.The generated Resource Manager template files are placed under -ArmTemplateDestinationPath, and the full path of the template file or parameter file is returned.

  • Se -TargetVM viene specificato il parametro, il cmdlet elimina la macchina virtuale, pertanto è possibile continuare con i passaggi seguenti.If the -TargetVM parameter is provided, the cmdlet deletes the VM, so you can continue with the following steps.

Passaggio 3: distribuire il modello di Gestione risorseStep 3: Deploy the Resource Manager template

A questo punto, il disco rigido virtuale viene caricato nell'hub Azure Stack e vengono creati il modello di Gestione risorse e i rispettivi file di parametri.At this point, the VHD is uploaded to Azure Stack Hub, and the Resource Manager template and respective parameter files are created. È possibile distribuire la macchina virtuale nell'hub Azure Stack.All that's left is to deploy the VM on Azure Stack Hub.

In alcuni scenari potrebbe essere necessario modificare il modello e aggiungere, rimuovere o modificare alcuni nomi o risorse.In some scenarios, you might want to edit this template and add, remove, or change some names or resources. Questa operazione è consentita, in quanto è possibile modificare e modificare il modello in base alle esigenze.This is permitted, as you can edit and adjust the template as needed.

Quando si è pronti, e dopo aver confermato le risorse nel modello di Gestione risorse sono previsti, è possibile chiamare il cmdlet New-AzResourceGroupDeployment per distribuire le risorse.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. Ad esempio:For example:

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

Tenere presenti le seguenti considerazioni:Note the following considerations:

  • Il -ResourceGroupName parametro deve essere un gruppo di risorse esistente.The -ResourceGroupName parameter should be an existing resource group.
  • I -TemplateFile -TemplateParameterFile parametri e provengono dai valori restituiti nel passaggio 2.The -TemplateFile and -TemplateParameterFile parameters come from the return values in step 2.

Passaggi successiviNext steps