文档目录

问题说明

在 ZMigrate 迁移控制台的【云平台】中,当管理员手动删除了已对接的 ZSphere 目标平台连接(例如 ZSphere-<platform-id>#<platform-address>)后,在 ZSphere 中再次创建迁移任务时,发现目标平台数据无法正常获取。

现象

  • UI 异常显示:在 ZMigrate 迁移服务的【云平台】列表中,目标端 ZSphere 平台显示异常,对应的主机资源/详情无法加载。
  • 审计日志记录:在系统审计日志(_LOGS)中记录有手动执行删除操作:
  {"action":"Delete cloud","description":{"Name":"ZSphere-<platform-id>","Msg":"Cloud connection deleted."},"type":"auth_zsphere","status":true}
  {"action":"Delete cloud","description":{"Name":"ZSphere-<platform-id>","Msg":"Cloud connection deleted."},"type":"ZSphere","status":true}
  {"action":"Delete server","description":{"Name":"null","Msg":"Server deleted."},"type":"General Purpose","status":true}
  • 业务影响:无法基于该目标平台继续创建恢复/迁移任务,现有正在执行的任务无法同步目标平台元数据。

适用环境

  • 产品:ZVF / ZSphere,使用 ZMigrate 迁移服务
  • 组件:ZMigrate 控制台 (trekercontrol)、ZSphere API 认证模块 (auth_zsphere)、数据网关 (Data Gateway)
  • 日志诊断包:DiagnosticsReport_Management_*.zip / DiagnosticsReport_VMware_*.zip

可能原因

该现象通常由以下原因导致:

  1. 级联残留与元数据不一致:手动删除云平台连接时,仅删除了上层授权关系(auth_zsphere / Delete cloud),但底层缓存或主机服务映射(General Purpose Server / Data Gateway)未完全清理干净。
  2. Machine ID / 节点唯一标识冲突:ZMigrate 本地数据库(如 pixiu.sqlite)中仍保留了原平台的 machine-id 或租户账号(_ACCT_UUID)绑定关系,重新添加时触发 Duplicated machine ID 校验拦截。
  3. 迁移服务缓存未刷新:后台 trekercontrol / httpd 进程持有旧会话或连接池,导致删除后前端仍拉取到脏数据或空指针异常。

排查步骤

1. 检查审计日志与操作时序

  • 操作路径:登录 ZMigrate 管理后台,查看操作日志或导出 DiagnosticsReport_Management_*.zip 诊断包解压查看 pixiu.sqlite 中的 _LOGS 表。
  • 检查项:确认在故障发生前是否存在 Delete cloud、Delete server 相关操作。
  • 预期结果:核对删除操作的 _ACCT_UUID 与当前登录租户是否一致,确认是否属于误删或级联删除不完整。

2. 检查底层数据网关与服务器注册状态

  • 检查项:在【数据网关】及【云平台】列表确认当前数据网关与源/目标云平台的绑定状态。
  • 异常处理:如果发现数据网关关联的云平台已被删除,但网关本身仍处于注册状态,需先在界面删除关联的数据网关,再彻底解绑平台。

3. 清理残留的 Machine ID 与重复注册项

  • 若重新添加平台时报 Duplicated machine ID:
  1. 检查并确认目标 ZSphere 平台地址与 AccessKey 是否发生变更。
  2. 在 ZMigrate 管理节点后台确认 /usr/local/trekercontrol 缓存目录及 SQLite 数据库中对应平台的注册记录。
  3. 完全清除残留的关联服务器(Server)记录后,重新走【设置向导】或【云平台 -> 添加】流程。

4. 重启 ZMigrate 核心服务以刷新连接池

  • 执行命令(在 ZMigrate 虚拟机终端):
  systemctl restart trekercontrol
  systemctl restart apache2 # 或 httpd
  • 预期结果:服务重启后,旧的云平台连接缓存被释放。

补充信息

  • 相关功能:ZMigrate 云平台对接、ZSphere 目标端纳管、数据网关 (NBD) 分发
  • 最佳实践:对由 ZMigrate 自动纳管或绑定的数据网关、平台连接及其关联资源,避免绕过标准流程在 ZMigrate UI 上直接删除;如需删除,应先确认没有运行中的迁移/恢复任务,并保留操作时间、平台连接名称和诊断包。
手动删除 ZSphere 平台连接后,ZMigrate 无法获取平台数据 | 故障排查 · KB | ZStack 资源中心