适用场景
- 产品:
ZCF - 组件:
ZStack Cloud - 版本:
4.4.x、4.8.x - 存储: 本地存储
- 操作系统:
C76 - 部署形态:双管理节点
- 触发条件:当前版本并非 LTS,需升级到
4.8.x提升稳定性与可维护性。
问题现象
- 当前平台版本较旧,不再满足部分新特性与安全维护要求。
- 需要同步升级云平台、qemu、libvirt 相关组件。
- 升级过程包含灰度管理、物理机重连和组件兼容性评估。
判断方法
- 升级前通过自检脚本确认环境健康。
- 升级后检查管理节点、物理机、主存储和业务状态正常。
- 检查 qemu / libvirt / glib2 版本已达到目标值。
原因说明
当前 4.4.x 不是 LTS 版本,因此需要升级到 4.8.x,并配套升级虚拟化组件以提升生产环境稳定性与可维护性。
解决方案
- 升级前准备
- 风险等级:高
- 使用
zstack-upgrade-check-master检查环境健康。 - 关闭全局高可用。
- 申请 1 台非核心业务物理机用于提前重连校验。
- 双管理节点上传 ISO、升级脚本、HA 组件、bin 并校验 md5 / commit。
- 修改
/etc/my.cnf:
wait_timeout=28800
interactive_timeout=28800
然后重启 mariadb.service。
- 调整全局配置:
enable.multipath=ignoreconnect.timeout=1200update.os.parallelismDegree cluster=5/10update.os.parallelismDegree host=10- 停止所有云平台备份任务。
- 双管理节点分别备份数据库:
zstack-ctl dump_mysql --file-name 4.x-mn1
zstack-ctl dump_mysql --file-name 4.x-mn2
- 灰度升级云平台
- 两个管理节点更新源:
bash zstack-upgrade -r ZStack_XXXX_Cloud-x86_64-DVD-4.8.36-c76.iso
- 预期结果:repo 更新完成。
- 查询 VIP 节点:
zsha2 status
- 预期结果:定位 VIP 所在管理节点。
- 解压 HA 包并赋权:
tar zxvf ZStack-Multinode-HA-Suite.tar.gz
chmod +x zsha2 zstack-hamon
- 预期结果:HA 套件准备完成。
- 停止双管理节点服务:
zsha2 stop-node
- 预期结果:平台进入可升级状态。
- 在 VIP 节点升级 HA:
./zsha2 upgrade-ha -gencfg=true
- 预期结果:双管理 HA 套件升级完成。
- 升级云平台:
zsha2 upgrade-mn -grayscale -yes -db-root-pw $mysql_root_password -peerpass $peer_mysql_root_password $zstack_bin
- 预期结果:管理节点升级到
4.8.x。
- 检查状态:
zstack-ctl status
zsha2 status
- 预期结果:管理节点服务正常。
- 登录 UI 检查物理机、主存储、镜像服务器等状态。
- 先对非核心业务物理机执行手动重连,检查
kvmagent、云主机网络和业务。 - 检查 Agent 版本:
zstack-cli QueryAgentVersion
- 无异常后依次重连其他物理机。
- 关闭灰度变量:
UpdateGlobalConfig name=grayscaleUpgrade category=upgradeControl value=false
- 开启全局高可用。
- 预期结果:平台灰度升级收口完成。
- 升级 qemu / libvirt / glib2 组件
- 集群升级以下组件:
qemu-storage-daemonqemu-kvmlibvirtglib2
- 用
QueryLongJob查询进度。 - 用 SSH 批量检查版本。
- 使用:
virsh qemu-monitor-command $VMuuid --hmp info version
检查 VM 实际 qemu 版本。
- 说明:
- 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、重装旧版、恢复数据库并恢复平台访问。
