适用场景
- 产品:
ZCF - 组件:
ZStack Cloud - 版本:
5.5.x - 当前内核:
4.18.0-425.19.2.4.g0fd3a169.el8.x86_64 - 目标内核:
4.18.0-553.69.1.13.gc220c6303994.el8.x86_64 - 部署形态:双管理节点
- 触发条件:需要逐台把宿主机内核提升到
553版本,并同步完成相关驱动与环境校验。
问题现象
- 当前物理机内核版本较旧。
- 需要升级到
4.18.0-553.69.1.13。 - 升级不仅涉及内核,还涉及
mlnx-ofed驱动和升级后防火墙规则检查。
判断方法
- 升级前先确认目标物理机已迁空。
- 升级后检查内核、驱动和网卡状态。
- 升级后检查是否出现异常
drop规则,并结合 XSKY 环境继续核查。
原因说明
本次操作不只是一次简单重启换内核,而是“迁空 -> 内核升级 -> 驱动更新 -> 网络与防火墙验证”的完整流程。若只做内核升级而跳过 mlnx-ofed 或 XSKY 规则检查,可能留下驱动不兼容或网络异常隐患。
解决方案
- 执行前准备
- 风险等级:中风险
- 先登录云平台检查环境无异常。
- 先关闭全局高可用。
- 先备份双管理数据库。
- 迁空并维护目标物理机
- 备份数据库:
zstack-ctl dump_mysql --file-name zstack-db-backup-master
zstack-ctl dump_mysql --file-name zstack-db-backup-slave
- 预期结果:具备平台回退基础。
- 确认待升级物理机上的云主机已迁移为空。
- 预期结果:目标节点不再承载业务实例。
- 在目标物理机执行:
virsh list
- 预期结果:无
running云主机。
- 将物理机置为维护模式。
- 预期结果:平台不再向该主机调度业务。
- 升级内核
- 在管理节点解压升级包:
tar -xvzf upgrade_kernel_bcache.tar.gz
- 预期结果:升级脚本目录准备完成。
- 执行升级脚本:
cd upgrade_kernel_bcache/
bash upgrade_kernel.sh <IP>
- 预期结果:目标主机内核升级完成。
- 重启物理机,让新内核生效。
- 预期结果:宿主机以目标内核重新启动。
- 升级后补做驱动与网络验证
- 更新
mlnx-ofed驱动:
- 执行
/opt/zstack-dvd/x86_64/$os/zs_drivers/mlnx-ofed/下对应的bin包。 - 预期结果:驱动升级与新内核匹配。
- 重新生成 initramfs 并重启:
dracut -f
- 预期结果:新驱动被正确打入启动环境。
- 重启完成后重新加载驱动:
/etc/init.d/openibd restart
- 预期结果:网卡驱动成功加载。
- 若网卡状态为
down,需先手工up网卡。
- 预期结果:网络链路恢复正常。
- 检查 XSKY 相关防火墙异常
- 升级后检查:
iptables-save | grep drop
- 预期结果:确认是否出现异常
drop规则。
- 如果存在
drop规则,检查:
/etc/docker/daemon.json
- 说明:XSKY 新版本 docker 配置可能引发问题,若发现异常应停下来联系 XSKY 侧。
- 预期结果:排除存储侧配置兼容问题。
- 逐台推进
- 单台验证无误后,再依次对剩余节点重复执行。
- 所有节点升级完成且云平台正常后,开启全局高可用。
- 预期结果:整批主机内核升级完成并收口。
验证方法
- 检查目标主机已运行目标内核版本。
- 检查
mlnx-ofed驱动和openibd状态正常。 - 检查网卡状态正常。
- 检查
iptables-save | grep drop无异常或问题已定位。 - 检查云平台整体运行正常。
风险与回滚
- 风险:内核与驱动升级都可能影响兼容性和业务连续性。
- 风险:若不先迁空或维护主机,可能直接影响运行中的云主机。
- 风险:XSKY 新版本 docker 配置可能触发额外网络规则问题。
- 风险等级:中。
- 无明确命令级回滚流程,应依赖逐台验证、窗口期操作和问题即停策略控制风险。
