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

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

suiw9 2025-04-01 22:09 8 浏览 0 评论

一、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

相关推荐

10款超实用JavaScript音频库(js播放音频代码)

HTML5提供了一种新的音频标签实现和规范用一个简单的HTML对象而无需音频插件来控制音频。这只是一个简单的整合这些新的HTML5音频特征及使用JavaScript来创建各种播放控制。下面将介绍10款...

Howler.js,一款神奇的 JavaScript 开源网络音频工具库

o...

PROFINET转Modbus网关——工业协议融合的智能枢纽

三格电子SG-PNh750-MOD-221,无缝连接Profinet与Modbus,赋能工业物联产品概述...

简单实用的Modbus类库,支持从站和DTU

一、简介...

[西门子PLC] S7-200 SMART PROFINET :通过GSD组态PLC设备

从S7-200SMARTV2.5版本开始,S7-200SMART开始支持做PROFINETIO通信的智能设备。从而,两个S7-200SMART之间可以进行PROFINETI...

Modbus(RTU / TCP)有什么异同(modbus tcp和tcp)

Modbus是一种广泛使用的工业自动化通信协议,它支持设备之间的数据交换。Modbus协议有两个主要的变体:ModbusRTU(二进制模式)和ModbusTCP(基于TCP/IP网络的模式)。尽管...

Modbus通信调试步骤详解(modbus调试工具怎么用)

Modbus通信调试步骤详解  Modbus通信分为串口和以太网,无论是串口还是以太网,只要是标准Modbus,就可以用Modbus模拟器进行调试。按以下几步进行调试。...

理解Intel手册汇编指令(intel 汇编指令手册)

指令格式...

「西门子PLC」S7-200 SMART的Modbus RTU通讯

S7-200SMART集成的RS485端口(端口0)以及SBCM01RS485/232信号板(端口1)两个通信端口可以同时做MODBUSRTU主站,或者一个做MODBUSRTU主站一个做MO...

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

一、InfiniBand网络概述InfiniBand(直译为“无限带宽”技术,缩写为IB)是一种用于高性能计算的计算机网络通信标准,具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。它...

一加回归 OPPO,背后的秘密不可告人

有这样一个手机品牌,它诞生于互联网品牌。在大众群体看来,它的身世似乎模糊不清,许多人以为它是国外品牌。它的产品定位是极客群体,深受国内发烧友,甚至国外极客玩家喜爱。...

[西门子PLC] S7-200SMART快速高效的完成Modbus通信程序的设计

一、导读Modbus通信是一种被广泛应用的通信协议,在变频器、智能仪表还有其他一些智能设备上都能见到它的身影。本文呢,就把S7-200SMART系列PLC当作Modbus主站,把...

狂肝10个月手搓GPU,他们在我的世界中玩起我的世界,梦想成真

梦晨衡宇萧箫发自凹非寺量子位|公众号QbitAI自从有人在《我的世界》里用红石电路造出CPU,就流传着一个梗:...

[西门子PLC] 博途TIA portal SCL编程基础入门:1-点动与自锁

一、S7-SCL编程语言简介...

工作原理系列之:Modbus(modbus工作过程)

MODBUS是一种在自动化工业中广泛应用的高速串行通信协议。该协议是由Modion公司(现在由施耐德电气公司获得)于1979年为自己的可编程逻辑控制器开发的。该协议充当了PLCS和智能自动化设备之间的...

取消回复欢迎 发表评论: