多路径存储环境下更新内核的关键是确保新内核兼容并正确加载dm-multipath、scsi_mod、qla2xxx等模块,验证multipathd服务、路径状态及存储厂商专用kmod包,并更新multipath.conf配置。

在多路径存储环境下更新内核,关键不是“替换驱动”,而是确保新内核自带或配套的多路径相关模块(如 dm-multipath、scsi_mod、qla2xxx、lpfc 等)能正确识别并管理现有存储路径。多数现代内核已原生集成主流HBA卡和多路径核心模块,但升级后仍需验证与配置,尤其当使用专有存储设备(如EMC、NetApp、Dell PowerStore)时。
确认新内核是否自带所需多路径模块
安装新内核后,先检查关键模块是否存在且可加载:
- 运行 lsmod | grep -E "(multipath|dm_mod|scsi)" 查看基础多路径框架是否已载入
- 执行 modinfo dm_multipath 确认模块版本及支持的硬件列表
- 对光纤通道卡,检查 HBA 驱动是否匹配:例如 modinfo qla2xxx(QLogic)或 modinfo lpfc(Broadcom/Emulex)
- 若模块缺失或版本过旧(如新内核未包含某厂商定制驱动),需额外安装对应 kmod 或 driver-updater 包(见下文)
保留旧内核并验证多路径状态再切换
多路径环境严禁覆盖式升级。必须保留旧内核,并在新内核启动后完整验证路径可用性:
- 重启进入新内核后,立即运行 systemctl status multipathd 确保服务运行
- 用 multipath -ll 查看所有映射是否在线、路径是否 active/ghost/fail
- 对比 lsblk 和 lsscsi 输出,确认底层 SCSI 设备与 multipath 映射一致
- 若发现路径丢失(如显示 "undef" 或 "failed"),说明 HBA 驱动或固件不兼容,需回退或更新驱动
针对专有存储设备补充驱动(如 EMC、IBM、HPE)
部分企业存储依赖厂商提供的内核模块包(kmod),这些模块通常不随主线内核发布:
- 访问存储厂商支持门户(如 Dell EMC PowerPath、IBM SVC Host Attach、HPE MPIO),下载与目标内核版本匹配的 kmod-* RPM 或 DEB 包
- 安装前确认签名与架构:例如 rpm -qp --requires kmod-emc-powerpath-*.rpm 检查是否依赖特定 kernel-core 版本
- 安装后执行 depmod -a 刷新模块依赖,再 modprobe powerpath(或对应模块名)手动加载测试
- 将模块名加入 /etc/modules 或创建 /etc/modprobe.d/xx.conf 设置别名与参数
更新 multipath.conf 并重载配置
内核升级本身不改变配置文件,但新内核可能启用更严格的路径检测逻辑,需同步优化配置:
- 备份原有 /etc/multipath.conf,检查是否启用 find_multipaths yes(推荐)
- 确认 defaults { } 和 devices { } 中 vendor/product 是否与实际存储匹配(如 vendor "DGC" 对应 Dell EMC)
- 执行 sudo systemctl reload multipathd 应用变更,再用 multipath -r 重新发现路径
- 长期建议启用 path_grouping_policy multibus 或 failover 并设置 path_checker tur 提升健壮性
不复杂但容易忽略:多路径问题往往不出现在内核安装时,而出现在重启后第一次 I/O 流量触发路径切换时。务必在业务低峰期操作,并提前准备好 GRUB 回滚选项和应急挂载方案。



















