适用场景
- 产品:
ZCF - 组件:
ZStack Cloud - 版本:
4.8.x、5.2.x - ZCE 版本:
5.2.x - 操作系统:
Kylin V10 SP3 - 内核:
4.19.90-52.15.v2207.ky10.x86_64 - RAID 卡:
9460-8i (SAS3508) - 触发条件:OSD 频繁出现
dummy io检测超时,被 ZCE 隔离,怀疑与阵列卡驱动稳定性有关。
问题现象
- OSD 频繁因为
dummy io检测超时被隔离。 - 初步判断问题与硬件稳定性有关。
- 服务器厂商建议先更新阵列卡驱动观察效果。
判断方法
- 先检查环境和业务状态是否允许逐节点运维。
- 升级前后都检查
megaraid_sas驱动版本。 - 每个节点重启后都等待存储池恢复健康,再继续下一节点。
原因说明
当前问题并非平台软件逻辑直接报错,而是 OSD 频繁出现 dummy io 超时,结合厂商建议,优先怀疑 RAID 卡驱动版本稳定性,因此通过升级 megaraid_sas 驱动进行缓解验证。
解决方案
- 执行前准备
- 风险等级:低风险,但属于底层驱动变更,必须逐节点进行。
- 先关闭全局高可用。
- 先热迁移云主机。
- 先备份数据库和驱动文件。
- 运维期间禁止数据恢复。
- 处理步骤
- 关闭全局高可用,并热迁移目标节点上的云主机。
- 预期结果:目标节点可安全下线维护。
- 备份驱动和
initramfs:
mkdir -p /root/raid_driver_bak/
cp /lib/modules/4.19.90-52.15.v2207.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko /root/raid_driver_bak/megaraid_sas.ko.bak
cp /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img.bak
- 预期结果:具备驱动快速回退基础。
- 升级驱动:
rpm -Uvh kmod-megaraid_sas-07.726.02.00-1.ky10.x86_64.rpm
- 预期结果:新驱动安装完成。
- 升级后检查版本:
cat /sys/module/megaraid_sas/version
modinfo megaraid_sas | grep -E "^version:"
cat /sys/module/megaraid_sas/version
- 预期结果:模块版本显示为目标版本。
- 在存储侧禁止数据恢复。
- 预期结果:避免驱动升级重启期间自动恢复放大风险。
- 若该节点是管理节点,先切换管理服务:
zsha2 demote
zsha2 stop-node
- 非管理节点不执行该步骤。
- 预期结果:避免管理服务与节点重启冲突。
- 重启物理机:
sync&&sync&&sync&&reboot
- 预期结果:新驱动在系统启动后生效。
- 节点重启后再次检查驱动版本。
- 预期结果:确认实际加载的是新版本驱动。
- 开启数据恢复,并等待存储池恢复健康。
- 预期结果:集群重新恢复到稳定状态。
- 依次对其他节点重复上述步骤。
- 所有节点完成后,开启全局高可用。
- 预期结果:驱动升级全流程完成。
验证方法
- 检查各节点
megaraid_sas驱动版本正确。 - 检查存储池在每轮操作后都恢复健康。
- 检查 OSD 不再频繁因
dummy io超时被隔离。 - 检查业务与云平台资源状态正常。
风险与回滚
- 风险:该变更属于底层驱动变更,会影响兼容性和业务连续性。
- 风险:若多节点同时操作,可能导致存储 ERROR 和业务中断。
- 风险:重启期间必须禁止数据恢复。
- 风险等级:低(文档标注),但执行上需按高敏感底层变更对待。
- 回滚步骤:
- 用备份的
.ko覆盖当前驱动:
cp /root/raid_driver_bak/megaraid_sas.ko.bak /lib/modules/4.19.90-52.15.v2207.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko
- 重建模块依赖与引导镜像:
depmod -a
dracut -f /boot/initramfs-4.19.90-52.15.v2207.ky10.x86_64.img 4.19.90-52.15.v2207.ky10.x86_64
reboot
- 重启后检查:
cat /sys/module/megaraid_sas/version
rpm -qa | grep megaraid_sas
