适用场景
- 产品:
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.xrocksdb 异常相关,可能出现 mon 节点 down 或双管理数据库不同步后自恢复。
判断方法
- 升级前检查节点资源、存储池健康、ceph/etcd/ES 状态。
- 每次升级后逐台重启
xdc并观察集群恢复。 - 确认自动重平衡状态在升级前后切换正确。
原因说明
该环境的合法升级路径是 4.2.x -> 4.2.x.* -> 5.2.x。V4 升 V5 涉及临时授权、精简模式调整和正式 license 重新申请,因此不能跨版本直升;对于已确认的 rocksdb 异常,升级至 5.2.x 用于规避 mon down 和数据库不同步问题。
解决方案
- 执行前准备
- 风险等级:高
- 先申请
v4兼容v5的临时授权,升到5.2.x后再申请正式授权。 - 关闭云主机全局高可用。
- 若凌晨升级,需要先关闭自动重平衡。
- 在维护窗口关闭业务云主机,并将主存储置于维护模式。
- 升级前健康检查
- 检查所有节点:
- CPU、内存低于
80% - 系统盘占用低于
70% /opt与/tmp预留50GB+- 根目录预留
30GB+ - 管理节点到计算节点
ssh免密 - 预期结果:所有基础资源满足升级条件。
- 检查存储池状态为健康。
- 预期结果:若不健康,先恢复再升级。
- 检查
ceph/etcd/ES集群:
storage health为HEALTH_OKetcd cluster为healthyES为green- 预期结果:核心集群全部健康。
- 检查服务状态:
xms-cli --user admin --password <账户密码> service list
- 预期结果:全部显示
active。
- 检查目录权限、
i属性、umask、mon 一致性。
- 若有
i属性需先解除。 - 若
umask不是0022,先改为0022。 - 确认
hostname、ceph.conf、ceph mon dump一致。 - 预期结果:避免升级脚本执行中断。
- 若在凌晨升级,先关闭自动重平衡:
ceph tell mon.* injectargs "--mon_pg_auto_rebalance_enable=false"
xms-manage conf update ceph
- 预期结果:避免升级期间自动重平衡放大负载波动。
- 升级到 4.2.x
- 在主数据库节点上传并解压安装包。
- 执行:
./upgrade.sh --skip-xdc-restart
- 预期结果:版本主体升级完成,但不自动重启
xdc。
- 对已确认发生 rocksdb 异常的场景,执行:
./upgrade.sh --skip-xdc-restart -nc
- 预期结果:完成 rocksdb 异常场景的升级主流程。
- 逐台重启服务器
xdc服务。
- 每台都要先确认:
systemctl status xdc正常- 集群恢复健康
- 再处理下一台。
- 预期结果:安全完成中间版本切换。
- 如果升级中断,修复问题后继续:
./upgrade.sh --continue
- 升级到 5.2.x
- 再次执行与前述相同的健康检查。
- 上传并解压
5.2.x安装包。 - 执行:
./upgrade.sh --skip-xdc-restart
- 预期结果:V5 主体升级完成。
- 再次逐台重启
xdc,每台确认集群恢复正常后再继续下一台;若使用csi-iscsi或cinder-iscsi,必须逐节点重启并在每个节点完成健康检查后再继续。 - 若中断,同样通过:
./upgrade.sh --continue
继续。
- 升级后收尾
- 升级完成后再做健康检查。
- 存储池健康后启用主存储,等待恢复连接。
- 重新开启自动重平衡:
ceph tell mon.* injectargs "--mon_pg_auto_rebalance_enable=true"
xms-manage conf update ceph
- 预期结果:参数恢复为
true。
- 处理 V4 升 V5 的存储池精简模式:
xms-cli --user admin -p <账户密码> pool list
xms-cli --user admin -p <账户密码> pool set --thin-provisioned id
- 预期结果:升级后存储池模式与 V5 要求一致。
- 下载请求码并联系销售申请正式 license。
- 预期结果:临时授权切换为正式授权。
验证方法
- 检查各版本阶段完成后集群都恢复健康。
- 检查
xdc在每台服务器重启后正常。 - 检查自动重平衡关闭/开启状态切换正确。
- 检查存储池与主存储恢复连接,license 与精简模式处理完成。
风险与回滚
- 风险:升级等待超时时间为
120分钟,超时会中断退出。 - 风险:升级过程中会逐一重启 OSD / 相关服务,可能带来 IO 波动。
- 风险:升级前若
ceph不健康,后续风险会明显放大。 - 风险等级:高。
- 回退:升级遇到问题时应先修复问题后继续升级,而不是立即整包回退。
