1. lspci - 检查本地PCI设备

检查本地的PCI设备,用于识别Mellanox网卡。

示例: lspci | grep -i mell

lspci命令输出

2. ofed_info - 检测OFED驱动版本

检测OFED驱动版本信息。

示例: ofed_info -s

OFED版本信息

3. ibstat - 查看IB网卡状态

查看本机的InfiniBand网卡状态。

ibstat命令输出

4. mst - Mellanox软件管理工具

Mellanox软件管理工具,用来生成IB设备描述符,提供给其他命令使用。

示例: mst start

mst命令输出

5. mlnx_perf - 查看端口收发流量

可以查看端口的收发流量。

参数说明:

  • -i:选项接IB设备名称,如ib0, ib1…
  • -t:每隔多久采集一次,单位秒
  • -c:采集多少次

mlnx_perf命令输出

6. ibswitches - 获取子网交换机信息

获取当前子网的所有交换机的信息。显示子网内所有识别到的交换机的GUID、端口数量、交换机名字、LID号等。

ibswitches命令输出

7. ibhosts - 获取子网HCA信息

获取当前子网的所有HCA的信息。显示子网内所有识别到的HCA的GUID、端口数量、交换机名字、LID号等。

ibhosts命令输出

8. ibnodes - 获取子网所有设备信息

获取当前子网的所有交换机和HCA的信息。显示子网内所有识别到的交换机和HCA的GUID、端口数量、交换机名字、LID号等。相当于ibhosts和ibswitches命令的合并。

ibnodes命令输出

9. ibnetdiscover - 扫描IB网络设备

扫描当前网络中的IB设备。输出内容包括GUID、端口号、LID号和节点描述以及交换机和HCA卡的连接关系。

ibnetdiscover命令输出

10. iblinkinfo - 检查网络拓扑连接

检查网络拓扑是否按照最初规划的网络准确并连接正常,使用iblinkinfo,可以观察到所有节点和交换机的端口连接情况。

输出解释

该交换机SW200总计有41个端口,第41个端口虚拟出来用来进行shield功能,实际不存在物理端口。第一列至最后一列是本端交换机LID端口号,with,速率,状态,物理状态,对端LID号,对端端口号,对端名字。

标识说明:

  1. ① 表示这台交换机的GUID号,唯一区分交换机的标识
  2. ② LID号,集群创建时SM分配的唯一便于管理的lid号
  3. ③ 表示1-20号口为IB交换模块与网卡连接的内部端口
  4. ④ 表示21-40为IB交换模块外部连接口
  5. ⑤ 表示41号口为虚拟机口,为集群跑压力的自由路由端口
  6. ⑥ 表示当前端口的连接速率:4X*25.78125=100Gbps(EDR)
  7. ⑦ 表示网卡端口的lid号及所对应的服务器
  8. ⑧ 表示IB交换模块外部连接口的lid号、端口序列号、对端连接设备的名称

iblinkinfo命令输出

11. ibdiagnet - 网络诊断工具

该指令扫描整个网络,诊断设备和网络连接状态,并生成报告。

示例: 查看误码率 ibdiagnet --pc --get_phy_info

生成的报告文件

  • ibdiagnet.log:全部应用信息报告
  • ibdiagnet.lst:网络所有节点、端口和链路信息列表
  • ibdiagnet.fdbs:网络全部交换机的单播转发表
  • ibdiagnet.mcfdbs:网络全部交换机的多播转发表
  • ibdiagnet.masks:重复GUID端口、节点掩码表
  • ibdiagnet.sm:网络所有子网管理器SM列表
  • ibdiagnet.pm:网络链路的性能管理器计数器信息
  • ibdiagnet.pkey:分区信息和成员主机端口信息
  • ibdiagnet.mcg:多播组属性,成员主机端口信息
  • ibdiagnet.db:内部子网数据库信息

ibdiagnet命令输出

12. sminfo - 获取子网管理器信息

获取当前节点的子网管理器的信息。

⚠️ 注意: 禁止批量执行该命令,会引起opensm服务异常。

sminfo命令输出

13. saquery - 查看子网管理器

查看子网内的子网管理器。

saquery命令输出

14. mget_temp - 获取设备温度

获取网卡或交换机的温度。

mget_temp命令输出

用于检查和调试连接状态以及与之相关的问题。

重要参数说明

  • Speed:表示当前网卡支持的最大带宽速率
  • Enabled Link Speed:表示当前网卡支持的协商速率
  • Support Cable Speed:表示与IB交换模块连接的线缆支持的协商速率(红色字体表示为内部连接无cable)

常用功能

  • 检查端口的误码率(-c参数)
  • 查看光口的温度、线缆长度等
  • 查询模块的信息

mlxlink命令输出1

mlxlink命令输出2

16. ibportstate - 端口管理工具

来管理交换机的端口,enable、reset、disable等等。如果交换机的端口disable了,连对端卡的状态就是polling。

示例:

  • ibportstate 127 37 enable # 启动lid为127的交换机的37号端口
  • ibportstate 127 37 # 查看lid为127的交换机的37号端口

17. perfquery - 查看端口计数器

查看端口计数器,主要用来排错。

示例:

  • perfquery 32 2:显示lid号为32的设备的2号端口的计数器
  • perfquery -l 26 1-10 -r:分别显示lid号为26的设备的1-10号端口的计数器

参数说明:

  • -r:读取指定的端口计数器之后,重新开始计数
  • -l:显示每一个端口的数据
  • -a:将所有端口,数据汇聚后,展示

perfquery命令输出

18. ib_send_bw - 带宽测试工具

测试两个节点的带宽。

常用参数

  • -a:Run sizes from 2 till 2^23
  • -c:指定连接类型
    • RC:面向连接的可靠服务
    • UC:面向连接的不可靠服务
    • UD:面向数据包的不可靠服务
  • -F:表示屏蔽掉CPU频率相关的提示信息
  • -d:表示卡的id
  • -i:指定网卡的端口

使用示例

服务端: ib_send_bw -a -c UD -F -d mlx5_0

客户端: ib_send_bw -a -c UD -F -d mlx5_0 11.4.3.19

19. hca_self_test.ofed - 自检工具

自检工具,通常用于验证OFED(OpenFabrics Enterprise Distribution)软件栈和硬件设备的兼容性与功能完整性。

主要功能

  • 硬件诊断:检测Mellanox HCA(如ConnectX系列)的物理状态(端口、链路、固件等)
  • 软件兼容性:验证OFED驱动、固件版本、内核模块是否匹配
  • 功能测试:检查RDMA(远程直接内存访问)、NVMe over Fabrics(NVMe-oF)等高级功能是否正常

hca_self_test命令输出