我试图识别哪些 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
以获取更多使用信息。