Ubuntu 12.04.3 サーバーに xen-hypervisor-4.1 パッケージをインストールしました。
Infiniband アダプターがインストールされており、それを使用して IPoIB を実行します。
私がやりたいのは、ipoib を 1 人以上のゲストに提供することです。ただし、Linux ブリッジを使用することはできません。
# brctl addbr br0
# brctl addif br0 ib0
can't add ib0 to bridge br0: Invalid argument
これは、ib0 が真のイーサネット インターフェイスではないためです。ネットワークにはすでに ipoib が導入されているので、eoib は互換性のあるオプションではない可能性があります。
また、Infiniband アダプターを単純に通過させると、単一のゲストに対してのみ機能します。
特定の仮想マシンで Infiniband ネットワークを使用できるようにするにはどうすればよいでしょうか?
答え1
IPoIB は L3 over IB カプセル化であるため、L2 ブリッジングには機能しません。代わりに 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) が必要です。