服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Ubuntu - 【问题复盘】在Ubuntu 20.04下安装OFED驱动

【问题复盘】在Ubuntu 20.04下安装OFED驱动

2023-11-09 07:07未知服务器之家 Ubuntu

复盘:在Ubuntu 20.04下安装OFED驱动 起因 最近收到两台服务器,都搭载了ConnectX-5 EX网卡。由于供应商预装了Ubuntu 20.04操作系统,而我们的后端代码也是基于Ubuntu开发的,因此需要在Ubuntu上安装ConnectX-5网卡的驱动。 问题 尽管供应商已

复盘:在Ubuntu 20.04下安装OFED驱动

起因

最近收到两台服务器,都搭载了ConnectX-5 EX网卡。由于供应商预装了Ubuntu 20.04操作系统,而我们的后端代码也是基于Ubuntu开发的,因此需要在Ubuntu上安装ConnectX-5网卡的驱动。

问题

尽管供应商已经预装了驱动,但运行我们的服务时出现以下错误:

EAL: /lib/x86_64-linux-gnu/libmlx5.so.1: version `MLX5_1.15' not found (required by so/x86_64/libmlx5-64.so)
EAL: FATAL: Cannot init plugins
EAL: Cannot init plugins

分析

首先怀疑OFED驱动是否已安装,通过运行命令ibv_devinfo查看网卡信息,确认驱动已安装。

按照手册的说法,我们想用英伟达网卡跑TRex那就必须在centos的特定版本下使用,版本对应关系如下:

TRex 版本 OFED 操作系统
2.32及以下 only 4.1 CentOS 7.3
2.33-2.56 only 4.3 CentOS 7.4
2.57和v2.86 only 4.6 CentOS 7.6
2.89及以上 only GA 5.3-1 CentOS 7.9

http://www.zzvips.com/uploads/allimg/cbe0zg40tyn.html

然后注意到根据文档,使用NVIDIA网卡运行TRex需要特定版本的CentOS和OFED驱动。针对MCX516A系列网卡,需要下载OFED 5.x,并配套使用TRex 2.89版本。

决定重新安装驱动,因为不清楚供应商预装的驱动版本是否有问题。

下载OFED驱动:

http://www.zzvips.com/uploads/allimg/foujvza315z
【问题复盘】在Ubuntu 20.04下安装OFED驱动

按以下步骤安装:

tar -xf MLNX_OFED_LINUX-5.4-3.7.5.0-ubuntu20.04-x86_64.tgz
cd MLNX_OFED_LINUX-5.4-3.7.5.0-ubuntu20.04-x86_64

sudo ./mlnxofedinstall --with-mft --with-mstflint --dpdk --upstream-libs

安装过程中遇到问题:
在安装mlnx-ofed-kernel-dkms时失败,出现类似以下提示信息:

Error: mlnx-ofed-kernel-dkms installation failed!
Collecting debug info...

See:
	/tmp/MLNX_OFED_LINUX.1976.logs/mlnx-ofed-kernel-dkms.debinstall.log
Removing newly installed packages...

查看日志发现以下提示信息:

Copying build sources from '/var/lib/dkms/mlnx-ofed-kernel/5.4/build/../build' to '/usr/src/ofa_kernel/5.15.0-58-generic' ...
/bin/cp: cannot stat 'Module*.symvers': No such file or directory

关键词是5.15.0-58-generic,即内核版本可能存在问题。

现有的安装方式在某些地方找不到对应的安装文件。

尝试复制报错中提到的文件到相应位置,但并未解决问题,因此决定尝试更换内核版本。

升级系统软件库和内核:

apt-get install build-essential dkms

这个过程较慢,并且在安装升级dkms时出现错误,进一步证实问题可能是由当前内核版本引起的。

通过搜索得知,Ubuntu 20.04 + 5.4内核可以使用MLNX_OFED_LINUX-4.9-6.0.6.0驱动。

而Ubuntu 20.04 + 5.15内核只能使用默认版本的4.0驱动。

在这篇博客中,作者的系统为Ubuntu 20.04,通过安装最新版的MLNX_OFED_LINUX-5.8-3.0.7.0成功解决了类似问题。

由于我们的系统内核版本也是5.15(似乎5.15是Ubuntu 20.04的默认内核版本),决定尝试安装最新的OFED驱动,看是否能解决问题。

果然,在安装MLNX_OFED_LINUX-5.8-3.0.7.0时,mlnx-ofed-kernel-dkms成功安装。

问题解决。

总结

整个问题主要是由于不同的内核版本导致文件路径不同,进而导致安装过程中某些库无法按预期安装而出现问题。

为什么使用最新的OFED驱动解决了问题呢?推测是最新驱动补充了之前缺失的某些文件,因此后续安装过程能够正常进行。

例如,在OFED 5.4中,某个安装所需的文件F位于A处,但安装程序却在B处查找该文件,导致报错。而在OFED 5.8中,该安装所需的文件F被移回到B处,此时不管去哪里查找都能找到文件F,因此安装可以正常进行。

ref:

1、https://skyao.io/learning-ubuntu-server/docs/router/update-drivers.html

2、https://blog.csdn.net/weixin_45485072/article/details/132892799

延伸 · 阅读

精彩推荐
  • UbuntuUbuntu 20.10 Groovy Gorilla 将于 7 月结束支持

    Ubuntu 20.10 Groovy Gorilla 将于 7 月结束支持

    Canonical 近日宣布,Ubuntu 20.10 Groovy Gorilla 将于 2021 年 7 月 22 日失去支持。由于该版本是介于长期支持(LTS)版本之间的一个版本,因此它只有九个月的支持期...

    开源中国11042021-06-21
  • UbuntuUbuntu系统中升级Linux内核的一般步骤

    Ubuntu系统中升级Linux内核的一般步骤

    这篇文章主要介绍了Ubuntu系统中升级Linux内核的一般步骤,文中以4.2内核的更新作为示例,需要的朋友可以参考下...

    开源中文社区3412019-07-09
  • Ubuntu你能猜出赢家吗Ubuntu Vs Pop!_OS:哪一个更好?

    你能猜出赢家吗Ubuntu Vs Pop!_OS:哪一个更好?

    最近,基于Ubuntu的Pop!_OS在Linux世界中大受欢迎。许多用户正在考虑从其他基于Ubuntu的发行版或Ubuntu本身切换到该版本。那么,是什么使Pop!_OS更好,还是真的...

    Linux公社2892020-11-04
  • Ubuntu轻轻松松在Ubuntu 14.04/15.04上配置Node.js

    轻轻松松在Ubuntu 14.04/15.04上配置Node.js

    Node.JS 4.0发布了,这个流行的服务器端JS平台合并了Node.js和io.js的代码,4.0版就是这两个项目结合的产物——现在合并为一个代码库。本文介绍如何轻松的在...

    Ubuntu之家2792019-06-15
  • Ubuntuubuntu16.04服务器配置ssh免密码登录

    ubuntu16.04服务器配置ssh免密码登录

    通过本文给大家分享ubuntu16.04服务器配置ssh免密码登录的方法,分为客户端和服务端操作及ssh简写技巧,非常不错具有一定的参考借鉴价值,感兴趣的朋友...

    城铭4662021-11-21
  • Ubuntudeepin怎么修改dns地址?

    deepin怎么修改dns地址?

    deepin怎么修改dns地址?电脑网卡的时候,可以尝试修改dns地址,看看能否解决这个问题,下面我们就来看看deepin修改dns地址的教程,需要的朋友可以参考下...

    百度经验6092019-06-16
  • UbuntuUbuntu下安装Nginx和Google Pagespeed的教程

    Ubuntu下安装Nginx和Google Pagespeed的教程

    这篇文章主要介绍了Ubuntu下安装Nginx和Google Pagespeed的教程,Pagespeed作为Google开发的网站优化工具正在得到越来越广泛的使用,需要的朋友可以参考下...

    开源中文社区3792019-07-16
  • UbuntuUbuntu电脑基础入门知识:新建文件夹

    Ubuntu电脑基础入门知识:新建文件夹

    在电脑中一般要给自己建一个文件夹,把自己的文件都放在这里面,这样容易查找,也不容易丢失,下面我们来看一个练习 ...

    Ubuntu教程网6792019-11-14