Loading...
IT自分メモ

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

こんにちは、szkです。
WindowsServer2016、及びWindows10ProではHyper-vが無料で使用できます。
(Win10の場合は同時起動5台までの制限有)
さらに結構前の話ではありますが、CreatoresUpdate以降のバージョンではNested機能を使うことが可能となっています。
※ハイパーバイザー(Hyper-v)の上にハイパーバイザーを立てる機能

今回メインPC(Windows10Pro)のHyper-v上にESXを立てて検証をしようとしたら思わぬところでハマったのでメモしておきます。

■環境

・メインPC(Windows10Pro)
└Hyper-v…ESXi

※注意
RyzenCPUはWindowsがNest機能に対応させていないためIntel系のみ実行が可能です。(2019年4月現在)
https://windowsserver.uservoice.com/forums/295047-general-feedback/suggestions/31734808-nested-virtualization-for-amd-epyc-and-ryzen

■参考ページ

こちらのページを参考とさせていただきました。

・VMware ESXi on Hyper-V ができるようになったので、検証環境の準備がさらに楽になった
http://pubinf.blog.jp/archives/1061974470.html

・Install a VMWare ESXi 6.0 Hypervisor in a Hyper-V VM
https://dscottraynsford.wordpress.com/2016/04/22/install-a-vmware-esxi-6-0-hypervisor-in-a-hyper-v-vm/

■作業内容

・Windows10上でHyper-vを有効化する
・ESXi-Customizer-PSでCustomイメージ(ISO)を作成する
・Hyper-vにてESXi用のVMを構築する
・ESXiを構築したWindows10ホスト上でEnable-NestedVMを実行する。
・ESXiをインストールする

■構築手順

1.必要なファイルのダウンロード

・ESXi-Customizer-PS”のダウンロード
http://www.v-front.de/p/esxi-customizer-ps.html

・VM-Nester-PSのダウンロード
https://github.com/MicrosoftDocs/Virtualization-Documentation/blob/master/hyperv-tools/Nested/Enable-NestedVm.ps1

これらのファイルを作業ディレクトリ(適当な所)においてください。

2.Windows10でのHyper-v機能の有効化

元々使っている人はスキップして問題なし。

Win10のデフォルトのHyper-v設定はDisableとなってるため有効化します。

「設定」→「アプリ」→「プログラムと機能」→「Windows機能の有効化または無効化」→「Hyper-v」

にチェック

※この時Hyper-vプラットフォームにチェックが付かない場合はBIOS設定でVt-Xが有効になっていません。
 BIOS設定を行った後にこの作業を行ってください。

3.VMware-PowerCLIをインストール

Hyper-vに対応するISOファイルを作成するためのVMware-PowerCLIをインストールします。
まずはPowerShellを管理者で実行します。

次に以下のコマンドを入力します。

PowerShellの中で以下のコマンドを実行します。

Install-Module VMware.PowerCLI

※セキュリティではじかれる場合は以下のコマンドを入力します。

Set-ExecutionPolicy RemoteSigned

4.ESXi-Customizer-PSの実行とISOファイルの出力

VMware-PowerCLIのインストールが終了したら、ESXi-Customizer-PS.ps1を実行します。

.\ESXi-Customizer-PS-vX.X.ps1 -v<version> -vft -load <driver_name>

このとき、Hyper-vに必要なネットワークドライバは「net-tulip」ですが、上記コマンドをそのまま打つとインストール時に失敗します。
カスタムイメージVersionは20170604を選んでください。

カスタムイメージのバージョン一覧を出すために次のコマンドを使用します。

.\ESXi-Customizer-PS-vX.X.X.ps1 -sip -vft -load net-tulip

↓↓↓↓↓↓結果↓↓↓↓↓↓

This is ESXi-Customizer-PS Version 2.6.0 (visit https://ESXi-Customizer-PS.v-front.de for more information!)
(Call with -help for instructions)

Logging to C:\Users\szk\AppData\Local\Temp\ESXi-Customizer-PS-10356.log ...

Running with PowerShell version 5.1 and VMware PowerCLI version 6.3.0.0

Connecting the VMware ESXi Online depot ... [OK]

Connecting the V-Front Online depot ... [OK]

Getting Imageprofiles, please wait ... [OK]

Select Base Imageprofile:
-------------------------------------------
1 : ESXi-6.7.0-20190402001-standard
2 : ESXi-6.7.0-20190402001-no-tools
3 : ESXi-6.7.0-20190401001s-standard
4 : ESXi-6.7.0-20190401001s-no-tools
5 : ESXi-6.7.0-20190304001-standard

~中略~

361 : ESXi-5.0.0-469512-standard
362 : ESXi-5.0.0-469512-no-tools
-------------------------------------------

途中でどのVersionを使うか聞かれるので任意の番号を入力します。
今回は Esxi 6.0の「ESXi-6.0.0-20170604001-standard」を選びます。

Enter selection: 95

次の出力が出るまで待ちます。

Using Imageprofile ESXi-6.0.0-20170604001-standard ...
(dated 03/27/2019 02:26:56, AcceptanceLevel: PartnerSupported,
For more information, see http://kb.vmware.com/kb/2149958.)

Load additional VIBs from Online depots ...
   Add VIB net-tulip 1.1.15-1 [New AcceptanceLevel: CommunitySupported] [OK, added]

Exporting the Imageprofile to 'C:\Users\szk\Desktop\ESXi-6.0.0-20170604001-standard-customized.iso'. Please be patient ...


All done.

完了すると実行ディレクトリ(今回の場合はszk/desktop)にisoファイルが出力されているはずです。

5.Hyper-vで仮想マシンを構築

仮想マシンを立てます。

 

世代:第一世代

メモリは8GB程度

ネットワークは一旦「なし」としましょう。

HDDは適当なサイズでOKですが、ESXのインストールだけなら4GBもあれば十分です。
※ESXのsyslogの保存はできなくなりますが

ISOファイルはここでマウントしてもいいですし、あとからコンソールからマウントしてもOKです。

マシンが作成されたら再度「マシンの設定」を選びます。

ネットワークを追加します。
ここで大切なのは普段使っている「ネットワークアダプター」ではなく「レガシ ネットワークアダプタ」を選択します。

6.Nestの有効化

再びPowerShellに戻りNestを有効化させます。

ここでようやく事前にダウンロードした「Enable-NestedVM」が出てきます。

Enable-NestedVM.ps1 -vmName "ESX_VM_Name"

この実行を行うとNestが有効化しESXのインストールが可能となります。

7.ESXのインストール

VMを起動し、OSをマウントするとブート画面が出てきますがこのときに「Tab」を押して起動オプションを追加する必要があります。

ignoreHeadless=TRUE

※デフォルトでboot.cfgまで記載されているので上記を追加する。

この後は通常通りインストールを進めてください。

■インストール後の注意

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