文档目录

适用场景

  • 产品:ZCF
  • 组件:ZCE-X
  • 版本:4.2.x、5.2.x
  • 当前存储版本:4.2.x
  • 目标存储版本:5.2.x
  • 中间版本:4.2.x.*
  • 操作系统/架构:C76 / X86
  • 触发条件:需要对存储做在线升级,或当前 4.2.x 出现 rocksdb 异常导致 mon 节点 down、双管理数据库不同步后又自恢复。

问题现象

  • 当前环境处于 4.2.x,不能直接升到 5.2.x。
  • 必须经过 4.2.x.* 中间版本。
  • 升级过程中会逐个重启 OSD / 相关服务,可能带来存储性能波动。
  • 若已确认与 4.2.x rocksdb 异常相关,可能出现 mon 节点 down 或双管理数据库不同步后自恢复。

判断方法

  1. 升级前检查节点资源、存储池健康、ceph/etcd/ES 状态。
  2. 每次升级后逐台重启 xdc 并观察集群恢复。
  3. 确认自动重平衡状态在升级前后切换正确。

原因说明

该环境的合法升级路径是 4.2.x -> 4.2.x.* -> 5.2.x。V4 升 V5 涉及临时授权、精简模式调整和正式 license 重新申请,因此不能跨版本直升;对于已确认的 rocksdb 异常,升级至 5.2.x 用于规避 mon down 和数据库不同步问题。

解决方案

  1. 执行前准备
  • 风险等级:高
  • 先申请 v4 兼容 v5 的临时授权,升到 5.2.x 后再申请正式授权。
  • 关闭云主机全局高可用。
  • 若凌晨升级,需要先关闭自动重平衡。
  • 在维护窗口关闭业务云主机,并将主存储置于维护模式。
  1. 升级前健康检查
  2. 检查所有节点:
  • CPU、内存低于 80%
  • 系统盘占用低于 70%
  • /opt 与 /tmp 预留 50GB+
  • 根目录预留 30GB+
  • 管理节点到计算节点 ssh 免密
  • 预期结果:所有基础资源满足升级条件。
  1. 检查存储池状态为健康。
  • 预期结果:若不健康,先恢复再升级。
  1. 检查 ceph / etcd / ES 集群:
  • storage health 为 HEALTH_OK
  • etcd cluster 为 healthy
  • ES 为 green
  • 预期结果:核心集群全部健康。
  1. 检查服务状态:
    xms-cli --user admin --password <账户密码> service list
  • 预期结果:全部显示 active。
  1. 检查目录权限、i 属性、umask、mon 一致性。
  • 若有 i 属性需先解除。
  • 若 umask 不是 0022,先改为 0022。
  • 确认 hostname、ceph.conf、ceph mon dump 一致。
  • 预期结果:避免升级脚本执行中断。
  1. 若在凌晨升级,先关闭自动重平衡:
   ceph tell mon.* injectargs "--mon_pg_auto_rebalance_enable=false"
   xms-manage conf update ceph
  • 预期结果:避免升级期间自动重平衡放大负载波动。
  1. 升级到 4.2.x
  2. 在主数据库节点上传并解压安装包。
  3. 执行:
   ./upgrade.sh --skip-xdc-restart
  • 预期结果:版本主体升级完成,但不自动重启 xdc。
  1. 对已确认发生 rocksdb 异常的场景,执行:
   ./upgrade.sh --skip-xdc-restart -nc
  • 预期结果:完成 rocksdb 异常场景的升级主流程。
  1. 逐台重启服务器 xdc 服务。
  • 每台都要先确认:
  • systemctl status xdc 正常
  • 集群恢复健康
  • 再处理下一台。
  • 预期结果:安全完成中间版本切换。
  1. 如果升级中断,修复问题后继续:
   ./upgrade.sh --continue
  1. 升级到 5.2.x
  2. 再次执行与前述相同的健康检查。
  3. 上传并解压 5.2.x 安装包。
  4. 执行:
   ./upgrade.sh --skip-xdc-restart
  • 预期结果:V5 主体升级完成。
  1. 再次逐台重启 xdc,每台确认集群恢复正常后再继续下一台;若使用 csi-iscsi 或 cinder-iscsi,必须逐节点重启并在每个节点完成健康检查后再继续。
  2. 若中断,同样通过:
   ./upgrade.sh --continue

继续。

  1. 升级后收尾
  2. 升级完成后再做健康检查。
  3. 存储池健康后启用主存储,等待恢复连接。
  4. 重新开启自动重平衡:
   ceph tell mon.* injectargs "--mon_pg_auto_rebalance_enable=true"
   xms-manage conf update ceph
  • 预期结果:参数恢复为 true。
  1. 处理 V4 升 V5 的存储池精简模式:
   xms-cli --user admin -p <账户密码> pool list
   xms-cli --user admin -p <账户密码> pool set --thin-provisioned id
  • 预期结果:升级后存储池模式与 V5 要求一致。
  1. 下载请求码并联系销售申请正式 license。
  • 预期结果:临时授权切换为正式授权。

验证方法

  • 检查各版本阶段完成后集群都恢复健康。
  • 检查 xdc 在每台服务器重启后正常。
  • 检查自动重平衡关闭/开启状态切换正确。
  • 检查存储池与主存储恢复连接,license 与精简模式处理完成。

风险与回滚

  • 风险:升级等待超时时间为 120 分钟,超时会中断退出。
  • 风险:升级过程中会逐一重启 OSD / 相关服务,可能带来 IO 波动。
  • 风险:升级前若 ceph 不健康,后续风险会明显放大。
  • 风险等级:高。
  • 回退:升级遇到问题时应先修复问题后继续升级,而不是立即整包回退。
ZCE-X 存储 4.2.x 至 5.2.x 在线升级 | 技术方案 · KB | ZStack 资源中心