文档目录

适用场景

  • 产品:ZCF
  • 组件:ZStack Cloud
  • 版本:4.4.x、4.8.x
  • 存储: 本地存储
  • 操作系统:C76
  • 部署形态:双管理节点
  • 触发条件:当前版本并非 LTS,需升级到 4.8.x 提升稳定性与可维护性。

问题现象

  • 当前平台版本较旧,不再满足部分新特性与安全维护要求。
  • 需要同步升级云平台、qemu、libvirt 相关组件。
  • 升级过程包含灰度管理、物理机重连和组件兼容性评估。

判断方法

  1. 升级前通过自检脚本确认环境健康。
  2. 升级后检查管理节点、物理机、主存储和业务状态正常。
  3. 检查 qemu / libvirt / glib2 版本已达到目标值。

原因说明

当前 4.4.x 不是 LTS 版本,因此需要升级到 4.8.x,并配套升级虚拟化组件以提升生产环境稳定性与可维护性。

解决方案

  1. 升级前准备
  • 风险等级:高
  • 使用 zstack-upgrade-check-master 检查环境健康。
  • 关闭全局高可用。
  • 申请 1 台非核心业务物理机用于提前重连校验。
  • 双管理节点上传 ISO、升级脚本、HA 组件、bin 并校验 md5 / commit。
  • 修改 /etc/my.cnf:
  wait_timeout=28800
  interactive_timeout=28800

然后重启 mariadb.service。

  • 调整全局配置:
  • enable.multipath=ignore
  • connect.timeout=1200
  • update.os.parallelismDegree cluster=5/10
  • update.os.parallelismDegree host=10
  • 停止所有云平台备份任务。
  • 双管理节点分别备份数据库:
  zstack-ctl dump_mysql --file-name 4.x-mn1
  zstack-ctl dump_mysql --file-name 4.x-mn2
  1. 灰度升级云平台
  2. 两个管理节点更新源:
   bash zstack-upgrade -r ZStack_XXXX_Cloud-x86_64-DVD-4.8.36-c76.iso
  • 预期结果:repo 更新完成。
  1. 查询 VIP 节点:
   zsha2 status
  • 预期结果:定位 VIP 所在管理节点。
  1. 解压 HA 包并赋权:
   tar zxvf ZStack-Multinode-HA-Suite.tar.gz
   chmod +x zsha2 zstack-hamon
  • 预期结果:HA 套件准备完成。
  1. 停止双管理节点服务:
   zsha2 stop-node
  • 预期结果:平台进入可升级状态。
  1. 在 VIP 节点升级 HA:
   ./zsha2 upgrade-ha -gencfg=true
  • 预期结果:双管理 HA 套件升级完成。
  1. 升级云平台:
   zsha2 upgrade-mn -grayscale -yes -db-root-pw $mysql_root_password -peerpass $peer_mysql_root_password $zstack_bin
  • 预期结果:管理节点升级到 4.8.x。
  1. 检查状态:
   zstack-ctl status
   zsha2 status
  • 预期结果:管理节点服务正常。
  1. 登录 UI 检查物理机、主存储、镜像服务器等状态。
  2. 先对非核心业务物理机执行手动重连,检查 kvmagent、云主机网络和业务。
  3. 检查 Agent 版本:
    zstack-cli QueryAgentVersion
  1. 无异常后依次重连其他物理机。
  2. 关闭灰度变量:
    UpdateGlobalConfig name=grayscaleUpgrade category=upgradeControl value=false
  1. 开启全局高可用。
  • 预期结果:平台灰度升级收口完成。
  1. 升级 qemu / libvirt / glib2 组件
  2. 集群升级以下组件:
  • qemu-storage-daemon
  • qemu-kvm
  • libvirt
  • glib2
  1. 用 QueryLongJob 查询进度。
  2. 用 SSH 批量检查版本。
  3. 使用:
   virsh qemu-monitor-command $VMuuid --hmp info version

检查 VM 实际 qemu 版本。

  1. 说明:
  • qemu 升级前需停止所有备份任务。
  • 如有运行中的备份任务,需要在备份服务器执行:
     pkill qemu-nbd
  • qemu 升级后需要重启或迁移云主机使新版本生效。
  • 可更新 zstack-virt 以修复热升级工具问题。
  • libvirt 升级后,对标记为 no stat 的云主机要在业务窗口手工重启。
  • CDP 任务需重启后生效。
  • ARM / experimental 源 / qemu-system-x86_64 / CPUID 授权兼容性等需要特别评估。
  • 预期结果:虚拟化组件升级完成且兼容性风险已评估。

验证方法

  • 检查平台可正常登录,管理节点状态正常。
  • 检查物理机、主存储、业务状态正常。
  • 检查 qemu / libvirt / glib2 版本达到目标值。
  • 检查云主机重启/迁移后加载到新 qemu 版本。

风险与回滚

  • 风险:升级过程中云平台不可登录、API 不可调用。
  • 风险:UI 框架升级后,浏览器缓存可能导致域名访问异常,需要手工清理浏览器缓存。
  • 风险:qemu/libvirt 升级存在备份任务、no stat、CPUID 授权、ARM 源兼容性等边界问题。
  • 风险等级:高。
  • 回滚:双管理回退链路包括解耦为单管理、恢复旧 repo、重装旧版、恢复数据库并恢复平台访问。
云平台升级至4.8.x版本 | 技术方案 · KB | ZStack 资源中心