仮想化でプリセールスしてるSEの一日

VMware から Azure まで、インフラや仮想化の最新情報をベンダー色をできるだけ抑えて綴っていきます

Windows Server 2012 R2 のネットワークの注意事項 - InfiniBand

f:id:ogawad:20190203195637p:plain:right


ここ半年くらい、いくつかのメディアや書籍で Windows Server 2012 R2 や Hyper-V の記事を書かせていただきました。
その中でも、WindowsHyper-V 環境での「ネットワーク」の記事が特に好評いただいているようです。ありがとうございます。


"教科書どおり" の内容なら TechNet などの公式ドキュメントを読めば良いわけで、むしろ教科書にない情報を記事にすることが重要と思っているのですが*1
あまり深く書きすぎると万人ウケしづらいため技術レベルを抑えているのも事実。

メディアで書く際は色々と気遣いが必要ですが、この Blog は個人的なものですので万人ウケとか全く気にせずフォローアップしていきます。


InfiniBand は NIC Teaming や VLAN などに非対応

まずは、次世代の高速インターフェイスとして、HPC 分野だけでなく一部では "Ethernet の置き換え" としても期待されている InfiniBand
ソフトウェアで実装できる部分が大きいため Microsoft も力を入れており、スルーはできません。例えば、次の記事では InfiniBand 上で汎用的な TCP/IP 通信を実現する IPoIB (IP over InfiniBand) について紹介しました。

@IT - Windows Server 2012 R2 時代の Hyper-V サーバ設計術
第4回 クラスタリングとライセンス・コストを考慮した全体設計http://www.atmarkit.co.jp/ait/articles/1312/05/news102.html


IPoIB の汎用性に期待している方も多かったのか、
この記事の次のポイントについて何人かの方に質問いただきました。

このように、InfiniBandは従来のイーサネットと大きく違う部分が大きく、これまで培ったイーサネットのスキルを生かしづらい。構築はもちろん、トラブルシューティングといった運用を考えると、かなりの部分を一から学び直すことになるだろう。
また、イーサネットと比べると運用管理周りの技術やノウハウがまだ成熟していない。

http://www.atmarkit.co.jp/ait/articles/1312/05/news102.html

成熟していない理由は納得いただけると思います。
InfiniBand は NIC Team や VLAN などに対応していないのです。


理由は単純。IPoIB は L3(IP層)以上をエミュレーションするもので、L1/L2 はエミュレーションしていません。VLAN はイーサネットフレーム(L2)ですし、Windows LBFO も L1/L2 コントロールですので利用することはできません*2
同様に、L1/L2 で処理されるほかのイーサネットテクノロジーも原則 NG です。


※ LBFO で管理できるネットワークデバイス「有線イーサネットのみ」

Any Ethernet NIC that has passed the Windows Hardware Qualification and Logo test (WHQL tests) may be used in a Windows Server 2012 R2 team.
NICs representing technologies other than Ethernet are not supported in teams (e.g., WWAN, WLAN/WiFi, Bluetooth, Infiniband including IPoIB NICs).

http://www.microsoft.com/en-us/download/details.aspx?id=40319


ネットを検索してみたところ、
ちょうど NEC さんの InfiniBand HCA のマニュアルに明確に書かれていました。

Windows Server 2012におけるチーミング機能(LBFO)において、IPoverIBモードのInfiniBand接続ボードは選択不可です(選択リストに表示されません)。
IPoverIBでは、VLANをサポートしていません。IPoverIBインターフェイス (Hyper-V仮想スイッチマネージャやVM上のネットワークアダプター等) に対して、VLAN設定を行った場合、ユーザーインターフェイス上は、VLAN設定が可能ですが、実際には、IPoverIB経由のVLANでの通信は不可です。
IPoverIBでは、チーミング機能、および、VLANをサポートしていません。また製品特性上、必ずしも単純にイーサネットのIPネットワークに置き換え可能とは限りません。

http://support.express.nec.co.jp/teci/tecbook-pdf/tb131025/option/InfiniBand.pdf


Hyper-V サーバーを InfiniBand で実装することは可能ですが、タグ VLAN が使えないため、結構な数のアダプタが必要になります。コストメリットは失われることを加味したうえで検討しましょう。


InfiniBand は低コストで圧倒的に高速です。今年は 100Gbps 規格が出るとも言われていますが、サーバー間のインタコネクト通信向けの技術。
HPC や Oracle コヒーレンスなどには最適ですが
「世界の限られたインタコネクトネットワークとパブリックネットワークは違う」ことは理解して進めたいところです。


なお、Linux であれば ib-bonding でチーミングの方は可能です。
Windows についても「SMB マルチチャネル」で代用できそうに思いがちですが、名前のとおり CIFS に限定されるほか、Multichannel はまた色々と課題があります...
このあたりはまた 次回

*1:といっても、自分の検証結果だけだと不安なのでエビデンスは必ず取るようにしています

*2:たまにこれを RDMA を理由にしている資料がありますが、RDMA は直接関係ありません