在 FreeBSD 上通过 Infiniband 进行文件共享

在 FreeBSD 上通过 Infiniband 进行文件共享

我有一对服务器,我想直接将它们连接在一起,而不是通过网络其他部分共享的交换机。我希望直接连接能够带来更低的延迟和更高的带宽(包括更大的 MTU)。

两台机器目前都运行 FreeBSD-11.2,每台机器都有自己的 ZFS 池和多个文件系统。快速交叉访问这些文件系统是主要目标之一。

为此我买了一对二手卡(Mellanox IBM 46M2201 双端口 ConnectX 4X) 并有以下疑问:

  1. 我的连接选项有哪些?主要目的是共享数据 —— NFS 是我唯一的选择吗,还是 FreeBSD 有 Infiniband 专用的东西?
  2. 如果是 NFS,是否必须通过 IP 进行传输,或者是否存在一些“更私密的”Infiniband 特定协议?
  3. 如果是 NFS over IP,我应该选择 UDP 还是 TCP?还有其他调整参数可以从直接连接中榨取最大收益吗?
  4. 我需要什么类型的电缆来直接连接它们?令我惊讶的是,搜索“infiniband 电缆”返回的是带有不同连接器的各种产品。在此处输入图片描述

提前非常感谢您的任何见解。如果有一份在线文档回答了这些问题(部分),我很乐意获取链接——我能找到的所有内容似乎都是针对特定供应商的……

(为什么这个问题是关于连接服务器被认为是“离题”服务器故障?)

答案1

我对 1-3 的问题没有答案,只有一些有关 Infiniband(IB) 应用程序的其他信息可能有助于您找到答案。不过我可以回答 4。

1) 我的连接选项有哪些?主要目的是共享数据 - NFS 是我唯一的选择吗,还是 FreeBSD 有 Infiniband 专用的东西?

2) 如果是 NFS,是否必须通过 IP 进行传输,或者是否存在某些“更私密”的 Infiniband 特定协议?

要查找的关键词可能是 NFS over RDMA,但快速搜索显示它可能尚未完成 FreeBSD。您还可以查看 SRP 或 iSER,但我没有找到任何使用这些 IB 协议的应用程序的参考资料。

3) 如果是 NFS over IP,我应该选择 UDP 还是 TCP?还有其他调整参数可以从直接连接中获取最大收益吗?

TCP。根据FreeBSD IB 维基作为 IB 配置的一部分,您正在设置连接模式,这类似于使用 TCP。至少在 Linux 世界中,使用连接模式时,您应该只使用 NFS over TCP,而不是 UDP。NFS over UDP 只应在使用数据报模式时进行,并且不建议使用这两种模式。

4) 我需要什么类型的电缆来直接连接它们?令我惊讶的是,搜索“infiniband cable”返回的是带有不同连接器的各种产品。

您需要一根“QDR”电缆,即“四倍数据速率”的缩写,即 40Gbps。ConnectX-3 卡支持 FDR,即“十四倍数据速率”的缩写,即 56Gbps(14Gbps*4 通道)。这两种电缆都适用于您的卡。

您可以购买 Mellanox 品牌的电缆,在这种情况下,您知道它会起作用,或者您可以购买非品牌的电缆。我喜欢 3M 品牌的电缆。它们是扁平电缆,支持非常大的弯曲半径,并允许您在非常小的空间内堆叠一堆电缆而不会产生任何串扰。二手 Mellanox QDR 电缆在 eBay 上应该非常便宜。我从未购买过二手电缆,但如果您这样做,您必须购买经过测试的电缆 - 如果您没有可以比较的工作系统,那么很难排除故障。

电缆有两种类型 - 无源(铜)或有源(光纤)电缆。光纤电缆永久连接到 QSFP 连接器,因此您必须获得特定长度的电缆。铜线的最大长度为 3 米,或或许最长可达 5 米 - 再长就必须使用光纤电缆。在铜缆 100% 正常工作之前,不要使用光纤电缆。我见过铜缆工作正常但光纤不工作的情况,这是由于硬件中存在奇怪的故障模式。在拥有经验和可用于排除故障的零件清单之前,请排除这种可能性。

现在,还有一些您没有要求但可能有帮助的提示。首先,确保您在其中一个系统上运行 opensm。将其视为 dhcp 服务器;如果没有它,两个系统将物理连接,但不会传递任何数据。

第二,一些Mellanox 卡将在 IB 模式或以太网模式下运行。这些通常是 VPI 系列卡。我不确定这是 ConnectX-2 上的选项还是您的卡是否支持它。但如果它们支持,让这些卡以 40GBE 而不是 QDR IB 运行并具有良好的 NFS 性能可能会更容易。根据我在 Linux 上的经验,我们看到 IPoIB 的性能约为线速的 20-30%。您可以使用 IB 协议(如 RDMA)或切换到以太网模式来获得线速。

相关内容