Windows Server 2016 Hyper-v Nested Virtualization
在Windows Server 2016沒有釋出以前,作為屌絲的我們在沒有太多實體機的情況下如果想要做Hyper-v群集的實驗就必須使用VMWare Workstation的嵌套虛拟化技術!
但是随着Windows Server 2016的釋出,微軟已經允許我們在Hyper-v平台上使用嵌套虛拟化技術!嵌套虛拟化是一個允許我們在Hyper-v虛拟機中運作Hyper-v虛拟機的功能。換句話來說,通過Windows Server 2016的嵌套虛拟化功能,Hyper-v主機本身可以被虛拟化。
Windows Server 2016的嵌套虛拟化技術主要應用于以下場景:
1、在虛拟化容器主機中運作Hyper-v容器。
2、在虛拟化環境中運作Hyper-v實驗。
3、在不需要單獨硬體的情況下測試多機器的場景
如果想使用Windows Server 2016的嵌套虛拟化技術,必須滿足如下先覺條件:
1、運作Windows Server 2016或Windows 10周年更新的Hyper-V主機。
2、運作Windows Server 2016或Windows 10周年更新的Hyper-V VM。
3、配置版本為8.0或更高版本的Hyper-V VM。
4、采用VT-x和EPT技術的Intel處理器。
注意:
在Windows Server 2016中開啟嵌套虛拟化技術以後,動态記憶體和運作時調整記憶體大小功能将不可用:
當Hyper-V在虛拟機中運作時,必須關閉虛拟機以調整其記憶體。這意味着即使啟用動态記憶體,記憶體量也不會波動。 對于未啟用動态記憶體的虛拟機,任何嘗試在啟動時調整記憶體量的嘗試都将失敗。
說了這麼多下面我們來看一下如何在Windows Server 2016中配置嵌套虛拟化。
本次實驗我将對虛拟機Nested開啟嵌套虛拟化技術:
<a href="http://s3.51cto.com/wyfs02/M02/89/F8/wKioL1gi8Guyns-pAABOFOuIop0399.jpg" target="_blank"></a>
首先我們使用管理者身份運作WindowsPowershell,鍵入如下指令:
Get-VMProcessor -VMName Nested | FL
可以看到,目前“ExposeVirtualizationExtensions”的值為Fales,也就是說明目前虛拟機“Nested”沒有開啟嵌套虛拟化技術:
<a href="http://s3.51cto.com/wyfs02/M00/89/F8/wKioL1gi8GyisnZsAAErROpPreI891.png" target="_blank"></a>
我們啟用Hyper-v将會提示如下錯誤:
<a href="http://s3.51cto.com/wyfs02/M01/89/F8/wKioL1gi8G_gxgA6AACPqQl_yTQ050.jpg" target="_blank"></a>
鍵入如下PS指令來啟用嵌套虛拟化:
<a href="http://s3.51cto.com/wyfs02/M02/89/F8/wKioL1gi8HDzm63UAAAbJw4It9s435.jpg" target="_blank"></a>
執行完成以後檢查“ExposeVirtualizationExtensions”,運作如下指令
<a href="http://s3.51cto.com/wyfs02/M00/89/F8/wKioL1gi8HLgr-0RAACeVTKEY8A365.jpg" target="_blank"></a>
我們開啟計算機Nested并啟用Hyper-v功能:
<a href="http://s3.51cto.com/wyfs02/M01/89/FB/wKiom1gi8HXxGHBGAACD1lYZSmQ056.jpg" target="_blank"></a>
如果想關閉嵌套虛拟化功能可以使用如下PS指令:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false
本文轉自wuyvzhang 51CTO部落格,原文連結:http://blog.51cto.com/wuyvzhang/1871192,如需轉載請自行聯系原作者