Azure自动化通过PowerShell执行Site Recovery A2A重新保护失败问题
问题原因及解决方案
报错根因
导致Unsupported replication provider A2A for reprotect报错的核心原因有3个:
- 你的Azure Automation账户中安装的
Az.RecoveryServicesPowerShell模块版本过低:低于4.8.0版本的模块仅支持单台虚拟机级别的A2A重新保护,不支持恢复计划级别的批量重新保护,就会抛出A2A提供商不支持的错误。 - 恢复计划内的受保护项状态不符合重新保护要求:故障转移作业未完全完成、部分虚机的复制状态异常、存在未结束的ASR后台作业时,调用恢复计划级反向保护会触发该报错。
- 恢复计划内存在非A2A的受保护项:如果恢复计划同时包含A2A和其他类型(比如VMware到Azure、物理机到Azure)的复制项,也会触发该校验错误。
修复步骤
- 先升级自动化账户的
Az.RecoveryServices模块到4.8.0及以上最新稳定版,你可以在Azure门户的自动化账户左侧菜单「共享资源 - 模块」中找到该模块,点击升级即可。 - 执行重新保护前先校验恢复计划状态,运行如下代码确认所有受保护项状态正常:
# 接你原有获取 vault 和恢复计划的代码 $protectedItems = Get-AzRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $container # 遍历确认所有项的InstanceType为A2A,且故障转移状态为已完成
- 调整你的执行命令,添加跳过确认参数避免自动化执行中断:
$job = Update-AzRecoveryServicesAsrProtectionDirection -RecoveryPlan $RP -Direction RecoveryToPrimary -Confirm:$false
如果你故障转移后已经删除了原源区域的虚拟机/网卡等资源,需要额外补充-Path参数指定新的源端资源映射配置后再执行。
如果上述操作后依然报错,可以先测试单台受保护项的重新保护是否正常,排除单个复制项的状态异常问题。
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

