本文档以Linux 服务器,操作系统Redhat 7.4为例,编写Mellanox网卡安装和使用方法。
1、网卡安装到服务器PCI插槽,使用lspci命令查看硬件是否识别,正常情况下,有类似以下结果输出,如果没有lspci 命令,执行:yum install -y pciutils 安装
[root@nodeb ~]# lspci |grep Mellanox
02:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
[root@nodeb ~]#
[root@nodeb ~]# lspci -vvvxxx -s 02:00.0 |egrep "PN|SN"
[PN] Part number: MCX555A-ECAT
[SN] Serial number: MT2025K46953
2、下载网卡驱动,请到驱动下载页面下载对应操作系统和版本
2.1、检查操作系统和版本,cpu架构
[root@nodeb ~]# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.4 (Maipo)"
[root@nodeb ~]# uname -m
x86_64
2.2、打开驱动下载页面,选择对应操作系统和版本,cpu架构,下载iso、tar包或者源码包都可以。
![[图片]](https://i-blog.csdnimg.cn/direct/daf8b6c1fa82496195b916f8d1abe964.png)
2.3、如果想要下载早期版本,请点击 Archive Version 切换。本文档以 5.1-0.6.6.0为例。下载iso镜像文件。

3、将下载的驱动安装包上传到服务器,挂载iso,进入挂载目录,运行安装脚本 mlnxofedinstall (必须使用root用户运行安装)
./mlnxofedinstall
![[图片]](https://i-blog.csdnimg.cn/direct/976c2ac4232e42c0bb40bf92c3852008.png)
3.1、正常情况下,如上图输入y,之后自动完成安装。有时会遇到需要安装一些依赖包才能继续,如下提示:
![[图片]](https://i-blog.csdnimg.cn/direct/0961ec77f0674ea280163d518b13d873.png)
根据提示安装缺少的包。安装依赖包要使用到 yum 仓库,不会搭建 yum 仓库请参 考 CentOS 中将 DVD 作为默认 yum 源的设置方法。
yum install tcl tk
3.2、还有一种比较少见的情况,系统内核升级过,官方驱动默认匹配的是标准内核,所以不能正常安装驱动,我们需使用参数来解决此问题。
./mlnxofedinstall --add-kernel-support
此过程包含重新编译、生成对应内核的驱动文件、自动安装驱动等过程,所以需要更多的时间(大概20~30分钟),请耐心等待安装完成。
4、如果网卡固件版本低于当前驱动固件版本,则会自动更新固件,驱动安装成功,提示重启驱动 /etc/init.d/openibd restart 如下图:
![[图片]](https://i-blog.csdnimg.cn/direct/f0566f9c009d4a35b88dc65fe01852e1.png)
重启驱动
/etc/init.d/openibd restart
Unloading HCA driver: [ OK ]
Loading HCA driver and Access Layer: [ OK ]
查看已安装的驱动版本
[root@nodeb ~]# ofed_info -s
MLNX_OFED_LINUX-5.1-0.6.6.0:
重启驱动,如果有类似以下报错,直接重启服务器即可解决
![[图片]](https://i-blog.csdnimg.cn/direct/be5dae96a95f41d28ecd5d8e1a8571de.png)
5、网卡状态
5.1、第一次安装网卡,如果没有连接到交换机,那么网卡状态如下
![[图片]](https://i-blog.csdnimg.cn/direct/8371cc06ffe043478c85f94aef93015a.png)
如上图,ib0状态 down(双口卡还有ib1),网卡的SM lid为0,Base lid为65535,Link layer为IB模式
5.2、使用线缆将网卡连接到交换机,大概30秒,端口UP,如下图
![[图片]](https://i-blog.csdnimg.cn/direct/e72e6cf7e4d74394984ceeb1e12f2fb6.png)
网卡ib0物理状态LinkUp, 逻辑状态Active,子网管理器SM lid为 2,网卡Base lid为 3
注:本案例交换机SB7800已经开启子网管理器功能,交换机端口速率为EDR 100Gb/s,网卡CX5也是 EDR 100Gb/s,由于线缆是FDR 56G,所以上图的Rate:56,并没有达到100
5.3、如果交换机是SB7890或者是其它不带子网管理器功能的交换机(SB7890,SB7790,SX6025,IS5025),必须在服务器上开启子网管理器,安装好网卡驱动后就可以使用下面命令:
systemctl start opensmd
systemctl enable opensmd
6、完成以上步骤,使用命令 mlnx_tune 检查,所有状态都是 OK,则网卡运行环境OK。
[root@nodeb ~]# mlnx_tune
......
Mellanox Technologies - System Report
Operation System Status
RHEL7.4
3.10.0-693.el7.x86_64
CPU Status
GenuineIntel Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz Haswell
OK: Frequency 2178.82MHz >>> CPU frequency is below maximum. Install cpupowerutils and run x86_energy_perf_policy performance.
Memory Status
Total: 62.65 GB
Free: 59.74 GB
Hugepages Status
On NUMA 1:
Transparent enabled: always
Transparent defrag: always
Hyper Threading Status
ACTIVE
IRQ Balancer Status
ACTIVE
Firewall Status
NOT PRESENT
IP table Status
INACTIVE
IPv6 table Status
INACTIVE
Driver Status
OK: MLNX_OFED_LINUX-5.1-0.6.6.0 (OFED-5.1-0.6.6)
ConnectX-5 Device Status on PCI 02:00.0
FW version 16.28.1002
OK: PCI Width x16
OK: PCI Speed 8GT/s
PCI Max Payload Size 256
PCI Max Read Request 512
Local CPUs list [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
ib0 (Port 1) Status
Link Type ib
OK: Link status Up
Speed FDR
MTU 2044
2020-12-14 15:37:35,878 INFO System info file: /tmp/mlnx_tune_201214_153733.log
7、IB网络连通性测试
7.1、为了更好的演示,我们需要2台服务器,以验证IB网络连通性
![[图片]](https://i-blog.csdnimg.cn/direct/362d60a15a0245b5a3cca50ceedba24e.png)
7.2、验证IB底层网络连通性,使用ibping命令,在nodeb节点启用服务端,noded开启客户端,使用ib网络的 lid 号进行验证
![[图片]](https://i-blog.csdnimg.cn/direct/359a57965cab4b8c8fea31fb6163bd27.png)
ibping -S 启用服务端,ibping -L 3 启用客户端并ping 服务端lid 3,如上图所示,测试成功。
8、给网卡配置IP地址
如果驱动安装完成,没有自动生成网卡配置文件 ifcfg-ib0,则需要手动创建 ifcfg-ib0,参考以下配置:
[root@nodeb ~]# cat /etc/sysconfig/network-scripts/ifcfg-ib0
TYPE=InfiniBand
BOOTPROTO=none
NAME=ib0
DEVICE=ib0
ONBOOT=yes
IPADDR=172.30.1.112
NETMASK=255.255.255.0
8.1、在第二台服务器按照以上步骤,安装驱动和配置相关ifcfg-ib0,第二台服务器的IP地址设置为 172.30.1.114,如果重启网络不生效,建议重启驱动
![[图片]](https://i-blog.csdnimg.cn/direct/c2bbbff1671748c5b3032ab43ba44de8.png)
8.2、验证IP地址连通性,直接使用ping 命令
![[图片]](https://i-blog.csdnimg.cn/direct/fabde460f6b247e9a69db6fd167a2a2d.png)
9、网卡性能测试
9.1、驱动自带测试工具
ib_write_bw
ib_read_bw
ib_send_bw
ib_write_lat
ib_read_lat
ib_send_lat
下图以写带宽测试为例:
![[图片]](https://i-blog.csdnimg.cn/direct/926ddf7d0c644b08ba1cacc13ff8473e.png)
由于本案例测试线缆为56G,所以测试的带宽52G,已经达标。在100G线缆环境,测试结果应该在92G以上,最佳状态可以达到97G。
10、IB网卡常用命令演示
查看子网管理器,子网管理器的lid 为 2
[root@nodeb ~]# sminfo
sminfo: sm lid 2 sm guid 0x43f7203000846f0, activity count 808 priority 15 state 3 SMINFO_MASTER
查看 lid 为 2 的节点信息描述,显示为IB交换机 MSB7800
[root@nodeb ~]# smpquery nd 2
Node Description:........MF0;test-7800:MSB7800/U1
查看IB子网中的所有IB交换机,测试环境只有1台SB7800
[root@nodeb ~]# ibswitches
Switch : 0x043f7203000846f0 ports 37 "MF0;test-7800:MSB7800/U1" enhanced port 0 lid 2 lmc 0
查看IB子网中所有节点,包含服务器和交换机
[root@nodeb ~]# ibnodes
Ca : 0xf452140300964da0 ports 2 "sinoinfo HCA-1"
Ca : 0x0c42a10300b4d89c ports 1 "noded HCA-1"
Ca : 0x0c42a10300b643c6 ports 1 "nodeb HCA-1"
Switch : 0x043f7203000846f0 ports 37 "MF0;test-7800:MSB7800/U1" enhanced port 0 lid 2 lmc 0
查看IB子网中所有已连接的链路状态,网卡到交换机,交换机到网卡,双向显示,
[root@nodeb ~]# iblinkinfo
CA: sinoinfo HCA-1:
0xf452140300964da1 1 1[ ] ==( 4X 10.0 Gbps Active/ LinkUp)==> 2 13[ ] "MF0;test-7800:MSB7800/U1" ( Could be 14.0625 Gbps)
0xf452140300964da2 4 2[ ] ==( 4X 10.0 Gbps Active/ LinkUp)==> 2 17[ ] "MF0;test-7800:MSB7800/U1" ( Could be 14.0625 Gbps)
CA: noded HCA-1:
0x0c42a10300b4d89c 3 1[ ] ==( 4X 14.0625 Gbps Active/ LinkUp)==> 2 25[ ] "MF0;test-7800:MSB7800/U1" ( Could be 25.78125 Gbps)
Switch: 0x043f7203000846f0 MF0;test-7800:MSB7800/U1:
2 1[ ] ==( Down/ Polling)==> [ ] "" ( )
2 2[ ] ==( Down/ Polling)==> [ ] "" ( )
2 3[ ] ==( Down/ Polling)==> [ ] "" ( )
2 4[ ] ==( Down/ Polling)==> [ ] "" ( )
2 5[ ] ==( Down/ Polling)==> [ ] "" ( )
2 6[ ] ==( Down/ Polling)==> [ ] "" ( )
2 7[ ] ==( Down/ Polling)==> [ ] "" ( )
2 8[ ] ==( Down/ Polling)==> [ ] "" ( )
2 9[ ] ==( Down/ Polling)==> [ ] "" ( )
2 10[ ] ==( Down/ Polling)==> [ ] "" ( )
2 11[ ] ==( Down/ Polling)==> [ ] "" ( )
2 12[ ] ==( Down/ Polling)==> [ ] "" ( )
2 13[ ] ==( 4X 10.0 Gbps Active/ LinkUp)==> 1 1[ ] "sinoinfo HCA-1" ( Could be 14.0625 Gbps)
2 14[ ] ==( Down/ Polling)==> [ ] "" ( )
2 15[ ] ==( Down/ Polling)==> [ ] "" ( )
2 16[ ] ==( Down/ Polling)==> [ ] "" ( )
2 17[ ] ==( 4X 10.0 Gbps Active/ LinkUp)==> 4 2[ ] "sinoinfo HCA-1" ( Could be 14.0625 Gbps)
2 18[ ] ==( Down/ Polling)==> [ ] "" ( )
2 19[ ] ==( Down/ Polling)==> [ ] "" ( )
2 20[ ] ==( Down/ Polling)==> [ ] "" ( )
2 21[ ] ==( 4X 14.0625 Gbps Active/ LinkUp)==> 5 1[ ] "nodeb HCA-1" ( Could be 25.78125 Gbps)
2 22[ ] ==( Down/ Polling)==> [ ] "" ( )
2 23[ ] ==( Down/ Polling)==> [ ] "" ( )
2 24[ ] ==( Down/ Polling)==> [ ] "" ( )
2 25[ ] ==( 4X 14.0625 Gbps Active/ LinkUp)==> 3 1[ ] "noded HCA-1" ( Could be 25.78125 Gbps)
2 26[ ] ==( Down/ Polling)==> [ ] "" ( )
2 27[ ] ==( Down/ Polling)==> [ ] "" ( )
2 28[ ] ==( Down/ Polling)==> [ ] "" ( )
2 29[ ] ==( Down/ Polling)==> [ ] "" ( )
2 30[ ] ==( Down/ Polling)==> [ ] "" ( )
2 31[ ] ==( Down/ Polling)==> [ ] "" ( )
2 32[ ] ==( Down/ Polling)==> [ ] "" ( )
2 33[ ] ==( Down/ Polling)==> [ ] "" ( )
2 34[ ] ==( Down/ Polling)==> [ ] "" ( )
2 35[ ] ==( Down/ Polling)==> [ ] "" ( )
2 36[ ] ==( Down/ Polling)==> [ ] "" ( )
2 37[ ] ==( Down/ Polling)==> [ ] "" ( )
CA: nodeb HCA-1:
0x0c42a10300b643c6 5 1[ ] ==( 4X 14.0625 Gbps Active/ LinkUp)==> 2 21[ ] "MF0;test-7800:MSB7800/U1" ( Could be 25.78125 Gbps)
可选操作:网卡模式切换,LINK_TYPE_P1=2切换为以太网 LINK_TYPE_P1=1 切换为IB
[root@sinoinfo ~]# mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
[root@sinoinfo ~]#
[root@sinoinfo ~]# mst status -v
MST modules:
MST PCI module loaded
MST PCI configuration module loaded
PCI devices:
DEVICE_TYPE MST PCI RDMA NET NUMA
ConnectX3Pro(rev:0) /dev/mst/mt4103_pciconf0
ConnectX3Pro(rev:0) /dev/mst/mt4103_pci_cr0 04:00.0 -1
[root@sinoinfo ~]#
[root@sinoinfo ~]# mlxconfig -d /dev/mst/mt4103_pciconf0 set LINK_TYPE_P1=2 LINK_TYPE_P2=2
Device #1:
Device type: ConnectX3Pro
Device: /dev/mst/mt4103_pciconf0
Configurations: Next Boot New
LINK_TYPE_P1 IB(1) ETH(2) LINK_TYPE_P2 IB(1) ETH(2)
Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.
[root@sinoinfo ~]# reboot
与 NVIDIA产品相关的图片或视频(完整或部分)的版权均归 NVIDIA Corporation 所有。
196

被折叠的 条评论
为什么被折叠?



