掌握Lx网卡部署排错全套资料在驱动安装中的定位、故障信号与验证顺序。
驱动安装用驱动安装、MLNX_OFED驱动编译、多内核版本适配连接到驱动安装的调试、验证和交付动作。
在部署 ConnectX-6 Lx 网卡时,最常遇到的挑战并非硬件安装,而是驱动与操作系统内核版本的匹配问题。MLNX_OFED 驱动是 NVIDIA 为 Mellanox 网卡提供的官方驱动套件,其核心价值在于通过源码编译(Source Build)或 RPM 包安装两种方式,实现驱动与特定内核版本的精确绑定。本节的核心目标,是让你掌握在“Lx定位路径”下,如何根据当前系统内核版本,选择正确的 MLNX_OFED 验证方式,并完成驱动安装与适配
在开始编译前,务必执行 uname -r 确认当前内核版本,并访问 NVIDIA 官方驱动下载页,选择与内核版本匹配的 MLNX_OFED 版本。若使用 RPM 安装,需确保系统已安装 kernel-devel 和 kernel-headers 包,必须与 uname -r 输出完全一致
把失败停在哪一步说清,而不是只写“运行异常”。
核对资源、版本、权限和时序是否满足。
每次只改一个点,避免把真正原因盖住。
把通过、失败和待复查结果分开记录。
驱动安装落地前要同时核对驱动安装的MLNX_OFED驱动编译、失败路径和多内核版本适配。
MLNX_OFED 驱动安装提供两条主流路径:源码编译(Source Build) 和 RPM 包安装。源码编译适用于定制化内核或非标准环境,而 RPM 安装则更适合标准发行版(如 RHEL 8/9、Ubuntu 20.04/22.04)。在“Lx网卡部署排错全套资料”中,我们推荐优先使用 RPM 安装,因为它能自动处理依赖关系,并生成可回滚的包管理记录
RPM 安装的核心命令为 ./mlnxofedinstall --kernel-only --without-fw-update。其中 --kernel-only 参数仅安装内核驱动模块,避免不必要的用户空间工具更新;--without-fw-update 则跳过固件升级,防止因固件版本不匹配导致网卡异常。安装完成后,必须执行 mlnxofed_installed --version 确认驱动版本,并使用 ibdev2netdev 查看网卡设备与网络接口的映射关系,这是“驱动安装验证方式”的核心步骤
若系统存在多个内核版本,RPM 安装只会为当前运行的内核编译模块。切换内核后,必须重新执行安装脚本,或使用 dkms(Dynamic Kernel Module Support)机制实现自动适配。MLNX_OFED 从 5.4 版本起已原生支持 DKMS,可在安装时添加 --dkms 参数启用
当需要为多个内核版本同时编译驱动时,源码编译是唯一选择。下载 MLNX_OFED 源码包后,执行 ./install.pl --kernel-sources /path/to/kernel --kernel-version $(uname -r) 即可指定内核源码路径。编译过程中,路径 定位路径通常指向 /var/log/mlnx_ofed_install.log,该日志文件记录了编译错误、依赖缺失及模块加载失败等关键信息。若编译失败,优先检查 gcc 版本和 make 工具链是否满足要求
某数据中心升级内核至 5.14.0-284.11.1.el9_2.x86_64 后,ConnectX-6 Lx 网卡无法识别。排查时发现 MLNX_OFED 版本为 5.8,官方兼容列表显示仅支持至 5.14.0-284.10.1。通过源码编译,指定内核源码路径并添加 --add-kernel-support 参数,成功生成适配新内核的 核心.ko 模块。验证时使用 modinfo 核心 | grep version 确认模块版本与驱动包一致
驱动安装完成后,必须执行一套标准验证流程,以确保网卡可被操作系统正确识别并加载。以下“rpm网卡部署排错全套资料”中定义的检查清单,可帮助你快速定位问题
| 检查项 | 标准 | 是否通过 | 常见遗漏 |
|---|---|---|---|
| 内核模块加载 | lsmod | grep 核心 输出包含 核心 | 是/否 | 未执行 depmod -a 更新模块依赖 |
| 网卡设备识别 | lspci | grep Mellanox 显示 Co… | 是/否 | PCIe 槽位松动或 BIOS 未启用 |
| 网络接口状态 | ip link show 显示 ensXfX 接口且状… | 是/否 | 未执行 ip link set dev ensXfX… |
| 驱动版本一致性 | ethtool -i ensXfX 的 driver… | 是/否 | 误用系统自带 核心 驱动 |
很多工程师在验证时只检查 lspci 或 ip link,忽略了驱动版本一致性。若 ethtool -i 显示的驱动版本与 MLNX_OFED 版本不一致,说明系统加载了旧版驱动,需执行 rmmod 核心 && modprobe 核心 强制加载新模块,并检查 /etc/modprobe.d/ 下的黑名单配置
当驱动加载失败时,可参考以下“路径定位路径”排障表,按步骤缩小问题范围
在多内核版本适配场景中,工程师需要快速判断是采用 RPM 安装还是源码编译。以下判断标准表可辅助决策
在实际工程中,建议遵循“先 RPM,后源码”的原则。RPM 安装失败时,通过 路径 定位路径(如 /var/log/mlnx_ofed_install.log)分析错误原因,再决定是否切换到源码编译。无论采用哪种方式,最终都必须通过“驱动安装验证方式”中的检查清单进行验收,确保 ConnectX-6 Lx 网卡在目标内核下稳定运行
驱动安装先对齐现场任务、输入材料和输出结果,再回到Lx网卡部署排错全套资料的细节逐项核对。
驱动安装的主要风险来自驱动安装边界、状态和验证口径不清;落地前必须核对伪代码,并确认例外场景和结果记录。
把驱动安装整理成一次样例或工具使用核对。用 18 分钟核对使用顺序、替换位置和输出物: