排查无代理 VMware VM 迁移过程中的复制问题

使用无代理复制方式复制 VMware 虚拟机时,会将虚拟机磁盘 (vmdk) 中的数据复制到 Azure 订阅中的副本托管磁盘。 当 VM 复制开始时,将触发初始复制周期,在此周期会复制磁盘的完整副本。 初始复制完成后,会定期安排增量复制周期,以传输自上次复制周期以来发生的任何变更。 你可能偶尔会发现 VM 的复制周期失败。 这些故障可能由多种原因引起,包括本地网络配置问题以及 Azure Migrate Cloud Service 后端的问题。

本文介绍了使用无代理方法复制本地VMware虚拟机时可能遇到的一些常见问题和具体错误。 它还提出了改进这些问题的建议措施。

常见复制错误

以下错误代码在Azure Migrate的无代理VMware复制过程中经常出现。 请使用下表中的指导来修正这些错误。

Error 原因 Action
542:存储账户未找到 该行动失败的原因之一是:
- 你把存储账户转到了另一个资源组。
- 你删除了用于虚拟机复制数据存储的存储账户。
- 你将存储账户从经典迁移到资源管理器部署模型。
在虚拟机上停止复制,并在虚拟机上重新启动或启用复制。
587:StateContainerNotFound(未找到) 虚拟机的复制功能被禁用。 在虚拟机上停止复制,并在虚拟机上重新启动或启用复制。
633:订阅快照操作受到限制 该订阅包含大量受保护磁盘,导致聚合快照操作超过Azure订阅级别的速率限制。 30分钟后重试操作。 如果问题依旧,建议将受保护虚拟机分散到多个订阅或联系客服。
508:重新同步快照不存在。 重新同步快照被删除了。 重新开始同步。 如果该问题仍然存在,请联系支持部门。
1039:KeyVault 权限不足 密钥保管库 的必要权限可能会被移除。 1. 为 Hyper-V Recovery Manager 应用授予以下密钥保管库权限:获取、列出、删除、设置、更新、重新生成密钥、获取 SAS、列出 SAS、删除 SAS、设置 SAS、恢复、备份、还原。
2. 赋予 *authandaccessaadapp 应用以下 密钥保管库 权限:获取、列表、设置、更新、删除、恢复、备份、恢复。
3. 确保绑定在AAD应用上的证书有效且已安装在设备上。
4. 确保订阅内现有的 Azure 策略具有豁免,允许访问 密钥保管库。
5. 确保网络配置允许访问 密钥保管库 资源。
6. 重试手术。 如果该问题仍然存在,请联系支持部门。
572:合并磁盘失败 复制周期结束时无法合并虚拟机上的磁盘。 重试操作。 在重试前先关闭可能运行的备份应用。 如果该问题仍然存在,请联系支持部门。
1022:主机连接拒绝 Azure Migrate 设备无法连接到 vSphere 主机。 这种情况可能发生在:
- 设备无法解析vSphere主机的主机名。
- 设备无法连接到 TCP 端口 902(VMware VDDK 默认端口)的 vSphere 主机,因为该端口被主机或网络防火墙阻挡。
1. 验证设备中的主机名分辨率: nslookup '<HostName>'
2. 如果DNS解析失败,要么修复DNS,要么在设备上添加静态条目 C:\Windows\System32\drivers\etc\hosts
3. 验证TCP连接性: Test-NetConnection '<HostName>' -Port 902
4. 如果TCP测试失败,请联系网络团队移除防火墙屏蔽。
563:DiskSnapshotChangeIdIsNotAvailable 该行动失败的原因包括:
- 磁盘未启用更改块追踪(CBT),或
- 磁盘被标记为独立磁盘。
- 启用更改块跟踪(CBT),然后重试。 更多信息请参见 VMware CBT指南
- 移除独立磁盘或使其依赖。
- 在重试前停止可能运行的备份应用。 如果该问题仍然存在,请联系支持部门。
566:未发现磁盘快照 该行动失败的原因之一是:
- 由于 Storage vMotion,所包含的一个或多个磁盘的路径已更改。
- 一个或多个包含的磁盘不再连接到虚拟机。
- 如果这种情况发生在复制过程中,等待几个周期。 如果故障是由 Storage vMotion 导致的,复制状态将恢复为绿色。 如果不行,停止复制并再次复制。
- 如果迁移过程中出现此情况,请等待15分钟后再尝试迁移。
- 如果问题依旧,请联系客服。
1023:快照磁盘以物理模式附加 快照复制不支持以物理模式附加的原始磁盘。 在虚拟模式下连接磁盘后,请重新尝试操作。 如果该问题仍然存在,请联系支持部门。

连接和超时错误

这些错误表明 Azure Migrate 设备无法在预期时间内访问 Azure 服务端点(服务总线、Event Hubs、缓存存储账户或 密钥保管库)。 验证设备健康状况、网关服务状态以及与 Azure 的网络连接。

Error 原因 Action
1011:DiskUploadTimedOut 设备无法连接到 Azure 云服务,或者复制进程缓慢,导致循环超时。可能原因:
- 电器坏了。
- 网关服务未运行。
- 与 服务总线 / Event Hubs / 缓存存储帐户 / 密钥保管库 的连接问题。
- 读取磁盘时的vCenter级限速。
1. 确保 Azure Migrate 设备已正常运行。
2. 检查网关服务(services.msc → Microsoft Azure Gateway Service);如果停止,启动或运行Net Start asrgwy
3. 验证与缓存存储账户的连接性: azcopy bench 'https://[account].blob.core.chinacloudapi.cn/[container]?SAS'
4. 使用服务总线资源管理器验证服务总线连接性(在快照管理器中查看接收消息>)。
5. 验证 密钥保管库 连接性: test-netconnection <KeyVaultURI> -P 443 —— 确认TcpTestSucceeded = True
6. 如果有任何测试失败,请联系你的网络团队修复防火墙或连接问题。
1012:磁盘下载超时 下载服务正面临技术问题。 重试操作。 如果问题仍然存在,请联系支持部门。
181008:DisposeArtefactsTimedOut 尝试将数据复制到 Azure 的组件已关闭或无响应。 设备上的网关服务可能宕机,或者与服务总线、Event Hubs或Appliance Storage Account连接出现问题。 1. 确保 Azure Migrate 设备正在运行。
2. 检查网关服务是否正在运行;如果没有,请运行 Net Start asrgwy
3. 验证与设备存储账户的连接性: azcopy bench 'https://[account].blob.core.chinacloudapi.cn/[container]?SAS'
4. 通过使用 服务总线 Explorer 验证 服务总线 连接性。
5. 验证 密钥保管库 连接性: test-netconnection <KeyVaultURI> -P 443
6. 如果这些测试有任何失败,请联系你的网络团队。
1003:快照复制组件超时 组件正在经历停机或网络中断。 如需进一步调查,请参阅 Azure Migrate 复制故障排除指南。 如前所述,验证设备健康状况、网关服务以及与 Azure 端点的连接情况。

密钥保管库 访问与配置问题

这些错误发生在配置复制的用户在Migrate项目密钥保管库上没有所需的访问策略,或者由不同用户创建的密钥保管库没有当前用户的访问策略时。

Error 原因 Action
KeyVaultOperationFailed:配置托管存储帐户 密钥保管库的用户访问策略并不赋予当前登录用户配置存储账户为密钥保管库管理的权限。 这个问题通常发生在:
- 已登录用户是客户的 Azure 租户(CSP 订阅)中的远程主体,或
- 在 user1 创建 密钥保管库 后,另一个用户(user2)正在重新尝试复制,而 user2 在 密钥保管库 中没有访问策略。
CSP / 远程主体场景:删除 密钥保管库,注销,然后使用客户 Entra 租户中在 Migrate 项目资源组上具有 所有者参与者 + 用户访问管理员 角色的用户帐户登录。

多用户情况:运行以下PowerShell为密钥保管库中的user2创建访问策略:
$userPrincipalId = $(Get-AzureRmADUser -UserPrincipalName 'user2_email_address').Id
Set-AzureRmKeyVaultAccessPolicy -VaultName 'keyvaultname' -ObjectId $userPrincipalId -PermissionsToStorage get, list, delete, set, update, regeneratekey, getsas, listsas, deletesas, setsas, recover, backup, restore, purge
KeyVaultOperationFailed:GenerateSasDefinition 这和 ConfigureManagedStorageAccount 的根本原因一样——登录用户没有持有生成 SAS 定义所需的 密钥保管库 访问策略。 应用和之前 ConfigureManagedStorageAccount 相同的修复方法。 确保用户账户在 密钥保管库 上拥有所需的权限(特别是与 SAS 相关的权限: getsas, listsas, deletesas, setsas)。

VMware 已更改块跟踪和快照数据错误

无代理复制方法使用VMware 变更块追踪(CBT)。 当 CBT 被重置、禁用或因源虚拟机上已有的快照而被阻止时,就会出现这些错误。

Error 原因 Action
FetchChangedBlocksFailed:尝试获取更改块时遇到错误 无代理复制方法使用 VMware CBT 只复制自上一周期以来更改的块。 如果复写虚拟机的CBT被重置或CBT文件损坏,就会出现此错误。 一个已知问题:在 vSphere 5.x 中执行 Storage vMotion 后,CBT 会重置。 更多信息请参见 VMware KB 1020128 1. 如果您选择了 “自动修复复制”,请右键点击虚拟机并选择 修复复制
2. 否则,停止复制,在虚拟机上重置 CBT,然后重新配置复制。
3. 在vSphere 5.5中,应用 VMware KB 1020128的更新。
4. 你也可以通过VMware PowerCLI重置CBT。
1018:更改块跟踪重置 虚拟机上的变更块跟踪会被重置。 修复虚拟机复制。 如果启用 了自动修复复制 ,右键点击虚拟机并选择 修复复制。 否则,停止复制,按照 VMware KB 1020128 重置源虚拟机上的 CBT,然后重新配置复制。
ProtectionReadinessError:无法启用 CBT——已存在快照 虚拟机无法启用变更追踪功能,因为快照已经存在于虚拟机中。 删除虚拟机上的现有快照,或启用变更块追踪,然后重试。

VMware 环境与内部错误

这些错误在快照生命周期操作(创建、删除、合并)期间,会从底层的VMware环境或API中产生。 修复通常需要按照引用的VMware知识库文章针对特定情况进行操作。

Error 原因 Action
内部错误:服务器拒绝连接 VDDK 6.7 中已知的 VMware 问题。 停止设备Net Stop asrgwy上的网关服务(),从 该VMware 知识库应用更新,然后重启网关服务(Net Start asrgwy)。
InternalError:快照配置无效 检测到无效的快照配置,这种情况通常发生在从多磁盘虚拟机中删除某个磁盘之后。 请按照 VMware KB提供的解决方案操作。
内部错误:生成快照时挂起 快照生成停止响应。 创建快照任务卡在 95% 或 99%。 请按照 VMware KB提供的解决方案操作。
InternalError:无法合并磁盘 复制周期结束时的磁盘整合失败。 请按照 VMware KB 中提供的解决方案,并选择相应的 原因
内部错误:另一个任务进行中 冲突的虚拟机任务在后台运行,或者 vCenter Server 任务超时。 等待冲突任务完成后再尝试。 如果 vCenter 任务超时,请检查 vCenter 的运行状况。
内部错误:操作不允许在当前状态中 vCenter Server 管理代理停止工作。 请按照 VMware KB提供的解决方案操作。
InternalError:SnapshotDiskSizeInvalid 已知的VMware问题,快照显示的磁盘大小变为零。 请联系VMware支持,或参考所用ESXi/vCenter版本的相关VMware KB。
内部错误:内存分配失败 NFC主机缓冲区内存不足。 使用 Compute vMotion 将受影响的虚拟机迁移到另一台具有空闲资源的主机上。
内部错误:文件大于支持的最大大小 快照文件大小超过最大支持文件大小(VMware 错误1012384)。 请按照 VMware KB提供的解决方案操作。
内部错误:无法连接主机 ESXi主机无法连接网络(VMware错误1004109)。 检查ESXi主机网络连接并恢复管理网络访问。
无效变更跟踪器错误代码:快照保存失败 快照存储的底层数据存储存在问题。 请按照 VMware KB提供的解决方案操作。
无法打开快照文件:快照创建失败 快照文件大小大于虚拟机所在数据存储的可用空闲空间。 释放数据存储空间,或者将虚拟机迁移到有足够空间的数据存储。
1028:VMwareGenericFailure VMware操作失败,设备中暴露了潜在错误。 检查失败信息中的运行时错误字符串,并参考 Azure Migrate VMware 的故障排除指南,查找匹配的 VMware 状态。

后续步骤