Средство восстановления размещения Azure Site RecoveryAzure Site Recovery failback tool

В подключенной среде можно использовать Azure Site Recovery, чтобы защитить виртуальные машины, работающие в центре Azure Stack.In a connected environment, you can use Azure Site Recovery to protect virtual machines (VMs) running on Azure Stack Hub. В этой статье описывается, как настроить среду и как Site Recovery помогает принимать участие в общей стратегии непрерывности бизнес-процессов и аварийного восстановления для этих рабочих нагрузок.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.

В случае сбоя оператор Azure Stack концентратора проходит по процедуре отработки отказа . После того как центр Azure Stack снова работает, он проходит через процесс восстановления размещения .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. Процесс отработки отказа описан в этой Site Recovery статье, но процесс восстановления размещения включает в себя несколько ручных действий:The failover process is described in this Site Recovery article, but the failback process involves several manual steps:

  1. Завершите работу виртуальной машины в Azure.Stop the VM running in Azure.
  2. Скачайте виртуальные жесткие диски.Download the VHDs.
  3. Передайте виртуальные жесткие диски в центр Azure Stack.Upload the VHDs to Azure Stack Hub.
  4. Повторно создайте виртуальные машины.Recreate the VMs.
  5. Наконец, запустите эту виртуальную машину в центре Azure Stack.Finally, start that VM running on Azure Stack Hub.

Так как этот процесс может быть подвержен ошибкам и требует много времени, мы создали сценарии, которые помогут ускорить и автоматизировать этот процесс.As this process can be error prone and time consuming, we've built scripts to help accelerate and automate this process.

Примечание

Средство Azure Site Recovery требует наличия модулей Azure Stack AZ.The Azure Site Recovery tool requires the Azure Stack Hub Az modules. Если вы используете модули Azure Stack Hub AzureRM, вам потребуется обновить рабочую станцию или использовать средство восстановления размещения Azure Site Recovery в изолированной среде с модулями 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. Дополнительные сведения см. в разделе Установка PowerShell AZ Module для Azure Stack Hub.For more information see Install PowerShell Az module for Azure Stack Hub.

Процедура восстановления размещенияFailback procedure

Процесс автоматического восстановления размещения состоит из трех основных частей:The automated failback process contains three main parts:

  • Азситерековеривмвхд:Copy-AzSiteRecoveryVmVHD:

    • Завершает работу виртуальной машины Azure.Shuts down the Azure VM.
    • Подготавливает экспорт диска.Prepares the disk export.
    • Копирует диск с помощью AzCopy или Сторажеблобкопи.Copies the disk either through AzCopy or StorageBlobCopy.
    • Отправляет диск в учетную запись хранения Azure Stack концентратора.Uploads the disk to an Azure Stack Hub storage account.
  • После копирования диска существует два сценария, которые рассматриваются в разделе Prepare-азситерековеривмфаилбакк:Once the disk is copied, there are two scenarios covered through Prepare-AzSiteRecoveryVMFailBack:

    • Исходный центр Azure Stack восстановлен.The original Azure Stack Hub has recovered. Исходная виртуальная машина по-прежнему существует, и вам нужно только изменить ее виртуальные жесткие диски.The original VM still exists, and you only need to change its VHDs.
    • В случае аварии, если исходные виртуальные машины теряются, необходимо перестроить всю виртуальную машину.In the case of a disaster, if the original VMs are lost, you must rebuild the entire VM.

    Эта процедура охватывает оба сценария, создавая шаблон и необходимый файл параметров.This procedure covers both scenarios by creating the template and the parameter file required.

  • Фактическое развертывание шаблона Azure Resource Manager с помощью файла параметров и развертывание или создание виртуальной машины в центре Azure Stack.The actual deployment of the Azure Resource Manager template using the parameter file, and deploy/create the VM on Azure Stack Hub.

Предварительные условияPrerequisites

Для выполнения процедуры восстановления размещения требуются следующие необходимые компоненты:The following prerequisites are required to perform the failback procedure:

  • Скопируйте средство восстановления размещения Azure Site Recovery.Copy the Azure Site Recovery failback tool.

  • Импортируйте модуль Фаилбакктул. PSM1 в PowerShell.Import the FailbackTool.psm1 module in PowerShell.

  • Выполните процедуру, описанную в этой статье, чтобы установить модуль AZ для Azure Stack Hub.Follow the procedure in this article to install the Az module for Azure Stack Hub.

  • используемых Скачайте AzCopy версии 10.(optional) Download AzCopy version 10.

    • Копирование большого двоичного объекта с помощью AzCopy выполняется быстрее, но требует дополнительного места на локальном диске для временного хранения файла большого двоичного объекта.Copying the blob using AzCopy is faster, but requires extra local disk space to temporarily store the blob file.
    • Если AzCopy не используется, копирование VHD выполняется с помощью азсторажеблобкопи.If AzCopy is not used, the VHD copy is done using AzStorageBlobCopy. Это означает, что локальное хранилище не требуется, но процесс занимает больше времени.This means no local storage is required, but the process takes longer.
  • Доступ к ресурсам на портал Azure и доступ для создания этих ресурсов в центре Azure Stack.Access to the resources on the Azure portal, and access to create these resources on Azure Stack Hub.

Шаг 1. копирование большого двоичного объекта из Azure в центр Azure StackStep 1: Copy blob from Azure to Azure Stack Hub

Вызовите командлет PowerShell Copy-азситерековеривмвхд , чтобы отключить виртуальную машину Azure, скачать виртуальные жесткие диски из Azure и передать их в центр 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. Пример: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 the following considerations:

  • В этом примере используется $uris для хранения SourceDiskVhdUris значения, используемого на шаге 2.This example uses $uristo hold the SourceDiskVhdUris value used in step 2.

  • -SourceVMПараметр — это объект виртуальной машины, полученный Get-AzVM .The -SourceVM parameter is a VM object retrieved by Get-AzVM.

    • Это защищенная виртуальная машина из концентратора Azure Stack, для которого выполнена отработка отказа в Azure.This is the protected VM from Azure Stack Hub that was failed over on Azure.
    • Не имеет значения, работает ли виртуальная машина, так как сценарий завершает работу виртуальной машины.It doesn't matter if the VM is running, as the script shuts down the VM. Однако рекомендуется явно завершить его работу и остановить службы внутри виртуальной машины соответствующим образом.However, it is recommended that you explicitly shut it down and stop the services inside the VM accordingly.
  • Вы можете указать ключ учетной записи (используя TargetStorageAccountKey ) или маркер SAS (с помощью TargetStorageAccountSasToken ) учетной записи хранения на стороне концентратора Azure Stack.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. Маркер SAS должен быть создан на уровне учетной записи хранения с по крайней мере следующими разрешениями:The SAS token must be created at the storage account level, with at least the following permissions:

    Разрешения маркера SAS

  • Можно указать конечную точку хранилища, которая включает в себя регион и полное доменное имя. Например, regionname.azurestack.microsoft.com или имя среды центра Azure Stack, например 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. Если используется имя среды, оно должно быть указано с помощью команды Get-азенвиронмент.If the environment name is used, it should be listed using Get-AzEnvironment.

  • Вы можете использовать AzCopy или азсторажеблобкопи для копирования виртуального жесткого диска из Azure в центр Azure Stack.You can choose to use AzCopy or AzStorageBlobCopy to copy the VHD from Azure to Azure Stack Hub. AzCopy выполняется быстрее, но сначала необходимо загрузить VHD-файлы в локальную папку:AzCopy is faster, but it must download VHD files to a local folder first:

    • Чтобы использовать AzCopy, укажите параметры -AzCopyPath и -VhdLocalFolder (путь, по которому будут копироваться виртуальные жесткие диски).To use AzCopy, provide the parameters -AzCopyPath and -VhdLocalFolder (the path where the VHDs will be copied).
    • Если локально не хватает места, можно скопировать виртуальный жесткий диск напрямую, не AzCopy его, пропустив параметры -AzCopyPath и -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. По умолчанию эта команда использует азсторажеблобкопи для копирования непосредственно в учетную запись хранения Azure Stack Hub.By default, this command uses AzStorageBlobCopy to copy directly to the Azure Stack Hub storage account.

Шаг 2. Создание шаблонов диспетчер ресурсовStep 2: Generate Resource Manager templates

После копирования диска используйте командлет Prepare-азситерековеривмфаилбакк , чтобы создать $templateFile и $parameterFile развернуть виртуальную машину в центре 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"

Обратите внимание на следующие моменты:Note the following considerations:

  • В этом примере используется -SourceDiskVhdUris как возвращаемое значение из шага 1 (с помощью $uris ).This example uses -SourceDiskVhdUris as a return value from step 1 (using $uris).

  • Этот командлет поддерживает два сценария:This cmdlet supports two scenarios:

    • Указав -TargetVM , предполагается, что виртуальная машина активна на стороне концентратора Azure Stack и вы хотите заменить ее диски последними скопированными из 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.
    • Скрипт создает шаблон диспетчер ресурсов для развертывания этой виртуальной машины и удаляет имеющуюся виртуальную машину из центра Azure Stack.The script generates a Resource Manager template to deploy this VM, and deletes the existing VM from Azure Stack Hub.

    Примечание

    Удаление самой виртуальной машины центра Azure Stack не приводит к удалению других объектов (таких как VNET, Группа ресурсов, группы безопасности сети).Deleting the Azure Stack Hub VM itself doesn’t remove the other objects (such as VNET, resource group, NSGs). Он удаляет только сам ресурс виртуальной машины, а затем шаблон развертывается с -incremental параметром.It only removes the VM resource itself, and then the template is deployed with the -incremental parameter.

    • Если не указать -TargetVM параметр, сценарий предполагает, что виртуальная машина больше не существует на стороне Azure Stack концентратора, поэтому скрипт создает шаблон диспетчер ресурсов для развертывания полностью новой виртуальной машины.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.
  • Созданные файлы шаблонов диспетчер ресурсов помещаются в -ArmTemplateDestinationPath , и возвращается полный путь к файлу шаблона или файлу параметров.The generated Resource Manager template files are placed under -ArmTemplateDestinationPath, and the full path of the template file or parameter file is returned.

  • Если -TargetVM указан параметр, командлет удаляет виртуальную машину, поэтому можно продолжить выполнение следующих действий.If the -TargetVM parameter is provided, the cmdlet deletes the VM, so you can continue with the following steps.

Шаг 3. Развертывание шаблона диспетчер ресурсовStep 3: Deploy the Resource Manager template

На этом этапе виртуальный жесткий диск отправляется в центр Azure Stack, а также создается шаблон диспетчер ресурсов и соответствующие файлы параметров.At this point, the VHD is uploaded to Azure Stack Hub, and the Resource Manager template and respective parameter files are created. Все, что осталось, — это развернуть виртуальную машину в центре Azure Stack.All that's left is to deploy the VM on Azure Stack Hub.

В некоторых сценариях может потребоваться изменить этот шаблон, а также добавить, удалить или изменить некоторые имена или ресурсы.In some scenarios, you might want to edit this template and add, remove, or change some names or resources. Это разрешено, так как при необходимости можно изменить и настроить шаблон.This is permitted, as you can edit and adjust the template as needed.

Когда все будет готово и после подтверждения ресурсов в шаблоне диспетчер ресурсов, можно вызвать командлет New-азресаурцеграупдеплоймент для развертывания ресурсов.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. Пример:For example:

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

Обратите внимание на следующие моменты:Note the following considerations:

  • -ResourceGroupNameПараметр должен быть существующей группой ресурсов.The -ResourceGroupName parameter should be an existing resource group.
  • -TemplateFileПараметры и -TemplateParameterFile берутся из возвращаемых значений на шаге 2.The -TemplateFile and -TemplateParameterFile parameters come from the return values in step 2.

Следующие шагиNext steps