我最近继承了一个包含多个交换机的 Infiniband 网络,我知道其中一个交换机正在运行子网管理器。其余的应该关闭了该功能,或者从未启用过。问题是,我不知道是哪一个……
我想用在我的几个基础架构服务器上运行的 OpenSM 替换交换机子网管理器。除了单独登录每个交换机之外,有什么方法可以确定哪个交换机正在运行 SM?
在运行测试以诊断一些所谓的网络问题时,我从以下输出ping:
--- r01c01b11n02 ping statistics ---
30000 packets transmitted, 29995 received, 0% packet loss, time 6309ms
rtt min/avg/max/mdev = 0.091/0.343/118.051/3.605 ms, pipe 9, ipg/ewma 0.210/0.130 ms
PING r01c02b06n01 (10.1.1.61) 56(84) bytes of data.
Run Code Online (Sandbox Code Playgroud)
pipe 9我以前从未见过的部分;目前,我只在这几台主机上获得它,实际数量各不相同(例如,可能是
pipe 8或pipe 2)。
输出中pipe <number>是什么意思ping?
是否可以将两台独立计算机上的两张 Mellanox ConnectX-2 卡相互连接,而无需在两者之间进行切换?我只是想学习使用动词编程,而不必在昂贵的开关上花费 $。
我需要一根特殊的电缆还是标准的一个工作正常?在标准以太网上,我需要一根交叉连接电缆。
我部分继承了一个 Linux HA 集群,该集群的中心目前在两个 Debian 主机之间通过 IPoIB(IP over InfiniBand)提供与 DRBD 8 的连接。它没有坏,所以我不会修理它。
我还注意到 DRBD 9 支持 RDMA,因此问题可能会出现在将来是否通过 RDMA(即“本机”InfiniBand)替换与 DRBD 9 的连接。
由于我不想在生产系统上运行性能测试,我想知道:是否有已发布的 IPoIB 与 RDMA/InfiniBand 的性能比较。例如,我是否可以预期从 IPoIB 切换到 10%、50% 或 100% 的数量级的带宽/延迟增益?可以期待什么?
我有一对服务器,我想将它们直接相互连接——而不是通过网络其余部分共享的交换机。我希望从直接连接(包括更大的 MTU)提供的更低延迟和更高带宽中受益。
两台机器目前都运行 FreeBSD-11.2,每台机器都有自己的 ZFS 池和多个文件系统。快速交叉访问这些文件系统是主要目标之一。
为此我买了一对二手卡(Mellanox IBM 46M2201 Dual Port ConnectX 4X),有以下问题:

非常感谢您提供任何见解。如果有在线文档回答了(其中一些)这些问题,我很乐意提供链接——我能找到的一切似乎都是特定于供应商的......
(为什么这个关于连接服务器的问题在Serverfault上被认为是“题外话” ?)
我有 2 个运行 RHEL 6.3 的服务器,它们有 2 个端口的 Infiniband 卡
>lspci | grep -i infini
07:00.0 InfiniBand: QLogic Corp. IBA7322 QDR InfiniBand HCA (rev 02)
Run Code Online (Sandbox Code Playgroud)
我有兴趣绕过Infiniband交换机(我没有)将它们直接相互连接。快速谷歌搜索表明,至少在某些配置中这是可能的。
我使用yum groupinstall "Infiniband Support"安装了所有 RedHat Infiniband 软件包。但是ibv_devinfo显示每张卡的两个端口都down了,说明没有连接网线。但是电缆已连接,尽管卡上的 LED 指示灯不亮(这不是一个好兆头)。另一个让我感到困惑的地方是,根据这个,RedHat 没有附带OFED软件包,由于缺乏 RedHat 对它们的支持,我有点犹豫要从源代码安装它们......那么我要去哪里呢? ? 我的问题是:
任何额外的输入/建议/指针将不胜感激。
PS我按照本指南获取安装说明。我的操作系统清楚地识别了 Infiniband 卡,并且 rdma 服务正在运行。
更新:我已经安装了 opensm。当我运行它时,它说:
OpenSM 3.3.13
Command Line Arguments:
Log File: /var/log/opensm.log …Run Code Online (Sandbox Code Playgroud) 我是 infiniband 网络的新手,但我需要使用一些节点扩展现有的 infiniband 集群。在我的探索性网络研究中,我发现了一些对电缆、连接器和开关的模糊描述。
根据维基百科,QSFP 被指定为 4x1Gb/s,QSFP+ 被指定为 4x10 或 40 Gb/s。然而,网络上的许多供应商都提供 40 Gb/s 的 QSFP 电缆和交换机。这似乎与我发现的不同 infiniband 布线的概述不符。
这只是草率的命名吗?这些 QSFP 40Gb/s 实际上是 QSFP+ 吗?QSFP 和 QSFP+ 之间的物理连接有区别吗?或者只是电缆质量不同(如 CAT6 和 CAT7 电缆),但连接器的形状相同?
如果有人能澄清这一点,我将非常感激。
我的系统有 2 个 infiniband 设备,其中之一的两个端口均已打开。
$> ibstatus
Infiniband device 'mlx4_0' port 1 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0a9f
base lid: 0x22
sm lid: 0x1
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 20 Gb/sec (4X DDR)
link_layer: IB
Infiniband device 'mlx4_0' port 2 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0aa0
base lid: 0x23
sm lid: 0x1
state: 4: ACTIVE
phys state: 5: LinkUp
rate: 20 Gb/sec (4X DDR)
link_layer: IB
Infiniband device 'mlx4_1' port 1 status:
default gid: fe80:0000:0000:0000:0002:c903:000f:0a6b
base lid: 0x0
sm lid: 0x0 …Run Code Online (Sandbox Code Playgroud) 我想将 infiniband 传递到 docker 容器,以便我可以通过 ipoib 运行一些高性能应用程序并使用 rdma。
目前,我正在使用 xen 虚拟机执行此操作。现在我正在考虑使用 CoreOS 和 docker 作为重量更轻且更易于管理的替代方案。
我有一个 IPoIB 设备 ib0,分配给它的静态 IP 为 10.10.10.10。我已经设法通过以下方式将其暴露在 docker 容器中:
docker run --net=host --device=/dev/infiniband/uverbs0 --device=/dev/infiniband/rdma_cm -t -i ubuntu:14.04 /bin/bash
太好了,这有效。ib0 在 docker 容器内可用。
现在假设我有一个双端口 HCA。在主机上,它们显示为 ib0 和 ib1,并分配了两个 ip。10.10.10.10/ib0 和 10.10.10.11/ib1
现在我想将 ib0 传递给第一个容器,将 ib1 传递给第二个。由于 --net=host 选项,使用上述方法两者都会出现在两个容器中。但是,不指定它意味着设备根本不会出现。
另一种情况是我有很多机器使用 SR-IOV 将 infiniband 设备传递到 xen 虚拟机。我如何才能将虚拟功能 infiniband 设备传递给 docker 容器并使其出现?
注意:管道在这种情况下不起作用,但如果我更好地理解它,它可能会被黑客入侵以做我想做的事。我只是不太明白它在做什么......还没有。
我有几台带有 ConnectX-7 Infiniband 卡的机器,它们已插入 Nvidia QM9700 交换机。我已确认两端均为 400 Gbit NDR(主机上的 ibstat 和交换机控制台中)。这些机器运行 Ubuntu 22.04 和 Mellanox 5.8-3.0.7.0 驱动程序。我已经做了很多测试ib_write_bw,我能得到的最大速度是 ~251 Gbit/s。实际测试命令为:
服务器端(host_a):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits
Run Code Online (Sandbox Code Playgroud)
客户端(host_b):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits --run_infinitely host_b
Run Code Online (Sandbox Code Playgroud)
这些卡位于正确的 numa 域中以匹配 numactl,但我尝试过其他组合,但没有成功。输出最终看起来像这样:
---------------------------------------------------------------------------------------
RDMA_Write BW Test
Dual-port : OFF Device : mlx5_4
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
PCIe relax order: …Run Code Online (Sandbox Code Playgroud) infiniband ×10
networking ×4
performance ×2
cluster ×1
debian ×1
docker ×1
drbd ×1
freebsd ×1
ip ×1
linux ×1
nfs ×1
ping ×1
redhat ×1
zfs ×1