Azure Site Recovery:使用PowerShell实现Azure到VMware的重保护与故障回复
ASR Azure到VMware故障回复及重保护PowerShell操作指南
一、核心参数说明
针对你混淆的-Direction参数:
RecoveryToPrimary:通用型反向保护参数,适用于所有灾备场景的主备切换;在Azure到VMware的故障回复场景中,它和AzureToVMware功能等价,但后者是场景专属参数,更明确,推荐优先使用AzureToVMware避免歧义。
二、关键对象参数的正确获取方式
你遇到的字符串无法转换为ASR类型问题,是因为直接传名称字符串无效,必须获取对应的ASR对象:
1. 获取Azure端ASR基础对象
# 获取Azure侧的ASR Fabric $azureFabric = Get-AzRecoveryServicesAsrFabric -Name "你的Azure Fabric名称" # 获取Azure侧的保护容器 $azureContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $azureFabric
2. 获取VMware端ASR基础对象
# 获取VMware侧的ASR Fabric $vmwareFabric = Get-AzRecoveryServicesAsrFabric -Name "你的VMware Fabric名称" # 获取VMware侧的保护容器 $vmwareContainer = Get-AzRecoveryServicesAsrProtectionContainer -Fabric $vmwareFabric # 获取目标数据存储(ASRDataStore类型) $targetDatastore = Get-AzRecoveryServicesAsrDataStore -Fabric $vmwareFabric -Name "你的VMware数据存储名称" # 获取目标ESXi主机/集群 $targetHost = Get-AzRecoveryServicesAsrCompute -Fabric $vmwareFabric -Name "你的ESXi主机/集群名称" # 获取目标资源池 $targetResourcePool = Get-AzRecoveryServicesAsrResourcePool -Fabric $vmwareFabric -Name "你的资源池名称" # 获取原VMware到Azure的复制策略 $replicationPolicy = Get-AzRecoveryServicesAsrPolicy -Name "你的VMware到Azure复制策略名称"
三、重保护(Azure到VMware)命令
确保Azure端VM已完成非计划故障转移并提交,执行以下命令:
# 获取Azure端的复制项(故障转移后的VM) $replicationItem = Get-AzRecoveryServicesAsrReplicationItem -ProtectionContainer $azureContainer -Name "Azure端VM名称" # 启动重保护任务 $reprotectJob = Update-AzRecoveryServicesAsrProtectionDirection -ReplicationItem $replicationItem ` -Direction AzureToVMware ` -ProtectionContainer $vmwareContainer ` -DataStore $targetDatastore ` -Compute $targetHost ` -ResourcePool $targetResourcePool ` -Policy $replicationPolicy # 等待重保护任务完成 Wait-AzRecoveryServicesAsrJob -Job $reprotectJob
若仍出现对象引用错误,排查点:
- 确认
$replicationItem正确获取(Azure端VM必须已提交故障转移) - 所有VMware端对象(存储、主机、资源池)属于同一个Fabric和保护容器
- 复制策略是原VMware到Azure的有效策略
四、故障回复(激活VMware端VM)
重保护完成后,VMware端复制项进入受保护状态,执行故障回复:
# 获取VMware端的复制项 $vmwareReplicationItem = Get-AzRecoveryServicesAsrReplicationItem -ProtectionContainer $vmwareContainer -Name "VMware端目标VM名称" # 执行非计划故障转移(故障回复) $failoverJob = Start-AzRecoveryServicesAsrUnplannedFailoverJob -ReplicationItem $vmwareReplicationItem -Direction PrimaryToRecovery # 等待故障转移完成 Wait-AzRecoveryServicesAsrJob -Job $failoverJob # 提交故障转移 $commitJob = Start-AzRecoveryServicesAsrCommitFailoverJob -ReplicationItem $vmwareReplicationItem # 等待提交完成 Wait-AzRecoveryServicesAsrJob -Job $commitJob
五、恢复VMware到Azure的复制方向
故障回复完成后,若需重新开启VMware到Azure的复制,切换保护方向:
# 更新保护方向回VMware到Azure $restoreReplicationJob = Update-AzRecoveryServicesAsrProtectionDirection -ReplicationItem $vmwareReplicationItem ` -Direction RecoveryToPrimary ` -ProtectionContainer $azureContainer ` -Policy $replicationPolicy Wait-AzRecoveryServicesAsrJob -Job $restoreReplicationJob
内容的提问来源于stack exchange,提问作者Roger McCarrick
相关产品推荐
相关产品推荐

