(ヽ´ω`) < Windows 2003_x64 on ESX 3.5 on ESXi 5.1
(ヽ´ω`) < なんでこんなことに…
ESXバージョンアップのテスト環境構築のために、ESX on ESXの環境を作ることになった。珍しいながらも無いわけではないシチュエーション。
面倒なことに、そこにWindows 2003 Serverの64bit版を入れる時にエラーが出た。
というか、Windowsに限らず64bit版のOSを入れようとするとエラーが発生。
(ヽ´ω`) < 環境について
(ヽ´ω`) < 作業作業
- ESXi5.1(BaseESXi)は普通にインストール
- ESXi5.1(BaseESXi)のコンソール画面[Troubleshooting Options]からESXi ShellとSSHを有効にする
vSphere 5.0 の覚え書き - (3) TeraTerm で ESXi に SSH ログイン - 仮想化でプリセールスしてるSEの一日 - SSHのChallenge&Responseで接続して/etc/vmware/configに以下の行を追加
vhv.enable = TRUE
にほんごVMware: ネステッドESXi 5.1 は、vhv.enable = TRUE | VMware Communities
ESXi5.0では vhv.allow = TRUE になるので注意
Running Nested VMs | VMware Communities - ESX 3.5を接続するネットワークの設定を無差別(Promiscuous mode)にしておく
ESX on ESX 構築時の注意点(メモ) - えこ日記 - ESX 3.5(VirtualESX)をインストール
- ESX 3.5(VirtualESX)上に仮想マシン(Win2003x64)を作成
- 作成した仮想マシン(Win2003x64)を右クリックして[設定の編集] [詳細]下の[全般]、[構成パラメータ]をクリックして、次の行を追加
vmx.allowNested = TRUE
この設定をしないと、仮想マシンの電源をいれることができない
Running Nested VMs | VMware Communities - Win2003x64をインストール
(ヽ´ω`) < これなにやってんの?
要点として
ESX on ESX環境で64bitOSをインストールする場合、ベースとなるESX側で、vhv.enable = TRUE
を設定する必要がある。
なんのためにこんな設定が必要かというと
Most hypervisors require hardware-assisted virtualization (HV). VMware products require hardware-assisted virtualization for 64-bit guests on Intel hardware.
とあるように、ESX上で64bitOSを動作させるためにはHV機能が必要となる。
が、ESX上に配置するゲストOSは、デフォルトではHV機能が無効となっている。
(Workstation 8, Player 4, Fusion 4, ESX5までは、そもそも仮想環境でのHV機能の提供自体が無かった模様)
そのため、上記作業でHV機能を有効にすることでESX on ESXで64bitOSの動作を可能にしている。
7の作業は、ESXonESX上のVMは、デフォルトで電源が入れられないようになっている。 そのため、ネストしたハイパーバイザー上でのVMの起動を明示的に許可している。
(ヽ´ω`) < ちなみに
WebクライアントバージョンvSphere5.1では、標準のUIから上記設定を有効にすることができるとの記述がある。
To enable virtualized HV, use the web client and navigate to the processor settings screen. Check the box next to "Expose hardware-assisted virtualization to the guest operating system."