是否可以获取特定 Linux 机箱所连接的 Infiniband 交换机的任何唯一标识符?

是否可以获取特定 Linux 机箱所连接的 Infiniband 交换机的任何唯一标识符?

我试图识别哪些 Infiniband NIC 连接到哪些交换机,其方式与这个问题

但是,那里提出的解决方案不适用于 Mellanox Infiniband 交换机,而且我找不到任何替代方案。

是否有一个标准的方法来查询特定机器所连接的 Infiniband 交换机的标识符?

答案1

您的 Linux 机器上应安装 MLNX_EN for Linux 或 MTNIC 驱动程序。然后使用“ethtool”或“mstflint”命令,如下所示:

ethtool -i eth2 驱动程序:mlnx_en(MT_0DD0120009_CX3)<--- 这是 PSID 版本:2.1.6(2014 年 2 月)固件版本:2.30.8000 总线信息:0000:1a:00.0 mstflint:1. 获取 PCI 总线上的设备位置:
lspci ....... 04:00.0 InfiniBand:Mellanox Technologies MT4099 [ConnectX-3 VPI FDR、IB(56Gb/s)和 40GigE;PCIe3.0 x8 8GT/s;RoHS R6]。 2. 获取产品的 PSID,输入:> mstflint -d 04:00.0 q 图像类型:FS2 FW 版本:2.30.8000 设备 ID:4099 芯片修订版:A1 描述:节点端口 1 端口 2 系统图像 GUID:0002c90307e25050 0002c90307e25051
MAC:0002c9e25750 0002c9e25751
VSD:N/A
PSID:MT_1090120019

以下是 Mellanox 支持页面:http://www.mellanox.com/page/firmware_HCA_FW_identification

答案2

也许您可以使用软件包ibnetdiscover中的工具infiniband-diags。它会打印出 InfiniBand 网络拓扑,包括交换机以及哪个主机端口连接到哪个交换机端口。

答案3

你问的是无限带宽,所以任何以太网相关工具(如您链接到的另一个问题或此处的某个答案中所述)是不相关的。

infiniband 中交换机的 ID 是其 GUID。

运行ibhosts以获取子网中所有 HCA 的列表。运行ibswitches以获取子网中所有交换机的列表。

现在,如果您想获得完整的拓扑,请运行ibnetdiscover,按照@haggai_e 的建议。

如果您的问题更具体,比如在这个特定的 Linux 机器上,连接到这个 NIC 的第一个端口(在 infiniband 中称为“HCA”)的交换机 GUID 是什么,您可以直接使用smpquery工具查询这个交换机。

运行如下:smpquery -D NodeInfo 0,1

运行smpquery -h以获取更多使用信息。

相关内容