Microsoft 嵌套虛擬化技術(Nested Virtualization)

Windows insider會員計劃並沒有隨着Windows 10正式版的發佈而終止,相反一直保持的繼續前進,爲Windows客戶帶來更多體驗。近期微軟推送了最新的windows 10預覽版10565,除了帶來相關功能性、穩定性、BUG修復之外,還帶來了微軟年初承諾的技術——Nested Virtualization,意即微軟的第二個容器—Hyper-V Container,第一個容器技術Windows Server Container已於8月份的Windows Server 2016 Technical Preview 3來到。

通過嵌套虛擬化技術,用戶可以在Hyper-V虛擬機中運行Hyper-V容器,即在Hyper-V虛擬機中跑Hyper-V虛擬機,該技術是針對系統自帶Hyper-V虛擬機的。關於在Windows 10中啓用Hyper-V功能您可以參加之前寫的博文:在Windows 10中啓用客戶端Hyper-V

http://ericxuting.blog.51cto.com/8995534/1684339

從本質上講,此功能上是把在虛擬機中運行虛擬機監控程序所需的一些硬件功能進行了虛擬化。Hyper-V虛擬化技術依靠硬件虛擬化支持(如英特爾VT-x和AMD-V)來運行虛擬機。通常情況下,一旦Hyper-V的安裝,管理程序隱藏了客戶虛擬機這種能力,防止來賓虛擬機再次安裝Hyper-V。

在最新預覽版本10565中,宿主機的Hyper-V虛擬機監控程序則對客戶機開放虛擬化擴展功能,因此客戶機也可以擁有自己的虛擬機,在Hyper-V虛擬機中再次啓用Hyper-V技術。

非嵌套虛擬化技術:

clip_p_w_picpath001

嵌套虛擬化技術:

clip_p_w_picpath002

要想使用微軟的嵌套虛擬化技術,您需要瞭解到:

1、使用最新的Windows 10預覽版本10565,10565之前所有的版本都不支持,包括最新的Windows Server 2012 R2 With update

2、一旦開啓了虛擬化嵌套技術,以下功能將無法兼容,使用這些功能將導致虛擬機停止工作或功能不起作用:

1) 動態內存必須被關閉;

2) Runtime內存大小調整失敗;

3) 虛擬機中的檢查點功能不能正常工作;

4) 不能進行實時遷移操作;

5) 無法使用虛擬機“保存”和“恢復”;

3、必須關閉Virtualization Based Security (VBS)以確保能夠開啓嵌套虛擬化;

4、當前預覽版本10565中只支持Intel VT-x虛擬化技術,尚不支持AMD-V;

5、必須開啓MAC欺騙技術才能保證客戶機正常網絡連接;

6、爲了虛擬機能夠正常運行,需要至少4G內存,推薦8G內存以上的機器。

下面將爲大家演示如何在10565中開啓微軟嵌套虛擬化技術

1、確保您已經通過Windows insider會員計劃升級到Windows 10最新預覽版10565

clip_p_w_picpath003

2、在控制面板中啓用Hyper-V功能。

clip_p_w_picpath004

3、登陸GitHub網站下載嵌套虛擬化所需的腳本,也可以使用Invoke-WebRequest 直接調用該PS腳本。

https://github.com/Microsoft/Virtualization-Documentation/blob/master/hyperv-tools/Nested/Enable-NestedVm.ps1

4、創建一個Hyper-V虛擬機,然後關閉

clip_p_w_picpath006

5、使用如下命令開啓嵌套虛擬化技術,並在執行過程檢查是否滿足相關需求

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1
~/Enable-NestedVm.ps1 -VmName <VmName>

clip_p_w_picpath008

如果您的虛擬機配置爲小於4G內存,此時將會提示您

clip_p_w_picpath010

當前我的虛擬機“NestedVM” 配置爲16G內存,提示您會啓用虛擬化擴展和MAC地址欺騙將被啓用

clip_p_w_picpath012

選擇“Y”,鍵入回車

由於當前仍處於開發的預覽版階段,提示您相關警告

clip_p_w_picpath014

6、登陸客戶機啓用Hyper-V功能

clip_p_w_picpath016

也可以使用如下命令行安裝Hyper-V

Invoke-Command -VMName "NestedVM" -ScriptBlock { Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -Online; Restart-Computer }

7、創建一個嵌套虛擬化技術的Hyper-V虛擬機。

clip_p_w_picpath018

創建完新的虛擬機之後,發現相較Windows 10 RTM版本上的Hyper-V配置文件版本再一次升級由6.0到7.0

clip_p_w_picpath020

通過使用發現,開啓微軟的Nested Virtualization之後,再次創建虛擬機並使用一段時間發現在使用性能上可以接受。

PS:當前該Nested Virtualization技術處於早期開發測試版本,建議不要使用在生產環境,感興趣的朋友可以在自己的機器中搭建測試環境。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章