练习 - 使用 Azure Site Recovery 进行故障转移和故障回复

已完成

可采用三种方式对受保护的资源进行故障转移:使用门户、使用 PowerShell,或使用 Azure 自动化 runbook 自动执行故障转移。

在所有资源都得到保护的情况下,可以运行患者记录 VM 的实际故障转移。 DR 演练完成后,需通过 PowerShell 和门户进行故障转移。 完成后,你可以更有把握地推荐公司应使用的方法。

本练习将使用 PowerShell 完成 VM 故障转移,并使用 Azure 门户对 VM 进行故障回复。

使用 PowerShell 将 VM 故障转移到次要区域

  1. 使用自己的凭据登录到 Azure 门户

  2. 启动 Cloud Shell 并将其切换到 PowerShell。

  3. 运行以下命令:

        $vault = Get-AzRecoveryServicesVault -Name "asr-vault"
        Set-AzRecoveryServicesAsrVaultContext -Vault $vault
        $PrimaryFabric = Get-AsrFabric -Name "asr-a2a-default-westus2"
        $PrimaryProtContainer = Get-ASRProtectionContainer -Fabric $PrimaryFabric
        $ReplicationProtectedItem = Get-ASRReplicationProtectedItem -ProtectionContainer $PrimaryProtContainer -FriendlyName "patient-records"
        $RecoveryPoints = Get-ASRRecoveryPoint -ReplicationProtectedItem $ReplicationProtectedItem
        $Job_Failover = Start-ASRUnplannedFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem -Direction PrimaryToRecovery -RecoveryPoint $RecoveryPoints[-1]
    
        do {
                $Job_Failover = Get-ASRJob -Job $Job_Failover;
                sleep 30;
        } while (($Job_Failover.State -eq "InProgress") -or ($JobFailover.State -eq "NotStarted"))
    
        $Job_Failover.State
        $CommitFailoverJob = Start-ASRCommitFailoverJob -ReplicationProtectedItem $ReplicationProtectedItem
        Get-ASRJob -Job $CommitFailoverJob
    

    这些 PowerShell 命令执行以下操作:

    • 将 Azure Site Recovery 保管库存储在变量中。
    • 设置保管库会话的上下文。
    • 存储来自保管库的受保护的患者记录。
    • 获取所有恢复点的列表。
    • 触发最新恢复点的故障转移。
    • 显示故障转移结果。
  4. 故障转移可能需要几分钟的时间。 在脚本运行时,使 Cloud Shell 保持打开并转到 asr-vault。

  5. 在左侧菜单窗格上,在“监视”下选择“Site Recovery 作业”。

    注意

    你可以在运行脚本的同时查看故障转移作业的进度。

  6. 故障转移完成后,请从 Azure 主页选择“虚拟机”,检查是否已将患者记录 VM 故障转移到东海岸区域。

  7. 现在有三个 VM,其中两个名为“患者记录”。

使用 PowerShell 重新保护 VM

  1. 成功完成故障转移后,可以重新保护 VM。

  2. 运行以下命令:

    $RecoveryFabric = Get-AsrFabric -Name "asr-a2a-default-eastus2"
    $RecoveryProtContainer = Get-ASRProtectionContainer -Fabric $RecoveryFabric
    $ProtectionContainerMapping = Get-AzRecoveryServicesAsrProtectionContainerMapping -ProtectionContainer $RecoveryProtContainer -Name eastus2-westus2-24-hour-retention-policy
    $StorageAccount = New-AzStorageAccount -ResourceGroupName "east-coast-rg" -AccountName "reprotectcache$(Get-Random)" -Location eastus2 -SkuName Standard_GRS
    $ResourceGroup = Get-AzResourceGroup -Name "west-coast-rg"
    
    $ReprotectJob = Update-AzRecoveryServicesAsrProtectionDirection -AzureToAzure -ProtectionContainerMapping $ProtectionContainerMapping -ReplicationProtectedItem $ReplicationProtectedItem -LogStorageAccountId $StorageAccount.ID -RecoveryResourceGroupId $ResourceGroup.ResourceId
    

    这些 PowerShell 命令执行以下操作:

    • 设置 Update-AzRecoveryServicesAsrProtectionDirection 命令将使用的变量。
    • 需要存储帐户以存储重新保护的日志和数据。 此存储需要与受保护的 VM 位于同一区域。
    • 使用最后一行启动重新保护作业,并存储对它的引用。

使用 PowerShell 进行监视和测试

重新保护 VM 的作业可能需要大约 10 分钟才能完成。

  1. 可以运行此 PowerShell 命令来监视该作业:

    Get-AzRecoveryServicesAsrJob -Job $ReprotectJob
    
  2. 此命令将返回作业的状态。 输出如下所示:

    Name             : 0993fa3c-6ac1-4d96-920d-df06830d49f2
    ID               : /Subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/east-coast-rg/providers/Microsoft.RecoveryServices/vaults/asr-vault/replicationJobs/0993fa3c-6ac1-4d96
                       -920d-df06830d49f2
    Type             : Microsoft.RecoveryServices/vaults/replicationJobs
    JobType          : SwitchReplicationGroupProtection
    DisplayName      : Reprotect
    ClientRequestId  :
    State            : Succeeded
    StateDescription : Completed
    StartTime        : 7/22/19 10:25:49 AM
    EndTime          : 7/22/19 10:35:07 AM
    TargetObjectId   : 28542035-9d78-58c9-a3ec-0ad29b0a88d8
    TargetObjectType : ProtectionEntity
    TargetObjectName : patient-records
    AllowedActions   :
    Tasks            : {}
    Errors           : {}
    

    注意

    重新保护完成后,状态为“成功”,StateDescription 为“已完成”。

使用门户故障回复到美国西部区域

  1. 关闭 Cloud Shell 以更轻松地使用 Azure 门户。

  2. 在主页上,选择“所有资源”。

  3. 选择“asr-vault”。

  4. 在左侧菜单窗格中,在“受保护的项”下选择“复制的项”。

  5. 选择“患者记录”。

    只有完成复制且 100% 完成同步之后,才能对 VM 进行故障回复。 同步过程可能需要几分钟才能完成。

  6. 同步完成后,选择“故障转移”。

  7. 对于恢复点,请选择“最新处理(低 RTO)”。

  8. 选择“确定”,开始故障回复。

监视故障回复

  1. 在主页上,选择“所有资源”。

  2. 选择“asr-vault”。

  3. 在左侧菜单窗格中,在“监视”下选择“Site Recovery 作业”。

  4. 选择正在进行的“故障转移”作业。