第1章:MLNX_OFED驱动下载——官方源与镜像站选择、版本匹配原则、MD5校验

各位同学,咱们开始第一课。

做高性能计算,绕不开英伟达的网卡。而装驱动,是第一步。这一步要是走错了,后面全白搭。我见过太多人,卡在驱动版本不匹配上,一折腾就是半天。今天咱们就把这事彻底讲透。

1.1 官方源与镜像站:你该去哪下载?

先说官方源。英伟达的官方驱动叫 MLNX_OFED(Mellanox OpenFabrics Enterprise Distribution)。你直接去官网搜就行。我个人习惯用这个地址:

https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

但有个问题——官方源在国外。你想想看,国内下载动不动几百兆,网络一抖就断了。所以,我建议你用国内镜像站。

常用的镜像站有这几个:

  • 清华 TUNA 镜像:速度快,更新及时
  • 中科大 USTC 镜像:老牌稳定,我用了好几年
  • 阿里云镜像:企业级用户多,带宽足

举个例子,清华镜像的路径大概是这样的:

https://mirrors.tuna.tsinghua.edu.cn/OFED/

嗯,这里要注意:镜像站可能比官方源晚一两天。但没关系,只要不是刚发布的版本,镜像站完全够用。

我的小技巧:下载前先 ping 一下镜像站。哪个延迟低就用哪个。别死磕一个。

1.2 版本匹配原则:别瞎选,看这里

驱动版本选不对,装上了也白搭。我遇到过最惨的一次——客户那边生产环境,驱动装完网卡不认,查了半天发现是内核版本不兼容。

版本匹配,核心看三点:

  1. 网卡型号:比如 ConnectX-5、ConnectX-6、ConnectX-7。不同型号对应不同驱动分支。
  2. 操作系统版本:CentOS 7.9、Ubuntu 20.04、RHEL 8.6……每个系统都有对应的 OFED 包。
  3. 内核版本:这是最容易踩坑的地方。你执行 uname -r 看一下,然后去 OFED 的 Release Notes 里查兼容性。

举个例子,我最近在 Ubuntu 22.04 上装 ConnectX-6,内核是 5.15.0。对应的 OFED 版本是 5.8-3.0.7.0。为什么是这个版本?因为 Release Notes 里明确写了支持这个内核。

警告:千万别用最新的 OFED 版本去配老内核。我曾经试过,结果编译都过不去。老老实实看官方兼容性列表。

版本命名规则也简单:

OFED 版本 对应网卡 推荐内核范围
5.4-3.6.8.1 ConnectX-5 3.10 ~ 4.18
5.8-3.0.7.0 ConnectX-6 5.4 ~ 5.15
5.9-3.0.8.0 ConnectX-7 5.10 ~ 6.2

说白了,版本匹配就是「门当户对」。网卡、系统、内核,三者得对上号。

1.3 MD5校验:别让坏文件坑了你

下载完驱动,第一件事不是解压,而是校验。为什么?因为网络传输可能丢包,文件可能损坏。你装一个坏掉的驱动,系统可能直接崩掉。

MD5 校验,说白了就是算一个「指纹」。官方会给每个文件提供一个 MD5 值。你下载后自己算一遍,对比一下。

操作很简单:

# 下载官方提供的 MD5 文件
wget https://content.mellanox.com/ofed/MLNX_OFED-5.8-3.0.7.0/MLNX_OFED_LINUX-5.8-3.0.7.0-ubuntu22.04-x86_64.tgz.md5

# 计算你下载文件的 MD5
md5sum MLNX_OFED_LINUX-5.8-3.0.7.0-ubuntu22.04-x86_64.tgz

# 对比两个值是否一致

如果一致,说明文件完好。如果不一致,重新下载。别犹豫。

我曾经踩过的坑:有一次下载 OFED 5.6,MD5 校验没通过,我心想「差一点应该没事」。结果编译到一半报错,查了半天才发现是文件损坏。从那以后,我每次下载都先校验。省时间。

另外,有些镜像站也会提供 MD5 文件。但为了保险,我建议你从官方源获取 MD5 值。镜像站的文件可能被篡改(虽然概率极低),但官方源更可靠。

知识体系总览

下面这张图,帮你理清本章的核心逻辑:

MLNX_OFED 驱动下载核心流程 官方源与镜像站 版本匹配原则 MD5 校验 清华、中科大、阿里云 网卡 + 系统 + 内核 md5sum 对比 核心原则 选对源 → 匹配版本 → 校验完整性 → 安全安装

这张图把本章的三个核心环节串起来了。你照着这个流程走,基本不会出问题。

最后提醒一句:下载驱动别急。花 5 分钟校验,省 2 小时排错。这笔账,你自己算。

公众号:蓝海资料掘金营,微信deep3321