IBM の Broadcom 5709C チップ積んでる NIC で TOE が有効にならない場合

すごいニッチだけど。VMware でデータストアに iSCSI 機器を使い、依存型ハードウェア iSCSI アダプタ を使って接続する。パスを冗長化するために NIC を複数枚搭載する。念のため同じ型番の NIC だ。

TOE (TCP/IP Offload Engine) 機能のある Broadcom 5709C チップを積んでる NIC、具体的には IBM 製 NetXtreme II 1000 Express Dualport Ethernet Adapter (42C1780) だったのだけど、片方しか 依存型ハードウェア iSCSI アダプタ として認識してくれない。もう片方は普通の NIC としてしか認識してくれない。ストレージアダプタの画面に出てこない。同じ型番の NIC なのに動きが違うのは何なのだ。

これはどうやら型番が同じでも出荷時期によってアセンブリ番号が違い、一部のモノは TOE が無効になっているという。僕が使ったのも一枚はコレに当たったわけだ。

TOE を有効にするツールがあるのでコレを使えば良い。FixCentral にて Broadcom (R) NetXtreme II (TM) vT7.x.x.x Sw CD Release といったような名称のモノをダウンロードし展開すると中に iSCSI_TOE_Enable というそのものズバリな名称のフォルダがある。このなかに iSCSI_TOE_Enabling.iso_1 というファイルがあるので拡張子を iso に変更するなりなんなりして CDR に焼き、こいつでブートする。

するとこんな感じで無効になっている TOE を有効にしてくれる。これは気付くまで3時間くらいハマった。

ところで TOE 有効な NIC を使うのと、ソフトウェア iSCSI とで、どのくらい速度差があるのだろうか。今回時間が無くて双方の計測ができなかった。実はあんまり変わりませんよーとかいう話だったらものすごく悔しい。