我已將 xen-hypervisor-4.1 軟體包安裝到 Ubuntu 12.04.3 伺服器上。
它安裝了 infiniband 適配器,我用它運行 IPoIB。
我想做的是向一位或多位客人提供 ipoib。然而使用linux橋是不可能的。
# 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