練習 - 使用 Azure Site Recovery 進行容錯移轉和容錯回復
您可使用三種方式來容錯移轉受保護的資源:使用入口網站、使用 PowerShell,或使用 Azure 自動化 Runbook,以將容錯移轉自動化。
在所有資源都受到保護的情況下,您可對 patient-records VM 執行實際的容錯移轉。 DR 演練完成之後,您將使用 PowerShell 與入口網站進行容錯移轉。 完成之後,您將會有更好的立場來推薦公司應該使用哪種方法。
在本練習中,您將使用 PowerShell 來容錯移轉 VM,並使用 Azure 入口網站來容錯回復 VM。
使用 PowerShell 將 VM 容錯移轉到次要地區
使用您自己的認證登入 Azure 入口網站。
啟動 Cloud Shell,並將它切換到 PowerShell。
執行下列命令:
$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 保存庫儲存於變數中。
- 將工作階段的內容設定為保存庫。
- 儲存來自保存庫且受保護的病患記錄。
- 取得所有復原點的清單。
- 觸發最新復原點的容錯移轉。
- 顯示容錯移轉結果。
容錯移轉需要數分鐘的時間。 當指令碼正在執行時,讓 Cloud Shell 保持開啟,並移至 asr-vault。
在左側功能表窗格的 [監視] 底下,選取 [Site Recovery 作業]。
注意
您可以在指令碼執行的同時,檢視容錯移轉作業的進度。
當容錯移轉完成時,請從 Azure 首頁選取 [虛擬機器],以檢查是否已將 patient-record VM 容錯移轉到東海岸區域。
現在有三部 VM,其中兩部的名稱為 patient-records。
使用 PowerShell 重新保護 VM
成功完成容錯移轉之後,即可重新保護 VM。
執行下列命令:
$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 分鐘才能完成。
您可以執行此 PowerShell 命令來監視作業:
Get-AzRecoveryServicesAsrJob -Job $ReprotectJob
此命令會傳回作業的狀態。 輸出看起來會類似此範例:
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] 為 [已完成]。
使用入口網站容錯回復到美國西部區域
關閉 Cloud Shell,以更輕鬆地使用 Azure 入口網站。
在首頁上,選取 [所有資源]。
並選取 [asr-vault],
在左側功能表窗格中,選取 [受保護的項目] 底下的 [已複寫的項目]。
選取 [patient-records]。
直到複寫完成且同步處理 100% 完成之前,您無法對 VM 進行容錯回復。 同步處理程序可能需要數分鐘才能完成。
同步處理完成之後,請選取 [容錯移轉]。
針對復原點,請選取 [最新處理 (低 RTO)]。
若要開始容錯回復,請選取 [確定]。
監視容錯回復
在首頁上,選取 [所有資源]。
並選取 [asr-vault],
在左側功能表窗格的 [監視] 下,選取 [Site Recovery 作業]。
選取進行中的 [容錯移轉] 作業。