ESXi のデータストアを iSCSI ストレージとしたとき、その経路をマルチパス構成にする方法として ESXi が持っているソフトウェア iSCSI イニシエータを使用する例は結構たくさん見ます。ところがハードウェアというか NIC に TCP の処理をオフロードするタイプのイニシエータを使った例はあんまり見ないなと思って。TOE といって、TCP の処理を CPU にやらせずに NIC 側でやってしまうので CPU に負荷をかけずにトラフィックさばけますよという仕組み。
というわけでハードウェア iSCSI アダプタを使ってマルチパス構成にしてみました。 Broadcom 5709 搭載の NIC なので、VMware 社のマニュアルによると「依存型ハードウェア iSCSI アダプタ」ということになるのかな。
このマニュアルの通りなのだけど、マニュアル内の画面サンプルがソフトウェアイニシエータを使用した場合なので、ハードウェア iSCSI の場合はちょっと違うんだよという例。
ハードウェア iSCSI でも、ソフトウェア iSCSI と同様にひとつの vSwitch にぶら下げることもできます。別の vmk との関連づけもコマンドラインから叩けばできます。
とにかくこんな感じで VMkenerl ポートを NIC のポートと関連付けて、パスやデータストアのスキャンをすればすぐ使えます。便利。
この図は、マルチパスになっていてかつラウンドロビンで2本のパスを両方使うようになっています。複数あるパスを Active - Active で使うのでちょっぴり効率が良くなるらしいです。データストアの管理パス画面にて、パスの選択を指定する項目でラウンドロビンを選べばよいです。標準では固定になっていて、1本のパスしか使いません。他のパスは眠ってます。障害が起きたら別パスに切り替わります。
ヒョイっと線を抜いたりしてみましたがゲストが落ちたりエラーを吐いたりすること無く透過的にパス切り替わりしました。