開発環境をEsxi上に作成して、スナップショットとりながら無茶な検証を行う事はよくあるとおもいます。しかし、ハイパーバイザーOS自体の検証はいちいちUSBブートして初期化するのは手間ですよね。
今回は、VmwareEsxi5.5上のゲストマシンで、XenやHyper-V、Esxi5.5などIntel-VT機能が必須なハイパーバイザーOSを動かす方法をご紹介します。
そもそも、NestedEsxiって?
通常の構成は、サーバー本体Hardwareの上でEsxiが稼働し、その中でゲストOSが動きます。
通常の構成
しかし、Nested構成にするとHardwareの上にEsxiがあり、その中のゲストマシンでEsxiが更に動くという構成になります。
Nested Esxi構成
Esxi上でEsxi等のハイパーバイザーを動かす設定
ゲストマシンにハイパーバイザーOSをインストールし動かす設定は、最低限以下の2つが必要となります。
親Esxi上の設定変更
Esxi本体にSSHでログイン後/etc/vmware/configファイルの最終行に、vhv.enable = TRUEを追記する。
vi /etc/vmware/config libdir = "/usr/lib/vmware" authd.proxy.nfc = "vmware-hostd:ha-nfc" authd.proxy.nfcssl = "vmware-hostd:ha-nfcssl" authd.proxy.vpxa-nfcssl = "vmware-vpxa:vpxa-nfcssl" authd.proxy.vpxa-nfc = "vmware-vpxa:vpxa-nfc" authd.fullpath = "/sbin/authd" vhv.enable = TRUE
ゲストマシンの構成で VT-x を有効にする
ゲストマシンの構成変更画面から「Options → CPU/MMU Virtualization → Use Intel VT-x/AMD-V…」を選択します。
これらの設定を行うことにより、ゲストマシンでVTが有効となりOSを入れられる段階になりました。
その他、ネットワーク設定
OSを入れると分かると思いますが、VmwareデフォルトのNIC設定だとゲストマシンのハイパーバイザーから外への通信ができません。
そのため、親のEsxiで親以外(Vmwareのゲスト)宛てのパケットも受け取れるように、無差別モード (プロミスキャスモード) を有効にする必要があります。
NestedEsxiの確認
Esxi上にEsxiを入れた際、NestedEsxiが有効になっているか確認する方法は、以下のURLにブラウザでアクセスし、nestedHVSupported boolean true となっているか確認してください。
https://ESXIのIPアドレス/mob/?moid=ha-host&doPath=capability
以上で、Esxi5.5上でハイパーバイザーOSを動かす設定でした。
意外と簡単にできるため、Esxi本体のアップデート時の検証などが簡単にできるようになります。