NVIDIA Mellanox 网卡安装使用手册(中文简易版)

2023-07-28 16:30:27 昌辉 13931
Mellanox 网卡安装使用手册(简易版)
本文档以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包或者源码包都可以。

Sinoinfo_Pic

    2.3、如果想要下载早期版本,请点击 Archive Version 切换。本文档以 5.1-0.6.6.0为例。下载iso镜像文件。


Sinoinfo_Pic

3、将下载的驱动安装包上传到服务器,挂载iso,进入挂载目录,运行安装脚本 mlnxofedinstall (必须使用root用户运行安装
# ./mlnxofedinstall


Sinoinfo_Pic

    3.1、正常情况下,如上图输入y,之后自动完成安装。有时会遇到需要安装一些依赖包才能继续,如下提示:


Sinoinfo_Pic

根据提示安装缺少的包。安装依赖包要使用到 yum 仓库,不会搭建 yum 仓库请参 考 CentOS 中将 DVD 作为默认 yum 源的设置方法
# yum install tcl tk
    3.2、还有一种比较少见的情况,系统内核升级过,官方驱动默认匹配的是标准内核,所以不能正常安装驱动,我们需使用参数来解决此问题。
./mlnxofedinstall --add-kernel-support
    此过程包含重新编译、生成对应内核的驱动文件、自动安装驱动等过程,所以需要更多的时间(大概20~30分钟),请耐心等待安装完成。
4、如果网卡固件版本低于当前驱动固件版本,则会自动更新固件,驱动安装成功,提示重启驱动  /etc/init.d/openibd  restart  如下图


Sinoinfo_Pic

        重启驱动
# /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:
      重启驱动,如果有类似以下报错,直接重启服务器即可解决


Sinoinfo_Pic

5、网卡状态
    5.1、第一次安装网卡,如果没有连接到交换机,那么网卡状态如下
Sinoinfo_PicSinoinfo_Pic
    如上图,ib0状态 down(双口卡还有ib1),网卡的SM lid为0,Base lid为65535,Link layer为IB模式
    5.2、使用线缆将网卡连接到交换机,大概30秒,端口UP,如下图
Sinoinfo_PicSinoinfo_Pic
    网卡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
>>> PCI capabilities might not be fully utilized with Haswell CPU. Make sure I/O non-posted prefetch is disabled in BIOS.
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网络连通性

Sinoinfo_Pic

    7.2、验证IB底层网络连通性,使用ibping命令,在nodeb节点启用服务端,noded开启客户端,使用ib网络的 lid 号进行验证

Sinoinfo_Pic

    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,如果重启网络不生效,建议重启驱动

Sinoinfo_Pic

    8.2、验证IP地址连通性,直接使用ping 命令

Sinoinfo_Pic

9、网卡性能测试

    9.1、驱动自带测试工具
        ib_write_bw
        ib_read_bw
        ib_send_bw
        ib_write_lat
        ib_read_lat
        ib_send_lat


        下图以写带宽测试为例:
Sinoinfo_PicSinoinfo_Pic
由于本案例测试线缆为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 所有。

微信公众号