ストレージ用のサーバーとのデータ転送を効率よくやりたいと思い、Infiniband の HBA を購入しました。
Windows Server 2012 で使いたかったので、Mellanox の MHQH19-XTC を 2 個調達して使ってみました。
Infiniband のスイッチは持っていないので、QSFP のケーブルで 2 つの HBA を直結で接続しています。
Windows Server 2012 で上記の HBA を接続すると、IPoIB (IP over Infiniband) で接続ができるインタフェースとして認識できるということは知っていたのですが、実際に Infiniband を触るのは初めてなので以下の資料等を参考にさせていただきどうにかピアツーピアで接続ができるようになりました。
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR InfinibandでSMB Direct (SMB over RDMA)を試してみた
Deploying Windows Server 2012 Beta with SMB Direct (SMB over RDMA) and the Mellanox ConnectX-2/ConnectX-3 using InfiniBand ? Step by Step
Windows Server 2012 は標準でドライバを持っていたのでデバイスはすぐに認識ができたのですが、ケーブルを直結していてもネットワークは接続されていない状態に。
スイッチを経由しないで接続をする場合には OpenSM が必要となるということを知らずに上記の資料を見ながらせっせと設定をしどうにか接続できるようになりました。
使用したモジュールはこの辺に
WinOF VPI Installation Package
Mellanox Firmware Tools (MFT)
Creating a Customized Firmware Binary (OEMs Only)
tar64.dll
ファームが旧かったので最新のものにしたり、ドライバに関しては OS 標準のものではなくメーカーの最新のものをインストールしています。
また、ピアツーピアの接続を起動時に自動でできるようにするために OpenSM を自動起動のサービスとして登録といった作業をすれば端末間でインフィニバンドを使用して通信をすることができました。
# サービスの登録については Slideshare の内容では起動時にエラーとなってしまい、TechNet Blog の内容でサービスを登録するとエラーとなりませんでした。
OS から NIC として認識しているので IP を設定すれば相互通信が可能となります。
この辺のハードウェア周りは弱いのでもう少し勉強しないとな~と思いました。