10G NICを入手
今回入手したのはMellanox ConnectX-3(MCX341A-XCEN)です。
ebayで送料込み3000円程度で買えます。到着までに2ヵ月近く掛ったけどね・・・
ESXiで通信がうまくいかない
VMware Host Client上でvSwitchのアップリンクをIntelの1G NICから切り替えると通信が途切れる。
pktcap-uwやWireSharkをパケットキャプチャして確認。
ARPのキャッシュが残ってる間は通信できるからARP Replyできていないのかと思ったけどやっぱり動きがおかしい。
ネットの海で情報を調べまくる
もはやお手上げ。
NIC投げ捨てる寸前だったが、頑張って探したらいろいろ分かってきた。
・Mellanox Technologies MT27500 Family [ConnectX-3 and ConnectX-3 Pro devices] adapter stops processing traffic but network adapter link state is still active (60421)
https://kb.vmware.com/s/article/60421?lang=en_US
・海外の10Gホームネットワークのスレッド
https://www.hardwareluxx.de/community/threads/der-10gbit-homenetzwerk-thread.807277/page-129
・Mellanox connectX-3のファームアップデート手順(@tetrar124 様)
https://qiita.com/tetrar124/items/2e4b7e5955401dbff0fb
で、結論は?
結局のところ、以下の2点を実施したらESXiでちゃんと使えるようになりました。
①ファームウェアのアップデート
→別型番のConnectX-3のファームウェアを適用します。(おまじないが必要)
②最新のESXi用ドライバへのアップデート
→最新のドライバを発見できれば後は入れるだけ。
1.ファームウェアのアップデート
今回は手元のWindowsPCで実施することにします。
ESXi上でできないことはないと思いますがアレコレ入れるのが面倒なので・・・
①Mellanox Firmware Tools(MFT)の入手
https://jp.mellanox.com/products/adapter-software/firmware-tools
とりあえず最新版をダウンロード。
②Mellanox Firmware Tools(MFT)のインストール
インストーラーをダブルクリックします。
基本的には淡々と次へ進むだけです。
途中でインストールするコンポーネントを選択する画面がありますが、全てインストールするように変更して進みました。
③ファームウェアの入手
MCX341A-XCEN用のファームウェアは古いもので止まっている状況。
そこで別型番(MCX341A-XCCN)のファームウェアを使います。
海外のスレッドで同じ問題が取り上げられていたため助かりました。
https://jp.mellanox.com/support/firmware/connectx3en
④PCにConnectX-3を搭載
空いているPCI-Expressスロットに差し込むだけです。
⑤接続されたNICの確認
以降の作業はコマンドプロンプトで行います。
mst status
⑥現行ファームウェアとNIC情報のバックアップ
現行ファームウェアやらNIC情報やらを念のためバックアップしておきます。
flint -d mt4099_pci_cr0 ri orig_firmware.bin
flint -d mt4099_pci_cr0 dc orig_firmware.ini
flint -d mt4099_pci_cr0 rrom orig_rom.bin
mlxburn -d mt4099_pci_cr0 -vpd > orig_vpd.txt
⑦ファームウェアの更新
-iで適用するファームウェアを選択。
-allow_psid_changeオプションを入れないとPSIDが違うので弾かれます。
flint -d mt4099_pci_cr0 -i fw-ConnectX3-rel-2_42_5000-MCX341A-XCC_Ax-UEFI-14.11.45-FlexBoot-3.4.752.bin -allow_psid_change burn
⑧再起動
OS再起動後に新FWが反映されます。
flint -d mt4099_pci_cr0 q
2.ESXi用ドライバのアップデート
ドライバはここから入手できます。
https://my.vmware.com/jp/web/vmware/downloads/details?downloadGroup=DT-ESXI67-MELLANOX-NMLX4_EN-317701&productId=742
詳細はこれから記述予定・・・