Hippies

標題: 微軟Windows 10最新預覽版支援巢化虛擬功能--全面啟動的實現 [打印本頁]

作者: kevinhu    時間: 2015-10-16 13:47
標題: 微軟Windows 10最新預覽版支援巢化虛擬功能--全面啟動的實現
Windows 10自7/29正式上路之後,微軟的系統更新也從未停過。在最新的Insider Preview (測試預覽版) Build 10565之中,微軟除了強化了Microsoft Edge瀏覽器、Cortana語音助理,以及UI(使用者介面)之外,還加入了一個正在測試中的新功能,也就是Nested Virtualization (巢狀虛擬機器)。


▲微軟Windows 10測試預覽版Build 10565,可以讓你Windows 10裡面跑Windows 10虛擬機,虛擬機內再跑一套Windows 10….


夢中夢,虛擬再虛擬就像電影Inception「全面啟動」(大陸翻譯成「盜夢空間」)裡面一樣,真實生活作的夢為第一層夢境,在夢裡的夢,就等於第二層夢境,也就是夢中夢。這次微軟推出的Nested Virtualization (巢狀虛擬機器)功能,也類似這種狀況,讓你的實體機器(Physical Machine),可以跑兩層虛擬機。

先來看看一般的虛擬機環境,目前的虛擬機器軟體(如微軟Hyper-V、Parallels Desktop、VMware、Oracle VirtualBox等等),大多只支援一層虛擬機,也就是你只能在實體機器裡面開幾台虛擬機,但不可以在虛擬機裡面再開虛擬機。因為除了程式本身的限制之外,虛擬機裡面的程式也會透過內部的Virtualization Extensions (虛擬機延伸指令集)偵測出自己是否在虛擬環境中。

此外,有些遊戲由於佔用系統資源較兇,因此會先偵測你是否在虛擬機底下執行,以便把你擋住不讓你執行,以免效能太過低落。請參考下圖:


▲一般的虛擬環境(非巢狀虛擬機)的狀態,可以讓你Windows 10裡面跑一層虛擬機器


上圖為一般虛擬環境(非巢狀化虛擬)的情況。Level 0代表實體機器層,左邊深藍色的地方代表主要作業系統正以實體CPU來原生執行中(Level 1),其包含Hyper-V Hypervisor管理員,透過Virtualization Extensions (虛擬機延伸指令集)來取得各種硬體資源分配權。若開啟一部虛擬機之後,此時會從Level 1取得硬體資源分配給Guest OS(客端作業系統),讓虛擬機裡面可以執行各種應用需求(藍色部份)。

至於巢狀化虛擬機的架構,請看下圖:


▲巢狀化虛擬機,允許你在Windows 10裡面的第一層虛擬機器裡面,再開第二層虛擬機,。


這次Build 10565首度支援巢狀化虛擬機(Nested Virtualization),在開啟第一層虛擬機(中間藍色部份)之後,可以在裡面再開啟第二層虛擬機(右邊淺藍色部份)。也就是虛擬裡面再虛擬一次。但此功能也有些限制,像是Dynamic Memory(動態記憶體配置)必須關閉,Runtime Memory(執行函式記憶體)無法變更大小,凍結儲存與恢復也無法執行…等等

是夢還是真實世界?程式自己也偵測不出來巢狀化虛擬機的作法原理很簡單,就是第一層虛擬機隱藏自己的虛擬機的事實,讓其下的第二層虛擬機認為自己的上面一層為實體機器,以便正常執行工作。也就是第一層騙下面第二層的說,我不是虛擬機器,我是實體機器,以便可以一路虛擬下去。只要你的硬體規格夠強大,開個第三層、第四層,甚至開到無限層都可以。

夢中夢,讓人分不清現在是夢境,還是真實世界。而夢裡的時間會過比較久,就好像虛擬機裡面執行時間需要比較久一樣。程式要如何得知自己是實體還是虛擬,看來只好轉一下陀螺,看是否會停下來了!

巢狀化虛擬機的應用範圍廣泛,為未來IaaS必要功能至於巢狀化虛擬機的應用範圍很多,像是第一層可作為OS等級的虛擬應用,第二層可作為App等級的虛擬應用(透過硬體虛擬的方式來達成),或者不同虛擬機器軟體之間,可以建立虛擬再虛擬的環境。

例如主機上安裝了一套VMware Workstation,然後開了第一層虛擬機來執行Windows Server 2008 R2,並開啟Hyper-V功能,去建立第二層的Hyper-V虛擬機器,這樣就可以執行Hyper-V的虛擬環境。另外一個情況是,由於Windows 7內建一套Windows XP Mode,是以虛擬機的方式執行。當你的電腦安裝了Windows 10,你又想測試Windows XP的應用程式,你就可以建立一套Windows 7的虛擬機器,在該虛擬機器裡面再執行Windows XP Mode。

如今由於硬體功能與效能強大,讓一顆處理器不只可以執行多個應用程式(Multi-Application)之外,更可透過虛擬機器方式將硬體資源切割成若干等分,來執行多個作業系統/平台(Multi-OS, Multi-Platform)。總之,Windows 10 Insider Preview Build 10565支援Nested Virtualization功能,代表未來虛擬化的進程上將更上一層樓。

參考來源:Microsoft TechNet

轉貼來源:PCDIY






歡迎光臨 Hippies (http://bbs.hippies.tw/) Powered by Discuz! X3.2