文档目录

适用场景

  • 产品:ZCF
  • 组件:ZCE-X
  • ZCE-X 版本:5.2.000.8
  • 对接云平台版本:4.8.x
  • 部署形态:双管理节点
  • 触发条件:Ceph 主存储中的 EC 存储池水位过高,需要将 VPC 路由器迁移至副本存储池。

问题现象

  • 云平台中的 Ceph EC 存储池水位过高。
  • 已新增或扩容副本存储池。
  • 需要迁移 VPC 路由器根盘以降低目标 EC 池压力。

判断方法

  1. 迁移前用 QueryVolume 确认 VPC 路由器根盘当前 installPath。
  2. 迁移后再次查询 installPath,确认已切换到目标存储池。
  3. 检查云主机网络与业务访问正常。

原因说明

Ceph 主存储中的 EC 存储池水位过高时,继续承载 VPC 路由器根盘会增加存储压力。将根盘迁移至副本存储池,可降低目标 EC 存储池压力。

解决方案

1. 执行前准备

  • 迁移过程中可能出现网络波动。
  • 建议在业务低峰期执行。
  • 先关闭全局高可用并备份数据库。

2. 处理步骤

  1. 关闭全局高可用。
  • 预期结果:避免迁移过程中误触发高可用动作。
  1. 备份数据库:
   zstack-ctl dump_mysql --file-name zstack-db-backup-master
   zstack-ctl dump_mysql --file-name zstack-db-backup-slave
  • 预期结果:数据库备份完成。
  1. 登录 VIP 所在物理机并登录 CLI:
   zstack-cli LogInByAccount accountName=admin password="<ADMIN_PASSWORD>"
  • 将 <ADMIN_PASSWORD> 替换为管理员账号密码。
  • 预期结果:进入可执行迁移命令的管理环境。
  1. 查询 VPC 路由器当前所在存储池:
   zstack-cli QueryVolume vmInstanceUuid=$VPC_ROUTER_UUID type=Root fields=uuid,installPath
  • 预期结果:拿到当前根盘 UUID 与安装路径。
  1. 执行迁移:
   zstack-cli PrimaryStorageMigrateVm vmInstanceUuid=$VPC_ROUTER_UUID dstPrimaryStorageUuid=$DEST_PRIMARY_STORAGE_UUID systemTags="ceph::rootPoolName::$TARGET_POOL_NAME" withSnapshots=false
  • 其中:
  • $VPC_ROUTER_UUID:VPC 路由器实例 UUID
  • $DEST_PRIMARY_STORAGE_UUID:目标主存储 UUID
  • $TARGET_POOL_NAME:目标副本存储池名称
  • 迁移期间命令可能需要等待较长时间,可在管理平台查看 VPC 路由器状态是否为“迁移中”。
  • 预期结果:VPC 路由器根盘开始迁移到目标副本池。
  1. 迁移完成后再次查询:
   zstack-cli QueryVolume vmInstanceUuid=$VPC_ROUTER_UUID type=Root fields=uuid,installPath
  • 预期结果:根盘 installPath 已指向新存储池。
  1. 确认业务无异常、云主机可正常访问。
  • 预期结果:迁移后网络和业务恢复稳定。
  1. 开启全局高可用。
  • 预期结果:平台恢复正常运行。

验证方法

  • 检查 QueryVolume 输出中的 installPath 已迁移到目标池。
  • 检查管理平台中 VPC 路由器状态恢复正常。
  • 检查云主机访问与业务网络正常。

风险与回滚

  • 风险:VPC 路由器迁移过程中可能导致网络波动。
  • 回滚:若迁移异常,应停止后续操作,保留数据库备份及现场信息,并联系技术支持评估恢复方案。
将 VPC 路由器迁移至副本存储池 | 技术方案 · KB | ZStack 资源中心