USB NIC で ESXi をインストールする
はじめに
No Network Adapters というエラーに遭遇したことはありますか?
特に自宅ラボを検討中の方は一度は見聞きしたことがあるのではないでしょうか。
その解決策の一つとして、 USB NIC を用いて ESXi をインストールする方法を紹介します。
・ESXi version 7.X での動作確認済み
・ESXi 8 でも参考にできる内容の想定
インストール時に問題となるエラーの原因と対策
標準の ISO イメージに含まれる NIC ドライバ( NIC を使うためのソフトウェア)では、搭載されている NIC を認識することができないことがインストールに失敗する原因です。
なので、基本的には NIC ドライバを組み込んだ カスタム ISO と呼ばれるものを作成してインストールすればよいです。
カスタムISO の最もオーソドックスな作成方法は PowerCLI を使って作成するやり方なのですが、ちょっとめんどくさいですよね。
また、そもそも適切な NIC のドライバが見つからない場合もあります。
例えば DeskMini A300 Series では Realtek RTL8111H というオンボード NIC が搭載されています。
この NIC に対応するドライバは Net55-r8168 というものなのですがこれは ESXi 7 と互換性がないため、カスタム ISO を作成したとしても ESXi 7 をインストールすることはできません。1
拡張スロット2はないけど ESXi 7 を使いたい!そんなときに役立つのが USB LAN アダプタです。
ESXi のインストール
今回使用したUSB LAN アダプタはこちらです。
なんと、ESXi 7 移行では標準 ISO に含まれているドライバで上記の USB NIC を認識することができ、カスタム ISO の作成が不要です。
※ 全ての NIC を認識できるかどうか確認したわけではないので、注意は必要です

ただし、よく見てください。リンク速度が 100 Mbps になっています。
このドライバですが、きちんとこの NIC を認識してくれるわけではないようです。(もともと USB NIC のために開発されたドライバではない為です)
ギガビットアダプタなのにも関わらず、リンク速度が100 Mbps しか選択できない状態になっています。
したがって、インストール後に後述するドライバを導入する必要があります。
Exception: No vmknic tagged for management was found について
USB LAN を利用して ESXi をインストールする際に上記のエラーが出る場合があります。
これは ESXi が管理用のアダプタを設定する際に “vusb#”ではなく”vmnic#”のアダプタを検索する仕様によって、USB LAN を管理アダプタとして設定できないことが原因です。
インストール自体は完了しているため、メディアを外して起動することが可能です。
F2を押して root でログインし(パスワードなし)、[Network Restore Options] → [Restore Network Settings] を選択します。
すると vusb が検知されるようになっているので、[Network Adopters] から管理用アダプタとしてvusbを選択できます。
USB Network Native Driver for ESXi のダウンロード
こちらのサイトから Driver を入手します。
提供されているドライバは以下にあげるようなチップセットをサポートしています。
● ASIX USB 2.0 gigabit network ASIX88178a
● ASIX USB 3.0 gigabit network ASIX88179
● Realtek USB 3.0 gigabit network RTL8152/RTL8153
● Aquantia AQC111 など
まず、インストール対象となるESXiホストにダウンロードしたドライバの zip ファイルを転送します。
今回は『WinSCP』というアプリを利用して ESXi にファイルをアップロードしました。

次に、ESXiホストで esxcli software vib install
コマンドを用いてドライバのzipファイル内の VIB をインストールします。
[root@deskmini-esxi01:~] esxcli software vib install -d /tmp/ESXi700-VMKUSB-FLING-39035884-component-16770668.zip
Installation Result
Message: The update completed successfully. but the system needs to be rebooted for the changes to be affective.
Reboot Required: true
VIBs Installed: VMW_bootbank_vmkusb-nic-fling_2.1-6vmw.700.1.0.39035884
VIBs Removed:
VIBs Skipped:
「Reboot Required: true」とあるので、こちらの vib のインストール後は再起動が必要です。
ホストを再起動します。

再起動後はめでたく 1000 Mbps のリンクスピードを利用できるようになりました。
ドライバも新しくインストールした uether というものに変わっていることが確認できます。
USB NIC Binding の永続化
再起動を行うと、vusb が ESXi に上手く認識されない、といったことが起こりえます。
そんな時は以下のおまじないを。7u2 より追加されたドライバパラメータを利用していい感じに USB NIC をスキャンしてくれます。
※それ以前は local.sh にてスクリプトを実行させる必要がありました。
esxcli system module parameters set -p "usbBusFullScanOnBootEnabled=1" -m vmkusb_nic_fling
この記事の内容は以上です。ご覧いただきありがとうございました。
脚注
- Compatible With: ESXi 5.5, ESXi 6.0, ESXi 6.5, ESXi 6.7
【参考】https://vibsdepot.v-front.de/wiki/index.php/Net55-r8168 - マザボ上にあるいろんなカードを差し込むスロット