ESXi を使うには、対応ハードウェアを用意するという壁があります。
特に通常の操作はネットワーク経由でしかできないために、対応したネットワークアダプタを使用する必要があります。
Intel の Giga Ethernet アダプタならば多くの場合、素直に導入が可能だと思います。
また、 Realtek の 8111/8168 についても情報が多く、カスタムのドライバを追加して動作させることが可能です。
動機
しかしこれらはほぼオンボードや追加の PCIe の拡張ボードでの NIC です。このようなものを追加できない場合もあります。
たとえば、 mini-itx で ESXi サーバーを立てたいけど、増設できないケースにしてしまった、とか、 NUC や Brix などで拡張スロットを持たない場合などです。
オンボードの LAN が使えない状況では、これらの場面で ESXi は使用不可の状態になってしまいます。
USB によるネットワークといえば USB WiFi ドングルが世の中には溢れていますが、これらが ESXi で使えた話は聞いたことがありません。
認識されて使えるものがあるなら、割と手軽に無線化できてホビーユースにはとてもいいと思うのですが。
本題
あまり情報がなかったのですが、 USB 3.0 経由で Giga Ethernet Adapter を追加するデバイスがあります。これが追加ドライバは必要とするものの ESXi で認識させて使用できるという話を見ました。これを今回試したいと思います。
今回使用するのは、 LAN-GTJU3H3 というデバイスです。現時点における市販価格も Intel のギガビットイーサ買う程度と変わらないかと思います。世間でのベンチマーク結果によると、 USB 3.0 で接続するならば Windows や Mac の環境でも通常のオンボードのギガビットイーサネットと同程度のパフォーマンスで動作できるようです。
この対応ドライバを含めた状態で ESXi 6.5 のカスタムインストールディスクイメージを作成します。
まず、 ”USB 3.0 Ethernet Adapter (NIC) driver for ESXi 6.5”からオフラインバンドル用のファイル (vghetto-ax88179-esxi65-bundle.zip) をダウンロードします。これを c:\esxi\bundles の中においておきます。
既に稼働中の ESXi に追加するという方法は、このページの中で説明が書かれていますので、そちらをご参照ください。ここでは動機に基づいて導入時から困っているものとして進めていきます。
そして VMware vSphere PowerCLI から以下のコマンドを実行してイメージを作成します。現時点においては、 vghetto-ax88179-esxi65-bundle.zip の中に署名がないため、 nsc オプションを追加しています。これを追加しないと、 “The VIB virtuallyGhetto_bootbank_vghetto-ax88179-esxi65_6.0.0-1.0.0 does not contain a signature.” と怒られて失敗してしまいます。
ESXi-Customizer-PS-v2.5.ps1 -v65 -vft -load sta-xahci,net55-r8168 -pkgdir c:\esxi\bundles -nsc
こうしてドライバを含んだ状態の iso イメージが出来ました。
セットアップ
作成したイメージからインストールを行っただけでは、使えるようにならないようです。追加の作業が必要です。おそらくオンボードの Ethernet が使えないため、この記事を読んでいる人もいると思いますので、そちらを対象に説明していきます。USB NIC のほうは単なる増設、という人はこれからの作業を ssh 経由で実行してもよいでしょう。
ESXi をインストールしたマシンで Alt+F1 を押して、直接のコンソール画面を開きます。ここでログインを行い、コマンド操作ができるようにします。
もし以前の自分のように画面が死んでしまっている環境で ESXi を導入することになっている場合には、各設定を他のPCや、仮想マシンを利用して設定だけそちらで行ってしまう、という方法もありだと思います。
ログイン後に、以下のコマンドを実行します。
esxcli system module set -m=vmkusb -e=FALSE reboot
再起動した後、再びコンソールにログインします。以下のコマンドを実行してみて ax88179 を使用しているアダプタ vusb0 が出現していれば使用可能になっていると思います。
esxcli network nic list
ちなみに Web からの確認も可能です。
テスト
今回の vusb0 のアダプタを使う vSwitch2 を作成して、ここに繋がるように仮想マシンを用意してみました。
仮想マシンには CentOS7 をインストールして、別のネットワークにいるサーバーに対して iperf にて速度を測ってみることにしました。
結果はこの通りで、オンボードのものと遜色ない性能が出ていると思います。USB 3.0 での Gigabit Ethernet の性能って凄いですね。
まとめ
VMware ESXi で使える USB 3.0 接続での Gigabit Ethernet Adapter について確認しました。
ちょっと使用するまでの手間はかかりますが、 PCIe ボードを増設できないときの唯一の対応策となると考えています。
LAN-GTJU3H3 では AX88179 というチップが使用されており、これを使っている同種類のデバイスならば、上記で説明した手順で使えるのではないかと考えています(未確認のため、保証致しかねますが).