Site icon Mr. 沙先生

建立巢狀虛擬機架構-Nesting Hyper-V 2012 R2 on ESXi 5.5

建立 Nested VMs 最大的用途大多是用於實驗目的,一般使用者不會有這麼多的機器來試驗一些未實作的虛擬機功能,小弟也是如此。

 

針對一些試驗性的測試不免都是使用虛擬機來測試是比較方便,但如果要測試虛擬環境呢?

以下圖的架構為例,如果想要測試 Hyper-V 的虛擬環境功能就會遇到在 Guest 中再建立 Sub-Guest 出現 CPU 無法支援的問題

 

 

 

如上圖在 Hyper-V 上的虛擬化其實僅是半虛擬化,無法將 CPU 完整的虛擬化完成,即使是 Server 2012 R2 Hyper-V 3.0 R2 亦是如此,如果要玩 Nested VMs 還是要借助 VMware 來實現,VMware 不管是 vCenter , ESXi , Workstation 都具有完全虛擬化的能力。

 

在進行模擬之前,必須確認實體機的 CPU 必須支援 VT-x ,多數的 Intel CPU 如 i3 / 5 / 7 都具備此功能,而 AMD 則部分支援。

 

 

 

 

ESXi 5.5 Nested 設定

 

setp.1 在主體安裝好 ESXi 5.5 之後,編輯 /etc/vmware/config 加入以下

shell# vi /etc/vmware/config
vhv.enable = "TRUE"

如果是5.0 以下請使用 vhv.allow = “TRUE”

 

 

 

setp.2 建立你所需要的 Guest ,Windows Hyper-V / ESXi 都可以。ESXi 安裝前必須先將設定加入後再安裝。

然後找到 Guest 設定檔 *.vmx 進行編輯

vi /vmfs/volumes/datastore1/Win2k12R2_clean/Win2k12R2_clean.vmx
hypervisor.cpuid.v0 = FALSE

 

或是使用 vSphere Client 來加入 hypervisor.cpuid.v0 = FALSE

 

 

 

setp.3 檢查 VT-x 的支援設定為 「自動」

 

 

 

 

setp.4 趕緊到 Guest 裡面安裝 Hyper-V 看看

 

在未設定時,勾選角色 Hyper-V 就會出現不支援錯誤,現在已經可以勾選並安裝 SubGuest 囉!!

 

 

 

 

 

參考資料

Nesting Hyper-V 2012 R2 on ESXi 5.5

Exit mobile version