USB LAN で ESXi 7 をインストールする

はじめに

みなさんは No Network Adapters というエラーに遭遇したことはありますか?
自宅ラボを検討中の方は一度は見聞きしたことがあるのでしょうか。

今回はその解決策の一つとして、 USB LAN アダプタを用いて ESXi7 をインストールする方法 を紹介します。

インストール時に問題となるエラーの原因と対策

そもそもなんでインストールに失敗するの?

標準の 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 を認識できるかどうか確認したわけではないので、注意は必要です

cdce というドライバで 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

また、複数の USB NIC を接続して ESXi で使用すると、PSOD が発生する場合があります。
対策としては USB NIC Bindings の永続化の設定を行う必要があります。

→この問題については、ドライバのアップデートで解決されています。
詳細はこちらの記事 (vSphere 7 Update2 で USB NIC が使えるようになりました)を御覧ください。

まず、インストール対象となるESXiホストにダウンロードしたドライバの zip ファイルを転送します。

今回は『WinSCP』というアプリを利用して ESXi にファイルをアップロードしました。

左のローカルマシンから右の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 というものに変わっていることが確認できます。

  1. Compatible With: ESXi 5.5, ESXi 6.0, ESXi 6.5, ESXi 6.7
    【参考】https://vibsdepot.v-front.de/wiki/index.php/Net55-r8168
  2. マザボ上にあるいろんなカードを差し込むスロット