You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 16:42:53