摘 要:介紹了在WindowsServer2008中的虛擬化技術Hyper-V的主要功能和核心特性,并簡單介紹了Hyper-V對虛擬化技術發展的重要意義。
關鍵詞:虛擬化 Hyper-V 服務器
1 Hyper-V介紹
Hyper-V是微軟最新推出的一種服務器虛擬化解決方案,Hyper-V中內嵌了在線遷移、HA(高穩定性)等高級特性。
1.1Hyper-V的架構
Hyper-V是一個位于硬件和操作系統之間的軟件層,可以用于對Windows和非Windows操作系統進行虛擬化。Hyper-V基于虛擬機管理器的虛擬化平臺,整合了操作系統,允許動態地添加物理和虛擬資源。Hyper-V采用微內核的架構,兼顧了安全性和性能的要求。Hyper-V底層的Hypervisor運行在最局的特權級別下,微軟將其稱為root mode),而虛擬機的OS內核和驅動運行在ring 0,應用程序運行在ring 3下,這種架構就不需要采用復雜的BT(二進制特權指令翻譯)技術。另外,Hyper-V底層的Hypervisor代碼量很小,不包含任何第三方的驅動,非常精簡,所以安全性更高。Hyper-V采用基于VMbus(—種新的虛擬化I/O結構)的高速內存總線架構,來自虛擬機的硬件請求(顯卡、鼠標、磁盤、網絡),可以直接經過虛擬服務客戶端(Virtual Service Client,簡稱VSC),通過VMbus總線發送到父分區的虛擬服務提供程序(Virtual Service Provider,簡稱VSP),VSP調用對應的設備驅動,直接訪問硬件。
在Windows虛擬化架構中,每一個子分區中都可以擁有一個自己的操作系統,它們可以是32位或64位的WindowsServer2003、WindowsServer2008甚至可以是Linux。而VSP必須運行包含了Hyper-V技術的WindowsServer2008版本(OS64Bit)。父分區包含一個虛擬棧,提供了用于管理和自動化操作的組件。這個父分區就是宿主系統(Host OS),在全新的Windows虛擬化架構中它也被包含在分區之中。
1.2Hyper-V的核心特性
作為新一代的管理程序虛擬化平臺,Hyper-V擁有眾多獨有的優異功能,其新特性主要表現在以下幾個方面。
1.2.1改善系統架構
在微軟Hyper-V架構中,Hypervisor層直接運行于物理服務器硬件之上。Hyper-V采用基于VMbus的高速內存總線架構,所有的虛擬分區都通過Hypervisor與硬件通信。Hyper-V通過VMbus總線可以提供高效的分區間通信機制,并在此基礎上創建高性能的虛擬I/O架構,并且充分利用Windows驅動模型,提供廣泛的硬件支持。
這種新的架構帶來了以下幾方面的好處:①由于虛擬機能夠通過Hypervisor與硬件通信,減少了發送I/O請求所需要的開銷,極大的提高了虛擬機的性能;②通過使用新的虛擬服務供應程序/虛擬服務客戶端(VSP/VSC)架構,Hyper-V增強了核心資源的訪問和使用,例如磁盤、網絡以及視頻;③新的虛擬交換功能和新的硬件共享體系結構以實現對服務器更好的管理,使服務器工作效率更高;④因為不需要安裝第三方軟件或驅動產品,兼容性和穩定性得到極大的提高,同時可以為虛擬機提供新硬件的支持。
1.2.2對稱多處理器(SMP)支持
Hyper-V支持4CPU的WindowsServer2008虛擬機,和2CPU的WindowsServer2003虛擬機。這個特性使得虛擬化技術不僅可以用于類似于郵件服務器和文件服務器等不需要消耗大量的處理器資源的服務器,還可以用于數據庫服務器等需要消耗大量的處理器資源的服務器進行虛擬化。通常,多處理器操作系統內核和驅動會采用自旋鎖(Spin Lock,類似于互斥鎖,但是保持時間更短)的機制(其原理如圖2所示),傳統的虛擬處理器是按照時間片進行調度的。如果在保持自旋鎖的時候競爭虛擬處理器,則其他虛擬處理器就要自旋很長時間,導致CPU循環的浪費,降低了虛擬機的性能。Windows Server 2008內核以及Hyper-V Hypervisor中設計者加入了一個創新設計,盡可能防止出現自旋鎖的長時間等待條件,如果確實存在長時間等待條件,也會有效地加以檢測并對其進行處理。這個方法叫做自旋鎖啟發方法,未實現自旋鎖啟發方法的虛擬機作系統將停在一個緊湊循環上旋轉以等待其他虛擬處理器釋放自旋鎖,通常這個旋轉可能會阻塞其中一個硬件CPU,從而降低了虛擬化性能。而在自旋鎖啟發式操作系統中,自旋鎖代碼會在將要發生旋轉時通過Hypercall API通知Hypervisor管理程序,這樣Hypervisor管理程序就可以立即調度執行另一個虛擬處理器并降低不必要的CPU使用。Hyper-V還還在調度程序和內存虛擬化邏輯上進行了優化以使它們在大多數臨界區中都不會被鎖定,從而確保多處理器系統能夠獲得很好的延展性。
2 結束語
使用Hyper-V虛擬化平臺可以通過增加硬件的利用率降低運行和維護物理服務器的成本。可以減少運行服務器工作負載所需的硬件數量。通過減少設置硬件和軟件以及再現測試環境所需的時間提高開發和測試效率。提高服務器可用性,而無需使用物理計算機。增加或減少服務器資源以響應所需的更改。
除Hyper-V自身的優點之外,隨著以Intel和AMD為代表的越來越多的硬件和軟件廠商在推出的新產品中加入對虛擬化技術的支持,將大大地加快虛擬化技術被廣大用戶接受的進程,勢必會進_步推動以Hyper-V為代表的虛擬化技術被廣泛地應用到各個領域。
參考文獻
[1] Erik Giesa.虛擬化的優勢[J].世界電信,2007(1).
[2] Michael Otey.Windows Server 2008 Hyper-V一瞥[J].Windows IT PRO Magazine(國際中文版),2008(6).
[3] Intel Corporation 2008.系統虛擬化——原理與實現[M].北京:清華大學出版社,2009.
[4] 金海.計算系統虛擬化————原理與應用[M].北京:清華大學出版社,2008.
作者簡介:楊浩源,專業:信息與計算科學,學校:湖南人文科技學院。