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包或者源码包都可以。
2.3、如果想要下载早期版本,请点击 Archive Version 切换。本文档以 5.1-0.6.6.0为例。下载iso镜像文件。
3、将下载的驱动安装包上传到服务器,挂载iso,进入挂载目录,运行安装脚本 mlnxofedinstall (必须使用root用户运行安装)
# ./mlnxofedinstall
3.1、正常情况下,如上图输入y,之后自动完成安装。有时会遇到需要安装一些依赖包才能继续,如下提示:
# yum install tcl tk
3.2、还有一种比较少见的情况,系统内核升级过,官方驱动默认匹配的是标准内核,所以不能正常安装驱动,我们需使用参数来解决此问题。
./mlnxofedinstall --add-kernel-support
此过程包含重新编译、生成对应内核的驱动文件、自动安装驱动等过程,所以需要更多的时间(大概20~30分钟),请耐心等待安装完成。
4、如果网卡固件版本低于当前驱动固件版本,则会自动更新固件,驱动安装成功,提示重启驱动 /etc/init.d/openibd restart 如下图
重启驱动
# /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:
重启驱动,如果有类似以下报错,直接重启服务器即可解决
5、网卡状态
5.1、第一次安装网卡,如果没有连接到交换机,那么网卡状态如下
如上图,ib0状态 down(双口卡还有ib1),网卡的SM lid为0,Base lid为65535,Link layer为IB模式
5.2、使用线缆将网卡连接到交换机,大概30秒,端口UP,如下图
网卡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网络连通性
7.2、验证IB底层网络连通性,使用ibping命令,在nodeb节点启用服务端,noded开启客户端,使用ib网络的 lid 号进行验证
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,如果重启网络不生效,建议重启驱动
8.2、验证IP地址连通性,直接使用ping 命令
9、网卡性能测试
9.1、驱动自带测试工具
ib_write_bw
ib_read_bw
ib_send_bw
ib_write_lat
ib_read_lat
ib_send_lat
下图以写带宽测试为例:
由于本案例测试线缆为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 所有。