连接两个infiniband卡彼此没有一个开关

两台独立的计算机上的两台Mellanox ConnectX-2卡可以互相连接吗? 我只是试图学习使用动词编程,而不必花费昂贵的开关。

我需要一个特殊的电缆还是一个工作的标准好吗? 在标准的以太网上,我需要一个交叉连接电缆。

是的,你可以直接连接它们。 但是您必须确保至less在其中一台机器上运行opensm子网pipe理器。

从软件方面来说,如果您使用的是Ubuntu 14.04,请安装这些软件包:

sudo apt-get install opensm infiniband-diags librdmacm-dev libibverbs-dev libmlx4-dev 

然后将这些添加到/ etc / modules

 mlx4_ib ip_ipoib rdma_ucm 

为卡添加一个IP地址。 编辑/ etc / network / interfaces

 auto ib0 iface ib0 inet static address 10.0.0.1 netmask 255.255.255.0 

重启。

Opensm将自动启动。 重复上面的其他机器,但使用不同的IP:10.0.0.2。

一切顺利,你应该可以从10.0.0.1 ping 10.0.0.2,反之亦然。

运行一些testing:

 sudo ibnodes 

哦,ibnodes和其他几个脚本有一个bug。 你可以通过编辑来修复它们。 大多数情况下,它们是在/ usr / local / sbin中实际调用/ usr / sbin中的应用程序的shell脚本。

如果你find一个,那就直接去编辑它,并相应地改变IBPATH。 我从来没有到处提交针对Ubuntu的错误报告。 希望别人会这样做。 这个问题已经有好几年了。

输出将如下所示:

 Ca : 0x001a4bffff0c9374 ports 2 "HP Lion Cub DDR 128MB" Ca : 0x001a4bffff0c446c ports 2 "HP Lion Cub DDR 128MB" Ca : 0x001a4bffff0c4438 ports 2 "HP Lion Cub DDR 128MB" Switch : 0x000b8cffff006aa8 ports 24 "MT47396 Infiniscale-III Mellanox Technologies" base port 0 lid 2 lmc 0