我已经将 xen-hypervisor-4.1 包安装到 Ubuntu 12.04.3 服务器上。
它安装了无限带宽适配器并且我用它运行 IPoIB。
我想要做的是向一个或多个客户提供 ipoib。但是无法使用 Linux Bridge。
# brctl addbr br0
# brctl addif br0 ib0
can't add ib0 to bridge br0: Invalid argument
这是因为 ib0 不是真正的以太网接口。我已经在网络上部署了 ipoib,所以 eoib 可能不是一个兼容的选项?
另外,如果我仅仅通过 Infiniband 适配器,那只适用于单个客户。
如何使特定虚拟机可以使用 Infiniband 网络?
答案1
IPoIB 不适用于 L2 桥接,因为它是 IB 封装上的 L3。您可以改用 Mellanox 的 eIPoIB:*http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers
这是版本 2.0-2.0.51 中的一项新功能,如发行说明中所述。有关 eIPoIB 的更多详细信息,请访问此处:*https://www.openfabrics.org/ofa-documents/doc_download/510-ethernet-tunneling-over-ipoib.html
答案2
再次回答我自己的问题。
除了通过 Dom0 路由之外,最好的替代方案是使用 SR-IOV。基本上,这会创建一些虚拟卡(实际上是虚拟功能),然后将其传递给客户机。客户机必须加载合适的驱动程序。但是,从客户机的角度来看,它认为它是本机使用该卡,就好像它拥有一切一样。
SR-IOV 在此场景中提供最佳性能。
要实现此功能,需要较新的内核(我使用的是 3.11.4)和具有别名 GUID 支持的子网管理器版本,即 opensm 版本 >= 3.3.14