百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

InfiniBand网络运维全指南:从驱动安装到故障排查

ahcoder 2025-03-23 16:59 55 浏览

一、InfiniBand 网络概述

InfiniBand(直译为“无限带宽”技术,缩写为IB)是一种用于高性能计算的计算机网络通信标准,具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。它广泛应用于高性能计算(HPC)和数据中心环境,提供比传统以太网更高的性能和可扩展性。

二、驱动安装与配置

2.1 Mellanox OFED 安装

# CentOS/RHEL 系统
wget https://www.mellanox.com/downloads/ofed/MLNX_OFED-5.8-1.0.1.1/MLNX_OFED_LINUX-5.8-1.0.1.1-rhel8.6-x86_64.tgz
tar -xvf MLNX_OFED_LINUX-*.tgz
cd MLNX_OFED_LINUX-*
sudo ./mlnxofedinstall --auto-add-kernel-support --force

# Ubuntu 系统
sudo apt-get install mlnx-ofed-all

驱动下载地址:
https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/

参数说明:

--auto-add-kernel-support:自动适配内核版本

--force:强制覆盖现有驱动

--without-fw-update:跳过固件更新(可选)

安装后验证:

/etc/init.d/openibd restart
systemctl enable opensm
ibstat

2.2 驱动状态检查

# 查看驱动版本
modinfo mlx5_core

# 检查服务状态
systemctl status opensm

# 验证RDMA功能
ibv_devinfo

# 验证网卡映射关系
ibdev2netdev -v

三、基础维护命令

3.1 网络状态查询

# 查看所有IB设备信息
ibstat

输出示例:

CA 'mlx5_0'
    CA type: MT4123
    Number of ports: 1
    Firmware version: 20.30.1004
    Hardware version: 0
    Node GUID: 0x98039b0300b8a0a0
    System image GUID: 0x98039b0300b8a0a3
    Port 1:
        State: Active
        Physical state: LinkUp
        Rate: 100
        Base lid: 3
        LMC: 0
        SM lid: 2
        Capability mask: 0x2651e848
        Port GUID: 0x98039b0300b8a0a1

字段解析:

  • Physical state:物理链路状态(LinkUp/LinkDown)
  • Rate:连接速率(56=56Gb/s,100=100Gb/s)
  • Base lid:本地标识符
  • LMC:LID掩码控制

3.2 子网管理

# 启动子网管理器
opensm -B 0x0002a
参数说明:
-B:指定分区密钥

# 查看SM状态
ibsm_info

# 强制更新路由表
opensm -u /etc/opensm/opensm.conf
参数说明:
-u:更新配置后重新加载

3.3 连接性测试

# 持续ping测试
ibping -c 1000 -d 200 -i 0.001 192.168.1.101

参数说明:

-c 1000:发送1000个测试包

-d 200:数据包大小200字节

-i 0.001:发包间隔1ms

四、性能测试工具

4.1 带宽测试

# 服务端
ib_send_bw -d mlx5_0 -x 3 -F --report_gbits

# 客户端
ib_send_bw -d mlx5_0 -x 3 -F --report_gbits 

参数详解:

-d:指定设备名称

-x:使用端口号

-F:启用帧模式

--report_gbits:以Gb/s为单位报告结果

输出示例:

---------------------------------------------------------------------------------------
                    Send BW Test
 Dual-port       : OFF          Device         : mlx5_0
 Number of qps   : 1            Transport type : IB
 Connection type : RC            Using SRQ      : OFF
 PCIe relax order: ON
 ibv_wr* API     : ON
 TX depth        : 128
 CQ Moderation   : 1
 Mtu             : 4096[B]
 Link type       : Ethernet
 GID index       : 3
 Max inline data : 0[B]
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0003 QPN 0x0123 PSN 0xf6b3b2
 remote address: LID 0004 QPN 0x0124 PSN 0x8e1b9d RKey 0x18000 VAddr 0x007f7d9d9000
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 65536      1000             96.43              96.35                 0.184

4.2 延迟测试

ib_send_lat -d mlx5_0 -x 1 -F 

输出关键指标:

  • latency typical[usec]:平均延迟
  • latency min[usec]:最小延迟
  • latency max[usec]:最大延迟

五、网络诊断命令

5.1 拓扑发现

ibnetdiscover -v

输出示例:

# Mellanox Technologies Aggregation Node description
Switch  24 "S-0002c903004a5f68" # "MF0;switch-a:IB" base port 0 lid 2 lmc 0
[24]    "H-0002c903004a5f68" # "HostA HCA-1" lid 1 4xHDR
[25]    "H-0002c903004b6f70" # "HostB HCA-2" lid 3 4xHDR

字段解析:

  • lid:节点在子网中的逻辑标识符
  • lmc:LID掩码计数
  • 4xHDR:4通道HDR连接

5.2 错误检测

ibdiagnet --routing_engine=updn --get_phy_info

检测范围包括:

  • 链路CRC错误
  • 符号错误计数
  • 接收器错误
  • 本地物理错误

5.3 端口计数器

# 查看端口统计
ibportstate -L 1 -D mlx5_0 counters

关键计数器:

  • PortXmitData:发送数据量(4字节单位)
  • PortRcvData:接收数据量
  • SymbolError:符号错误计数
  • LinkErrorRecovery:链路错误恢复次数

六、高级维护场景

6.1 固件升级

mst start
mst status -v
mlxfwmanager -i /tmp/fw-Mellanox-XX.XX.XX.bin --online

6.2 性能调优

# 设置MTU值
ip link set ib0 mtu 4096

# 调整队列深度
echo 2048 > /sys/class/infiniband/mlx5_0/device/params/sq_psn

# 启用巨帧
ifconfig ib0 txqueuelen 10000

七、常见问题排查

7.1 链路不稳定

诊断步骤:

  • 检查物理连接
  • 查看端口状态:ibstatus
  • 检查错误计数器:ibqueryerrors
  • 验证固件版本:mlxfwmanager

7.2 RDMA通信失败

排查流程:

# 验证子网管理器
ibsmstatus

# 检查GID配置
ibdev2netdev

# 测试基础通信
ibping -S 5 -C mlx5_0 -P 1

相关推荐

ARM64内核内存布局图(ARM64内核内存布局图解)

ARM64架构处理器采用48位物理寻址机制,最大可以寻找到256TB的物理地址空间。对于目前的应用来说已经足够了,不需要扩展到64位的物理地址寻址。虚拟地址也同样最大支持48位支持,所以在处理器的架构...

ARM64 linux 调试串口通信(ARM64 linux 调试串口通信实验报告)

ARM64linux调试串口通信随着国产机普及很多工作也转移到了新平台上,以前调试设备用的笔记本电脑也换成新国产ARM64架构的了。本文以绿联CM204USB-A转RJ45Console调试线...

Gentoo Linux 终止对 Itanium IA-64 体系的支持

GentooLinux是最后几个继续维护Itanium(IA-64)架构构建的Linux发行版之一,但现在这些已停产的英特尔处理器正在逐步淘汰。由于Linux6.7内核放弃了对Itan...

如何检查 Linux 系统是 32 位还是 64 位?这9个命令查的又快又准!

在Linux系统中,位数(bit)通常指的是CPU架构的位宽,即CPU一次能够处理的数据量。32位系统和64位系统在内存寻址能力、计算性能和软件支持上存在显著差异:「32位系统」:...

调出好画面!带你玩转飞凌嵌入式AM62x开发板的显示接口

来源:飞凌嵌入式官网“显示”是嵌入式开发板最为重要的功能之一,能够支持更多种类、更高规格的显示接口,意味着它能够应对的使用场景也更加广泛。每一款嵌入式开发板在出厂前都会做屏幕调试,但在客户的实际项目开...

带你玩转AM62x开发板的显示接口——LVDS的显示和修改方式

此前小编已为大家介绍过OK6254-C开发板的RGB显示和修改方式,今天将继续为大家介绍OK6254-C开发板的LVDS显示和修改方式。话不多说,我们进入正题。1、LVDS接口规格飞凌嵌入式OK62...

AM335x继任者?AM6254性能解析(am2361p)

飞凌嵌入式FET6254-C核心板基于TISitaraTMAM62x系列工业级处理器设计开发,采用ARMCortex-A53架构,主频最高可达1.4GHz;并集成了丰富的接口,可广泛应用于的工...

如何在 Linux 发行版中安装微信和 QQ?

很多人因为工作沟通的原因需要用到微信和QQ,那么如何在Linux发行版中安装微信和QQ呢?以下是一些尝试的解决方法。QQ上一个版本的QQLinux版还是在2009年,而在现在,基于N...

MySQL:物理备份工具XBK(mysql 备份方案)

XBK的优缺点:XBK(PerconaXtraBackup)优点:1.免费2.热备:备份期间不阻塞innodb和XtraDB表,但会阻塞Myisam表3.物理备份:备份恢复快XBK缺点:1.不支持远...

AMD锐龙9 9950X CPU AIDA64跑分曝光:比7950X最高快45%

IT之家6月26日消息,Anandtech论坛网友igor_kavinski本周一发布帖子,分享了AMD旗舰锐龙99950X处理器的AIDA64基准测试跑分,与当前基于Z...

qemu linux内核(5.10.209)开发环境搭建

版本信息宿主机:ubuntu20.04.6LTS(FocalFossa)虚拟机:ubuntu20.04.6LTS(FocalFossa)安装宿主机的步骤省略,和一般的在vmware中安...

iPhone 7成刷机神器,成功运行乌班图、Linux、安卓

在智能机刚开始流行的时候,很多手机发烧友都喜欢刷机,当时民间大神们制作了特别多优化的ROM。后来随着手机硬件的逐步提升,以及厂商们对系统的大力优化,让大家对于刷机的兴趣也越来越少。不知道大家还记得这部...

12 款最佳免费开源 Linux 渲染器 | 火狐浏览器 130.0 版本更新

12款最佳免费开源Linux渲染器Linux的一大优势在于其拥有丰富的开源软件,可以满足艺术家、摄影师、动画师和设计师的需求。凭借价格低廉的硬件、免费的软件以及少量的才能和灵感,任何人都可以创...

Linux中xargs 命令详解与实用场景

xargs是Linux系统中常用的命令行工具之一,它能够从标准输入构造参数列表并传递给其他命令使用,是处理批量数据操作时的重要利器。一、xargs的基本语法xargs[OPTION]...[C...

Linux 磁盘扩容(非LVM)方式(linux扩容lvm磁盘容量)

今天接到一个客户的需求,CentOS的/分区容量太小了,OA系统所有的数据都在这下面,由于当时前同事给客户安装系统时采用了标准分区,而不是LVM逻辑卷,所以不支持在线扩容。df-hT查看磁盘使...