Hyper-v上にVMware ESXiをインストールする

基本的には下記参考URLの手順で問題なくインストールできましたが、はまるポイントが多かったので手順を記録しておきます。

主に参考にさせていただいたURL

ESX on Hyper-vでWindows10の上にESXiを立てる

VMware ESXi on Hyper-V ができるようになったので、検証環境の準備がさらに楽になった

手順

主に上記参考サイトの手順通りです。
躓いたところのみ記載しています。

1. 「Windowsの機能」で Hyper-Vを有効化する。

2. VMware ESXiのインストーラーISO作成(ESXi-Customizer-PS-v2.6.0.ps1)

ESXi-Customizer-PS-v2.6.0.ps1で下記エラー発生

An unexpected error occured:
[WinError 10054] ?????????????????????????????? ????????????????????????????????????????????????

If requesting support please be sure to include the log file
   C:\Users\n-noguchi\AppData\Local\Temp\ESXi-Customizer-PS-3700.log

下記コマンド実行後にESXi-Customizer-PSを実行すればうまくいくことがあります。 やらなくても何度もやるとなぜかうまくいくことがあります。

PS C:\work> [Net.ServicePointManager]::SecurityProtocol =[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

PS C:\work> ESXi-Customizer-PS-v2.6.0.ps1 -sip -vft -load net-tulip

参考: ESXi-Customizer-PSが[WinError 10054]エラーを吐くときの覚書(PowerShellでTLS1.2を有効化する方法)

ちなみに、net-tulipVMware ESXiレガシーネットワークアダプター用ドライバとのこと。

3. Hyper-V上にVM作成

ネットワークアダプタレガシーネットワークアダプターで作成します。
接続先の仮想スイッチは、現在ネットワークにつないでいる物理アダプタと別の物理アダプタを指定します。これはレガシーネットワークアダプターの縛りのようです。
「管理オペレーティングシステムにこのネットワークアダプタの共有を許可する(M)」を外します。

参考: ESX on Hyper-vでWindows10の上にESXiを立てる

■インストール後の注意
レガシネットワークアダプタは外部ネットワーク扱いとなるため、ホストが同じNICを共有しているとL2でルートが組めずESXにアクセスできません。
対処法としてはUSB等の拡張NICを使い、ESXとホストで別々のNICを使うことで対応が可能となります。

4. Nested VM 設定(Enable-NestedVm.ps1)

5. CD/DVDドライブにVMware ESXiのISOをマウント

6. VMを起動してインストール

カーネルオプションにignoreHeadless=TRUEを忘れると途中でインストーラーがすすまなくなります。
インストーラーの起動だけでなく、インストール後も同様に起動しなくなります。

参考: VMware ESXi on Hyper-V ができるようになったので、検証環境の準備がさらに楽になった

7. VMware インストール後、設定ファイルを変更

これをやらないと、VMware ESXi上にインストールしたVMが起動しません。 エラーメッセージも謎で、一番はまりました。

VMware Host Client上に表示されるエラーメッセージ

失敗 VMware ESX と Hyper-V には互換性がありません。 VMware ESXを実行する前に、システムからHyper-Vロールを削除してください。

VMwareの上の/etc/vmware/configに下記を追記すると、VMware ESXi上のVM起動できました。

vmx.allowNested = “TRUE”

参考:Install a VMWare ESXi 6.0 Hypervisor in a Hyper-V VM

  • @Tom Watson: Adding a line to /etc/vmware/config with vmx.allowNested = “TRUE”

8. VMware ESXi の起動オプションを変更

ESXiを起動するときに毎回ignoreHeadless=TRUEの設定を入力するのは手間なので 下記コマンドで起動オプションに自動的に入るように設定しておくのがおすすめです。

esxcfg-advcfg --set-kernel "TRUE" ignoreHeadless

参考: VMware ESXi on Hyper-V ができるようになったので、検証環境の準備がさらに楽になった

その他

インストール後、VMware Host Client上で、「現在 ESXi を評価モードで使用しています。このライセンスは 60 日後に有効期限が切れます。」というメッセージが表示されます。 無料のライセンス認証した後も、VMware Host Clientは使えました。(vSphere Web Clientみたいに、「vCenterの評価期間終わると使えません」とはなりません。)