Windows Server 2016 Hyper-v Nested Virtualization

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開啓嵌套虛擬化技術:

clip_image002

首先我們使用管理員身份運行WindowsPowershell,鍵入如下命令:

Get-VMProcessor -VMName Nested | FL

可以看到,當前“ExposeVirtualizationExtensions”的值爲Fales,也就是說明目前虛擬機“Nested”沒有開啓嵌套虛擬化技術:

clip_image003

我們啓用Hyper-v將會提示如下錯誤:

clip_image005

鍵入如下PS命令來啓用嵌套虛擬化:

Set-VMProcessor -VMName Nested -ExposeVirtualizationExtensions $True

clip_image007

執行完成以後檢查“ExposeVirtualizationExtensions”,運行如下命令

Get-VMProcessor -VMName Nested | FL

clip_image009

我們開啓計算機Nested並啓用Hyper-v功能:

clip_image011嵌套虛擬化功能啓用成功:

clip_image013

如果想關閉嵌套虛擬化功能可以使用如下PS命令:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false

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