searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

安装Mellanox网卡驱动

2023-06-28 07:44:04
1206
0

Mellanox智能网卡驱动程序安装过程。

这里使用的组合是: CentOS7.9 + 3.10内核(升级过) + OFED5.4

参考文档:https://blog.csdn.net/bandaoyu/article/details/115906185

官方参考文档:  https://mymellanox.force.com/mellanoxcommunity/s/article/getting-started-with-connectx-5-100gb-s-adapters-for-linux

 

一、看一下系统是否已经自动识别网卡,没识别的话不能使用。如果这个工具没有安装,执行:yum install -y pciutils

lspci |grep Mellanox
02:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]

二、下载网卡驱动,请到驱动下载页面

先看下自己的OS版本,要选择正确的版本安装

[root@nodeb ~]# cat /etc/os-release

NAME="Red Hat Enterprise Linux Server"

VERSION="7.4 (Maipo)"

[root@nodeb ~]# uname -m

x86_64

到这个页面下载: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

最好是下载iso文件。

三、安装依赖包

安装内核头文件

yum install kernel-headers-$(uname -r) kernel-devel-$( uname -r) -y

安装开发者工具包

yum groupinstall 'Development Tools' -y

安装其他工具

yum install python-devel lsof redhat-rpm-config rpm-build gcc libtool libusbx tcl fuse-libs tcsh tk -y

注意这个也要安装

yum install createrepo

四、正式安装驱动

查看支持的内核版本

cat .supported_kernels

对比自己的内核版本,如果支持的话,就执行:

./mlnxofedinstall --add-kernel-support

否则的话,执行 (如果是升级过内核(不符合Mellanox定义的所谓标准OS),则执行:)

./mlnxofedinstall --add-kernel-support

此过程包含重新编译、生成对应内核的驱动文件、自动安装驱动等过程,所以需要更多的时间(大概20~30分钟)

安装程序发现固件版本低的话,会自动更新固件。

mlnxofedinstall的其他参数(可以通过./mlnxofedinstall -h查看)

--distro rhel9.0

如果是非社区的定制系统(可能同不过脚本的判断,报错系统为不支持的系统,则需要加一些参数),例如公司的定制系统是基于centos9/redahat9,则可以加--distro rhel9.0

--with-nvmf

 
--with-nfsrdma  
--skip-distro-check 让执行脚本不去检查当前OS的发布版本号(如redhat7.5)
--without-fw-update 参数是不更新FW

也可以使用mlnx_add_kernel_support.sh手动编译内核安装包。

./mlnx_add_kernel_support.sh -m /opt/mellanox/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64 --make-tgz -t /tmp/

生成对应此OS内核的包,生成目录默认在/tmp下,安装过程中可能会有提示需要安装相关OS的依赖包,配置yum源进行安装即可:

mlnx_add_kernel_support.sh脚本文件用于在当前系统内核下进行重新编译打包

其中-m后参数为原始驱动包文件夹路径,-t后参数为存放重新编译打包后的文件夹,--make-tgz表示已tgz压缩包方式打包,--skip-repo 不检查OS的发布版本进行编译)

五、重启驱动

/etc/init.d/openibd  restart

六、重新启动openmsd

sudo /etc/init.d/opensmd restart

七、安装完毕,现在终于看到那两块网卡了

enp129s0f0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 10:70:fd:5d:78:38  txqueuelen 1000  (Ethernet)

        RX packets 21  bytes 6182 (6.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 66  bytes 10108 (9.8 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

enp129s0f1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 10:70:fd:5d:78:38  txqueuelen 1000  (Ethernet)

        RX packets 24  bytes 6644 (6.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 60  bytes 9400 (9.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

八、查看网卡状态,没有fail就对了

sudo hca_self_test.ofed

九、查看网卡映射关系

[root@t443 ~]# ibdev2netdev -v
0000:81:00.0 mlx5_bond_0 (MT4127 - MCX631102AN-ADAT) ConnectX-6 Lx EN adapter card, 25GbE, Dual-port SFP28, PCIe 4.0 x8, No Crypto  fw 26.31.2006 port 1 (ACTIVE) ==> bond1 (Up)

十、显示并检查汇总信息

mlnx_tune

十一、查看网卡的工作模式

网卡可以工作在eth模式和ib(RDMA)模式。要查看工作模式其实非常简单,直接执行:ibstatus

Infiniband device 'mlx5_0' port 1 status:
   base lid:   0xffff
   sm lid:      0x0
   state:      1: DOWN
   phys state:   3: Disabled
   rate:      10 Gb/sec (4X SDR)
   link_layer:   InfiniBand
Infiniband device 'mlx5_1' port 1 status:
   base lid:   0xffff
   sm lid:      0x0
   state:      1: DOWN
   phys state:   2: Polling
   rate:      10 Gb/sec (4X SDR)
   link_layer:   InfiniBand

如果看到的是Ethernet,那一定是eth模式了。使用这个命令更好:lspci -v | grep Mellanox

有些文章也提到了这个方式查看工作模式:

sudo /sbin/connectx_port_config -s

但是根本找不到这个额命令。应该是废弃了。

十二、设置网卡的工作模式

sudo /sbin/connectx_port_config -s

P1是第一个口,P2是第二个口;

1代表IB,2代表Eth

十三、查询固件版本

# 查询固件版本
# 查询PSID:                  HP_0230240009
# mst start 要先启动
mst start
flint -d /dev/mst/mt4099_pciconf0 query full

或者:

mlxconfig -d /dev/mst/mt4127_pciconf0 query full

十四、查询 LINK_TYPE_P1 之类的参数

 # flint -d /dev/mst/mt4099_pciconf0 query full
           mstconfig -d 81:00.0 query

十五、查询IB状态

ibv_devinfo

十六、查询device type version

Mlxfwmanager

十七、查看OFED版本

ofed_info

后面还有一些关于RDMA的设置,可参考这篇文章:

https://blog.csdn.net/linzhiji/article/details/123007273

0条评论
0 / 1000
李****一
10文章数
2粉丝数
李****一
10 文章 | 2 粉丝
李****一
10文章数
2粉丝数
李****一
10 文章 | 2 粉丝
原创

安装Mellanox网卡驱动

2023-06-28 07:44:04
1206
0

Mellanox智能网卡驱动程序安装过程。

这里使用的组合是: CentOS7.9 + 3.10内核(升级过) + OFED5.4

参考文档:https://blog.csdn.net/bandaoyu/article/details/115906185

官方参考文档:  https://mymellanox.force.com/mellanoxcommunity/s/article/getting-started-with-connectx-5-100gb-s-adapters-for-linux

 

一、看一下系统是否已经自动识别网卡,没识别的话不能使用。如果这个工具没有安装,执行:yum install -y pciutils

lspci |grep Mellanox
02:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]

二、下载网卡驱动,请到驱动下载页面

先看下自己的OS版本,要选择正确的版本安装

[root@nodeb ~]# cat /etc/os-release

NAME="Red Hat Enterprise Linux Server"

VERSION="7.4 (Maipo)"

[root@nodeb ~]# uname -m

x86_64

到这个页面下载: https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

最好是下载iso文件。

三、安装依赖包

安装内核头文件

yum install kernel-headers-$(uname -r) kernel-devel-$( uname -r) -y

安装开发者工具包

yum groupinstall 'Development Tools' -y

安装其他工具

yum install python-devel lsof redhat-rpm-config rpm-build gcc libtool libusbx tcl fuse-libs tcsh tk -y

注意这个也要安装

yum install createrepo

四、正式安装驱动

查看支持的内核版本

cat .supported_kernels

对比自己的内核版本,如果支持的话,就执行:

./mlnxofedinstall --add-kernel-support

否则的话,执行 (如果是升级过内核(不符合Mellanox定义的所谓标准OS),则执行:)

./mlnxofedinstall --add-kernel-support

此过程包含重新编译、生成对应内核的驱动文件、自动安装驱动等过程,所以需要更多的时间(大概20~30分钟)

安装程序发现固件版本低的话,会自动更新固件。

mlnxofedinstall的其他参数(可以通过./mlnxofedinstall -h查看)

--distro rhel9.0

如果是非社区的定制系统(可能同不过脚本的判断,报错系统为不支持的系统,则需要加一些参数),例如公司的定制系统是基于centos9/redahat9,则可以加--distro rhel9.0

--with-nvmf

 
--with-nfsrdma  
--skip-distro-check 让执行脚本不去检查当前OS的发布版本号(如redhat7.5)
--without-fw-update 参数是不更新FW

也可以使用mlnx_add_kernel_support.sh手动编译内核安装包。

./mlnx_add_kernel_support.sh -m /opt/mellanox/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64 --make-tgz -t /tmp/

生成对应此OS内核的包,生成目录默认在/tmp下,安装过程中可能会有提示需要安装相关OS的依赖包,配置yum源进行安装即可:

mlnx_add_kernel_support.sh脚本文件用于在当前系统内核下进行重新编译打包

其中-m后参数为原始驱动包文件夹路径,-t后参数为存放重新编译打包后的文件夹,--make-tgz表示已tgz压缩包方式打包,--skip-repo 不检查OS的发布版本进行编译)

五、重启驱动

/etc/init.d/openibd  restart

六、重新启动openmsd

sudo /etc/init.d/opensmd restart

七、安装完毕,现在终于看到那两块网卡了

enp129s0f0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 10:70:fd:5d:78:38  txqueuelen 1000  (Ethernet)

        RX packets 21  bytes 6182 (6.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 66  bytes 10108 (9.8 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

enp129s0f1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500

        ether 10:70:fd:5d:78:38  txqueuelen 1000  (Ethernet)

        RX packets 24  bytes 6644 (6.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 60  bytes 9400 (9.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

八、查看网卡状态,没有fail就对了

sudo hca_self_test.ofed

九、查看网卡映射关系

[root@t443 ~]# ibdev2netdev -v
0000:81:00.0 mlx5_bond_0 (MT4127 - MCX631102AN-ADAT) ConnectX-6 Lx EN adapter card, 25GbE, Dual-port SFP28, PCIe 4.0 x8, No Crypto  fw 26.31.2006 port 1 (ACTIVE) ==> bond1 (Up)

十、显示并检查汇总信息

mlnx_tune

十一、查看网卡的工作模式

网卡可以工作在eth模式和ib(RDMA)模式。要查看工作模式其实非常简单,直接执行:ibstatus

Infiniband device 'mlx5_0' port 1 status:
   base lid:   0xffff
   sm lid:      0x0
   state:      1: DOWN
   phys state:   3: Disabled
   rate:      10 Gb/sec (4X SDR)
   link_layer:   InfiniBand
Infiniband device 'mlx5_1' port 1 status:
   base lid:   0xffff
   sm lid:      0x0
   state:      1: DOWN
   phys state:   2: Polling
   rate:      10 Gb/sec (4X SDR)
   link_layer:   InfiniBand

如果看到的是Ethernet,那一定是eth模式了。使用这个命令更好:lspci -v | grep Mellanox

有些文章也提到了这个方式查看工作模式:

sudo /sbin/connectx_port_config -s

但是根本找不到这个额命令。应该是废弃了。

十二、设置网卡的工作模式

sudo /sbin/connectx_port_config -s

P1是第一个口,P2是第二个口;

1代表IB,2代表Eth

十三、查询固件版本

# 查询固件版本
# 查询PSID:                  HP_0230240009
# mst start 要先启动
mst start
flint -d /dev/mst/mt4099_pciconf0 query full

或者:

mlxconfig -d /dev/mst/mt4127_pciconf0 query full

十四、查询 LINK_TYPE_P1 之类的参数

 # flint -d /dev/mst/mt4099_pciconf0 query full
           mstconfig -d 81:00.0 query

十五、查询IB状态

ibv_devinfo

十六、查询device type version

Mlxfwmanager

十七、查看OFED版本

ofed_info

后面还有一些关于RDMA的设置,可参考这篇文章:

https://blog.csdn.net/linzhiji/article/details/123007273

文章来自个人专栏
三千雷动
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0