主機
Hyer-v主機是高端虛擬主機用戶的最佳選擇。您不再受其他用戶程式對您造成的影響,您將得到的是更加公平的資源分配,遠遠低於虛擬主機的故障率。Hyper-V的分區包含兩種:父分區和客戶分區。Hyper-V包含一個父分區,本質上是一個具有特別或特權訪問許可權的虛擬機。這是唯一能夠直接訪問硬體資源的虛擬機。所有其它虛擬機,即所謂的客戶分區(Guest partition),需要通過父分區來訪問設備。宏核心的Hypervisor架構下,需要將Hypervisor/VMM置於一個單獨的層次中,其中包含了大部分必需的組件,如核心、設備驅動程式、IO軟體棧等。這是像VMware ESX傳統主機系統這樣的解決方案所使用的方法。Hyper-V伺服器虛擬化需要支持Intel-VT或AMD-V特性的x64系統。
介紹
在業界,微軟Microsoft是當之無愧的軟體霸主,不僅僅在作業系統上占據巨大的市場份額,更在資料庫、嵌入式移動計算、搜尋引擎等各個方面都具有很強的影響力,在各個領域都不容忽視。由於低估微軟在產品創新和銷售執行方面的能力,眾多的企業在與微軟的競爭中遭遇挫折。
微軟進入虛擬化領域已經很有一段時間了(微軟在2003年收購了推出了Virtual PC軟體的Connectix公司,並在其後推出了Virtual Server伺服器虛擬化軟體),在Hpyer-V推出之前,微軟在虛擬化領域尤其是伺服器虛擬化領域可說是略顯不自信,與競爭對手VMware的頻頻新品相比,Virtual PC和Virtual Server的發布和宣傳都十分低調,畢竟,VMware/Xen等產品憑藉出色的性能已經占據了大半江山。而現在,隨著Hyper-V的正式推出,企業級虛擬化領域極可能會引起一場風暴,市場格局有可能迅速改變。
為什麼微軟的Hyper-V會具有這樣的能力呢?
註:什麼是虛擬化?
Hyper-V是一個Hypervisor(系統管理程式),開發代號為Viridian,它主要作用就是管理、調度虛擬機的創建和運行,並提供硬體資源的虛擬化。Hyper-V是微軟伴隨Windows Server 2008最新推出的伺服器虛擬化解決方案,在Windows Server 2008發布的時候,集成了一個Beta版本的Hyper-V,微軟承諾在180天之內會提供正式版的Hyper-V。Window Server 2008是4月份發布的,180天就是不到6個月,因此微軟會在9月到10月之間發布正式版的Hyper-V,而目前已經到了RTM階段,可以正常使用了。
Hyper-V跟微軟自家的Virtual PC、Virtual Server等產品相比,有著很顯著的區別,和競爭對手VMware Server/ESX Server也有很大不同:Hyper-V在構架上絕對是一個突破性的進展!
Hyper-V虛擬化細節架構
微軟發布的架構圖資料有很多,然而主要內容都很相似,就是上圖那樣。
Hyper-V之前、Virtual Server 2005 R2的架構
Hyper-V的本質是一個VMM(虛擬化管理程式),和微軟之前的Virtual Server系列產品,處在的層次不同,它更接近於硬體,這一點比較像VMware的ESX Server系列,實際上Hyper-V屬於微軟的第一個裸金屬虛擬化產品(Bare-Metal Virtualization)。然而,在一些基礎架構上,Hyper-V和ESX Server又有著明顯的不同,所以說,Hyper-V是很特別的。
作為一個虛擬化產品,Hyper-V具有一個很特別的要求:處理器必須支持AMD-V或者Intel VT技術,也就是說,處理器必須具備硬體輔助虛擬化技術。
對於一個虛擬化產品來說,要求一個硬體特性是比較奇特的事情(要求支持一個指令集不算),微軟之前的Virtual Server 2005R2不需要這個特性。對於VMware的產品來說,這也只是一個可選的特性,不像Hyper-V那樣,是一個硬性的要求。處理器不支持VT/AMD-V,就無法運行Hyper-V。
VT-x處理器輔助虛擬化技術,是Hyper-V的硬性要求
關於VT的具體作用,可以查看x86虛擬化難題解決:Intel VT或者《從VT-x到VT-d Intel虛擬化技術發展藍圖》。VT,或者AMD-V,是一種硬體輔助虛擬化技術,用來解決Ring Privilege的問題,傳統處理器下虛擬機通過使用指令轉換的方法來在Ring 3執行Ring 0特權指令,嚴重影響性能,而VT則解決了這個問題。對VT的依賴和支持是Hyper-V架構的基礎,也是Hyper-V最大的特點。
也因為Hyper-V需要處理器支持硬體虛擬化輔助,一部分處理器無法套用Hyper-V,只有較新、非Value型的處理器才能套用。例如訪問只有75%的幾率碰到部署在Hyper-V上的虛擬化伺服器,剩下的25%都是未Hyper-V虛擬化的伺服器。要在這些伺服器上套用虛擬化,用戶只能選擇Virtual Server 2005 R2,或者其它公司的產品。
Microsoft Hyper-V和VMware ESX Server是比較相像的,都是Bare-Metal類型,但是它們的核心架構也有著明顯的不同。微軟在談到競爭對手ESX Server時,總會提到,Hyper-V是微核心架構的,而ESX Server是單核心架構,Hyper-V要更好。
這兩者具有什麼不同?到底誰更好呢?
單核心(分層的核心)與微核心
單核心和微核心實際上是作業系統核心術語,作業系統的核心——實現核心功能的那部分——可能是微核心(Micro kernel),也可能是單核心(Monolithic kernel,有時也叫宏核心Macro kernel)。按照類似封裝的形式,這些術語定義如下:
微核心(Micro kernel)――在微核心中,最常用的功能被精心挑選設計在核心模式(或者按照上一頁的說法,在x86上是Ring 0模式)運行的一個或一組進程上,而其它大部分不怎么重要的核心功能都作為單獨的進程在用戶模式下(類似地,Ring 3模式下)運行,它們通過訊息傳遞進行通訊(例如,Windows採用的進程間通信IPC機制,IPC就是Inter Process Communicate)。最基本的思想就是要儘量地小。通常微核心只包含了進程調度、記憶體管理和進程間通信這幾個根本的功能。
這種設計具有許多好處,例如增加了靈活性,易於維護,易於移植。只需要把微核心本身進行移植就能夠完成將整個核心移植到新的平台上。同時微核心的模組化設計讓其他核心功能模組都只依賴於微核心模組或其他模組,並不直接依賴硬體。
同樣,由於模組化的設計,不包含在微核心內的驅動程式可以動態地載入,或者卸載。同時,微核心也不依賴於固定的檔案系統,用戶可以隨意選擇對檔案系統的支持。用戶甚至能夠在系統運行時將研發出的新系統模組或需要替換現有模組的模組直接而且迅速的加入系統。不需要的模組將不會被載入到記憶體中,因此微核心就能夠更有效的利用記憶體。微核心還具有的好處是實時性、安全性比較好,並且更適合於構建分散式作業系統和面向對象作業系統。
微核心作業系統的典型例子是,Mach(一個非原生的分散式作業系統核心,也被套用在Mac OS X上)、IBM AIX、BeOS,以及Windows NT,還有著名的Minix(一個主要用於教學的Unix系統)和Amoeba(一個原生的分
單核心(Monolithic kernel)――單核心是個很大的進程。它的內部又能夠被分為若干模組(或層次,或其他)。但是在運行的時候,它是一個單獨的大二進制映象。因為是在同一個進程內,其模組間的通訊是通過直接調用其他模組中的函式實現的,而不是微核心那樣在多個進程內進行訊息傳遞。因此在運行效率上,單核心會具有一定的好處。
單核心作業系統的典型例子是,大部分Linux,包括BSD在內的幾乎所有的Unix,MS-DOS,Windows 9x。例如Sun Solaris的核心就運行著數百個執行緒以實現各種功能,而編譯過Linux核心的人就知道Linux核心有數十MB之大。
單核心和微核心哪個更好顯然是一個很有爭議性的問題,必須說明的很有趣的一點是,這種爭論經常會令人想到上一個時代CPU領域中RISC和CISC的鬥爭。現代的成功CPU設計中包含了任何這兩種技術,就像現在Linux(單核心)和Windows NT(微核心)都是微核心和單核心的混合產物一樣。歷史上有過這樣的爭論,Linux(單核心)的作者Linus和Minix/Amoeba(均為微核心)的作者Andrew S. Tanenbaum博士對壘,最終Linus也同意微核心架構更為先進的論點。
掉書袋就到這裡,回到Hyper-V上來,通過採用微核心架構,Hyper-V在體積上很有優勢,它的大小只有300k左右(似乎新版本的更加小),而VMware ESX Server的Linux核心則非常大。就VMM虛擬化管理程式來說,需要的功能不多,因此採用微核心架構是很合適的,運行效率可以很高。不過就理論上來說,合理配置的單核心其實和微核心也很相似。哪一種性能更好?這要在測試之後才能知曉了,不過在這之前,我們接下來可以先看看微核心帶來的一個好處:設備驅動程式的變遷。
無論採用什麼核心,驅動程式和檔案系統總是必要的,虛擬機需要使用伺服器的硬體就需要驅動程式,虛擬機的文檔需要保存在適當的檔案系統上。在單核心的VMware ESX Server上,驅動程式包含在單核心內部,虛擬機映像檔案則保存在VMFS(一種類似EXT的檔案系統)上,那么微核心架構的Hyper-V呢?
這就要談到Hyper-V的VSP/VSC架構了,VSP是Virtual Services Provider,VSC則是Virtual Services Client,還有一個VMBus部件,將放在“宿主作業系統”的VSP和虛擬機作業系統的VSC連線起來。實際上“宿主作業系統”也是一個虛擬機——就是你最初安裝的、帶有Hyper-V的Windows Server 2008,微軟將其稱為Parent Partition作業系統,而每一個虛擬機則成為Child Partition。
VSP與VPC,注意VSP並不是Virtual Storage Provider的縮寫。Virtual Storage Provider屬於VSP
上圖很好地解釋了Hyper-V使用VSP/VSC架構解決驅動程式/檔案系統的方式,通過加入VSP和VSC以及它們互相溝通的VMBus匯流排,Hyper-V將虛擬機的操作映射入Parent Partition的對應驅動程式/檔案系統中,簡化起來就如下圖:
Hyper-V的VSPs/VSCs、VMBus架構
這種方式具有不少好處,例如,最明顯地,Hyper-V可以兼容大量的驅動程式,而不必為虛擬機開發專用的驅動程式(ESX Server就是這樣乾的),只要設備能在Windows Server 2008下工作,那么Hyper-V虛擬機就能使用這些設備資源,再加上Windows驅動天生就比其他作業系統(如Linux)的驅動豐富,因此在硬體支持上Hyper-V具有著無可比擬的優勢。VMware ESX Server甚至不能直接套用Linux驅動程式,需要另外進行額外的操作才能使用,因此VMware ESX Server容易受到設備方面的問題,當然用戶可以使用具備VMware認證的全套硬體以避免這個問題。
有利就有弊,VSP/VSC架構需要支持Hyper-V技術的客戶端的支持,這樣就大為限制了虛擬機作業系統的選擇,不支持Hyper-V的客戶作業系統只能使用設備模擬的方式,性能和以前的Virtual Server 2005 R2沒有太大的分別,要享受到Hyper-V性能的提升,需要虛擬機使用Windows Server 2008,或者內含Xen的Linux/Unix。Hyper-V的客戶機作業系統的選擇確實只註明了Windows和少數幾種Linux,雖然筆者猜測或多或少有著商業策略上的因素,不過從技術上來看,確實也有一些限制。
Hyper-V設備驅動的這個優點正好就和微核心驅動程式架構的優點一樣,模組化,架構靈活,不需要更改就可以提供新硬體的支持。
順便提一下,設備虛擬硬體輔助VTd技術在Hyper-V下的實現很輕鬆,只需要開發Windows Server 2008下的驅動程式。
Hyper-V還具有一個關於性能的重要特性:多處理器虛擬機,Hyper-V支持4 CPU的Windows Server 2008虛擬機,和2 CPU的Windows Server 2003虛擬機。多處理器虛擬機並不是一個Hyper-V才具有的特性,VMware的ESX Server早已經實現4 CPU的虛擬機,並且是在各種作業系統下(WMware Workstation也能提供2 CPU的虛擬機)。
如果伺服器工作負載需要很高的性能,我們可以考慮使用多處理器的虛擬機。資料庫伺服器可以消耗掉大量的處理器資源,這時,多處理器虛擬機就是很必須的,就像我們做過的測試那樣。當然,只有當工作負載確實需要的時候,才應該使用多處理器虛機,因為管理更多的處理器會帶來一些額外的開銷。就像早期Window NT具有單處理器和多處理器兩種核心一樣(單處理器版本去掉了一些多處理器才有的如同步之類的模組,並作了相關最佳化)。
進程狀態及其轉換示意圖,進程的就在這些狀態之間“旋轉”
眾所周知,為了保護共享數據,需要一些同步機制,例如鎖、信號量等。通常,多處理器作業系統核心和驅動會採用自旋鎖(Spin Lock,類似於互斥鎖,但是保持時間更短。更詳細的信息可以參考《Windows Internals》第四版,P152)的機制,在獲得自旋鎖之前,執行緒並不會阻塞,而是一直處於自旋狀態,前提是自旋鎖只會保持很短的時間。然而在虛擬化條件下,這個前提會被打破件,因為虛擬處理器是按照時間片進行調度的。如果在保持自旋鎖的時候競爭虛擬處理器,則其他虛擬處理器就要自旋很長時間,導致CPU循環的浪費。
在Windows Server 2008核心以及Hyper-V Hypervisor中加入了一個創新設計,儘可能防止出現自旋鎖的長時間等待條件,如果確實存在長時間等待條件,也會有效地加以檢測並對其進行處理。這個方法叫做自旋鎖啟發方法,未實現自旋鎖啟發方法的虛擬機作系統將停在一個緊湊循環上旋轉以等待其他虛擬處理器釋放自旋鎖,通常這個旋轉可能會阻塞其中一個硬體 CPU,從而降低了虛擬化性能。而在自旋鎖啟發式作業系統中,自旋鎖代碼會在將要發生旋轉時通過Hypercall API通知Hyper-V Hypervisor管理程式,這樣Hypervisoer管理程式就可以立即調度執行另一個虛擬處理器並降低不必要的CPU使用。Hyper-V還還在調度程式和記憶體虛擬化邏輯上進行了最佳化以使它們在大多數臨界區中都不會被鎖定,從而確保多處理器系統能夠獲得很好的延展性。
在前些天的媒體測試見面會上,微軟中國的工程師展示了Hyper-V虛擬機的效率,表明4 CPU的Windows Server 2008虛擬機,其延展性可以和物理4 CPU系統一較高下。當然,具體的提升仍然需要通過測試來評估。
註:自旋鎖啟發方法其實不完全是Hyper-V的內容,它更多是Windows Server 2008的核心內容。Vista也實現了這個自旋鎖啟發方法。
不知不覺間說了很多顯得有些深澀的內容,不過Hyper-V的特點總結起來就是:VT/AMD-V實現、微核心設計、VSP/VSC虛擬設備驅動架構以及虛擬處理器自旋鎖啟發架構,這些特性糅合在一起就形成了獨特的Hyper-V。此外,$28的價格(或者,購買Windows Server 2008:免費)也很值得一提。
微軟伺服器虛擬化戰略的里程碑:Hyper-V
更好的性能、更廣泛的兼容性、更強的安全性,以及更便宜——這就是Hyper-V,從2003年收購Connetix後就沉寂的微軟並沒有睡著。從最早的Terminal Services,到早期的Virtual PC、Virtual Server、SoftGrid,到今天Hyper-V的推出,這些看似不經意的動作,現在看來均是為其全面的虛擬化戰略實施做鋪墊。而經過這樣一系列的鋪墊,微軟的從數據中心到桌面虛擬化、全面的端到端的虛擬化戰略已經正式部署完畢,我們已經可以看到,虛擬化市場即將到來的一場暴風雨。
Hyper-V採用基於Hyperisor的架構,並且充分利用Windows驅動模型,以便提供廣泛的硬體支持。Hypervisor可以把單個伺服器劃分為多個CPU和記憶體的容器。由於採用微核心架構,Hyper-V可以提供高效的分區間通信機制,並在此基礎上搭建高性能的虛擬I/O架構。根分區包含物理I/O設備,還將提供虛擬棧用來為子分區所實現的I/O服務。
虛擬棧可以實現模擬I/O設備,例如IDE控制器和DEC 21140A網卡。然而模擬這種設備的代價很昂貴。傳送單個I/O請求,就有可能導致虛擬棧和子分區之間的多次切換。相反,Hyper-V提供專門為虛機環境所設計的虛擬I/O設備。這些虛擬設備連線到VMBus,這是一個支持即插即用的匯流排,使用共享記憶體,以便可以有效地進行分區間通信。Windows虛機可以自動檢測到VMBus上的虛擬設備,並且載入合適的驅動程式。
Hyper-V中的虛擬輸入/輸出採用客戶端/伺服器架構,在根分區中包含VSP(虛擬服務提供程式),在子分區中包含VSC(虛擬服務客戶端)。該架構極大地減少傳送I/O請求所需的開銷。如果Virtual Server用戶把虛機遷移到Hyper-V中,他們將體會到高I/O的工作負載的CPU開銷大大降低。
多處理器的虛機
在這第一篇文章里,筆者想著重指出Hyper-V的主要性能特性:多處理器的虛機。Hyper-V支持4 CPU的Windows Server 2008虛機,和2 CPU的Windows Server 2003虛機。如果伺服器工作負載需要很高的性能,我們可以考慮用2 CPU或者4 CPU的Hyper-V虛機對其進行虛擬化。當然,只有當工作負載確實需要的時候,才應該使用多處理器虛機,因為擁有更多的處理器會帶來一些額外的開銷。
然而,作業系統核心和驅動會採用自旋鎖(Spin Lock)的機制,在獲得自旋鎖之前,(執行緒)並不會阻塞,並一直處於自旋狀態,前提是自旋鎖只會保持很短的時間。但是虛擬化會打破這種條件,因為虛擬處理器是按時間片進行調度的。如果在保持自旋鎖的時候競爭虛擬處理器,則其他虛擬處理器就要自旋很長時間,導致CPU循環的浪費。[盆盆註:自旋鎖是多處理器作業系統的一種互斥機制,有點類似於互斥鎖,但是保持時間更短。更詳細信息,可以參考《Windows Internals》第四版的P152]
我們在Hypervisor和Windows Server 2008核心里加入創新設計,儘可能防止出現自旋鎖的長時間等待條件,如果確實存在長時間等待條件,也會有效地加以檢測並對其進行處理。我們還對Hypervisor進行設計,包括調度程式和記憶體虛擬化邏輯,以使它們在大多數臨界區中都不會鎖定,從而確保多處理器系統能夠獲得很好的延展性。
所以,4 CPU的Windows Server 2008虛機,其延展性可以和物理4 CPU系統一較高下。這是一個很好的註解,來詮釋Windows Server 2008虛機和Hyper-V如何一起提供性能上的改進。我們還將在後續的版本里繼續提高多處理器系統和多處理器虛機的延展性。
微軟的虛擬化產品Hyper-V以前被稱作Viridian和WSV,我在這裡聊聊老生常談的話題,也就是它的虛擬化架構。
首先,我們看看虛擬基礎架構。為什麼從基礎架構開始呢?因為虛擬基礎架構可以在計算、存儲器和網路硬體以及在其上運行的軟體之間提供了一個抽象層,簡化了 IT 計算體系結構,可以控制成本,並提高回響速度。
Hyper-V:由於採用Hyperisor核心架構,Hyper-V可以提供高效的分區間通信機制,並在此基礎上創建高性能的虛擬I/O架構,並且充分利用Windows驅動模型,以便提供廣泛的硬體支持,因為Hypervisor可以把單個伺服器分割為多個CPU和記憶體的容器。
目前,大多數潛在的子作業系統都還沒有意識到虛擬化。它們以為是直接在伺服器硬體上運行,因此需要使用hypervisor提供的硬體模擬。
既然說到了Hyper-V,那我們也不得不提到VMware。
VMware虛擬化層:VMware的ESX Server在每台物理機上載入一個“服務控制台”,來管理和操控Hypervisor的動作,解決了傳統x86硬體管理中的ring轉換問題,支持所有x86兼容OS,且系統無須更改設定。雖然這種通過軟體模擬硬體服務的做法具有較大的靈活性,但代價是會導致較大幅度的性能損耗。
我們研究完基礎架構,再一起來看看Hyper-V的體系結構吧:
Hyper-V體系結構:運行Hyper-V的伺服器可以利用Windows對硬體設備的支持,是因為管理程式可將系統分成多個VM,並將Windows Server 2008的引導實例當作主分區,以使其可直接訪問各種硬體設備如網路適配器等等。
Hyper-V管理程式要求主分區執行電源管理並回響硬體即插即用事件。這種架構將業界標準伺服器、與它們連線的網路和存儲器聚合到統一的資源池中。
要知道,虛擬棧可以實現模擬的I/O設備,然而模擬這些設備的代價很高,傳送單個I/O請求,就有可能導致虛擬棧和子分區之間的多次切換,那么Hyper-V如何解決的呢?
Hyper-V和多處理器虛機
Hyper-V支持4 CPU的WinServer08虛機,和2 CPU的WinServer03虛機。只有當工作負載確實需要的時候,才應該使用多處理器虛機,因為擁有更多的處理器會帶來一些額外的開銷。不過不用著急,Hyper-V提供了專門為虛機環境所設計的虛擬I/O設備。這些虛擬設備連線到VMBus,使用共享記憶體,可以有效地進行分區間通信。
Hyper-V中的虛擬I/O採用客戶端/伺服器架構,在根分區中包含VSP虛擬服務提供程式,在子分區中包含VSC虛擬服務客戶端。
Hyper-V中的I/O架構:該架構極大地減少傳送I/O請求所需的開銷。如果Virtual Server用戶把虛機遷移到Hyper-V中, 那么一定能體會到高I/O的工作負載的CPU開銷大大降低。
既然說了那么多內部的架構,我們也看一眼Hyper-V Server 2008的安裝界面吧。
Hyper-V Server 2008安裝
在安裝上方面,和VMware ESX相比,Hyper-V Server 2008操作更加傻瓜化一點,界面上也更為熟悉一些。不難發現黑色窗體既不是POWERSHELL程式,也不完全是DOS模式,更類似CMD命令的工作模式,如果把藍色視窗當成控制臺,那黑色視窗就是Hyper-V的工作區。其實,Hyper-V自帶的管理工具VMM可以在遠程控制Hyper-V Server,也就是說安裝好Hyper-V Server的伺服器可以不再去管了。
Hyper-V界面管理
看起來很舒服吧,在這裡我們可以對 Hyper-V進行管理,雖然看起來是全新的操作界面,但是實際操作起來還是非常順手的。 迫不及待在 Hyper-V 上又安裝了Server Core 版,性能非常好,感覺很快很舒適。
Hyper-V 的 Guest OS支持32位及64位的作業系統,並且支持Linux系統。另外,提示大家一點:Hyper-V Beta版可以安裝非英文版的其他語言版本作業系統喔,不過前提是在安裝 Hyper-V 系統時,請保持默認的語言和鍵盤區域配置。
Hyper-V,這是windows 2008最大的亮點。當然windows 2008的其他特性,也還不錯,相比之下Hyper-V最牛X。可以說是很創新,很革命。Hyper-V,微軟新的hypervisor為基礎的虛擬化系統,在最新的Windows Server 2008作業系統上體現出毫無疑問的殺手級功能。windows 2008雖然有很多的其他新的特性升級,但相比之下,Hyper-V才是革命性的轉變。
伺服器虛擬化還遠沒有成為主流,但隨著加入了Hyper-V的Windows Server 2008的推出,將會非常迅速改變這種狀況。因為伺服器虛擬化會帶來有很多好處:提高伺服器的利用率-相當多情況下,一台伺服器的利用率在1 0%左右。通過運行幾個虛擬伺服器,可以將利用率提高到在60或70 %,這樣可以大大減少硬體上的投資。
降低功耗和冷卻費用-電費支出,正成為一個非常重要的組成部分。通過運行更少的物理伺服器,增加虛擬伺服器,這樣在更高的利用率下,大大節省了電費支出。
降低硬體成本-較少的伺服器意味著減少機器維護和更換。
增加伺服器更敏捷快速-增加一個虛擬伺服器,在需要時可以從一個模板在短短几分鐘內創建好,無論是IT技術人員或最終用戶都可以自己輕鬆搞定。相比之下,採購,安裝,提供物理伺服器可能需要幾天甚至幾個星期才能完成。
提高可靠性和減少停機時間-當虛擬伺服器發生硬體損壞時,可以立即轉移虛擬伺服器到新的物理伺服器上。
hypervisors可以說是相當的龐大和複雜,它包含有微軟稱之為monolithic的驅動模型。相比之下,微軟已經設計Hyper-V被它稱為" microkernelized(微核心) " 。該hypervisor本身非常“苗條”,這將更安全,只有少量的代碼運行在具有特權的hypervisor層次上,而且沒有第三方代碼或驅動。Windows server 2008 支持多種系統,包括:Windows server 2008和2003,Windows Vista和Linux等較新的作業系統,還支持較早的windows 9X和Solaris 、 SCO Unix等。
安裝
Hyper-V只運行於基於x64的機器,但這個賦予它有能力處理高達1T記憶體。無限數量的虛擬機器可以運行(如果資源可用)限制以最高的64 GB的記憶體。
Hyper-V是微軟的虛擬化技術,是Windows Server 2008 (R2) 64位的一個角色。並且只有3個版本有這個角色。企業版,數據中心版,標準版上有。 還有就是你的cpu要支持虛擬化技術,並且在BIOS中允許使用VT,就可以安裝Hyper-V服務。而後就可以生成一些虛擬機,可以在上面安裝Windows XP、server 2003等,目前對Linux的支持僅限於RHEL5和SUSE EL10/11 。 至於你想在Windows7下用虛擬機可考慮通過Vmware Workstation 7 、Virtual PC 2007或VirtualBox來實現。無需另外的設備。
對稱多處理( SMP )的支持。這就是說,只要物理伺服器主機有4個核心,虛擬機器都可以使用多達4個虛擬處理器,以充分利用多執行緒套用的需要。網路負載平衡也獲得了支持。Hyper-V的一個新的虛擬開關可以讓Windows網路負載平衡將被用於平衡負載跨越虛擬機器設於單獨的物理伺服器。虛擬機快照使管理員能夠在任意時刻捕捉虛擬機的整個狀態,同時支持在需要時,迅速恢復虛擬機到該狀態。
除了能夠快速遷移,虛擬機管理器可以用來管理虛擬伺服器的進程。最後,該軟體可用於分配新建立的虛擬機器到不同的物理主機伺服器。這可以是一個硬任務,進行高效率,作為處理器和記憶體的要求,每一個虛擬機必須搭配一台伺服器與適當的可用資源。為達到這一目的,使用的一個特點所謂智慧型配置,其中包括將數據從現有的Hyper-V主機及其他地方找出最適合主機作為某一特定虛擬機器。
雖然許多大企業也開始試行與虛擬化,虛擬伺服器的數量與物理伺服器相對還是較少。隨著加入了Hyper-V的windows server 2008的推出,這一比例在未來五年內可能會扭轉。對伺服器虛擬化來說加入Hyper-V被看作是具有分水嶺意義的重大時刻。
Hyper-V是微軟伴隨Windows Server 2008推出的重量級虛擬化工具平台,很多網友都在問,為什麼安裝了Windows Server 2008之後找不到這個功能?或者即時重新安裝了這個組件,Hyper-V虛擬化也不能使用呢?
其實,要完全實現正常安裝並使用Hyper-V,除了需要軟體條件,還需要硬體條件才行。
安裝 "Hyper-V"虛擬化的先決條件:
Windows Server 虛擬化需要特定的CPU:
- 基於 x64: Windows Server 虛擬化功能只在 x64 版本的 Windows Server 2008 標準版、企業版和數據中心版中提供。
- 硬體輔助虛擬化: 需要具有虛擬化選項的特定CPU,即包含 Intel VT(Vanderpool Technology)或 AMD Virtualization (AMD-V,代號 "Pacifica")功能的CPU。
- 硬體數據執行保護(DEP),而且被開啟(如果CPU支持 Server 2008 默認開啟)。
下面提供兩種快速檢測方法:
(一) 使用 EVEREST Ultimate Edition 軟體,可以方便的辨別你的CPU是否符合要求:
在"主機板"下的"CPUID"一項中,查看是否支持以下三種特性:
1、指令集:64位x86擴展
2、 CPUID特徵:對於AMD處理器:Secure Virtual Machine Extensions (Pacifica) ;對於Intel處理器:Virtual Machine Extensions (Vanderpool)
3、 安全特徵:數據執行保護(DEP) (DEP, NX, EDB)
(二)在這裡,給大家介紹另外一個簡單便捷的小工具-securable。
如果機器顯示如上圖,代表不支持Hyper-V,因為三個條件均不滿足。如果你的系統顯示的與下面的圖相同,那么恭喜你,可以體驗Hyper-V的無窮魅力了!(三個條件均支持)
當你的系統完全能夠滿足上述條件後,即可開始安裝Hyper-V平台,簡要步驟如下(本例中為英文環境,中文類同):
1.在Windows Server 2008中 點擊"Strat"然後再Administrative Tools中選擇Server Manager
2.在Server Manager中的Roles Summary中添加角色(Add roles)
3.在Before You Begin 界面中點擊下一步 Next
4.選擇Hyper-V 下一步
5.產品介紹和注意事項 點擊下一步
6.在Create Virtual Network界面中檢查你的virtual pc網卡連線
7.確認設定 下一步
8.安裝完成後 重啟計算機
9.重啟後配置完成
10.在服務管理器里創建,啟動,配置你的虛擬機.展開 Roles -> Hyper-V -> Microsoft Hyper-V Servers 最後點擊你的computername
至此,Hyper-V安裝完畢。
Hyper-V管理程式隨著最近RC1版本的推出終於要與大家見面了。微軟公司也正在從工程運作的主模式向cross-the-i's和dot-the-t's(對細節一絲不苟之意)的模式轉變。包括龐大的可支持作業系統名單的Hyper-V主體目前已經準備就緒,微軟公司的用戶可以滿懷自信的將他們的測試虛擬機向試運行的管理程式上遷移了。
不過微軟Hyper-V主機和虛擬機的管理解決方案也就是Microsoft System Center Virtual Machine Manager 2008還需完善,目前還處於公共測試版階段,Microsoft System Center Virtual Machine Manager 2008(微軟系統中心虛擬機管理2008,縮寫為MSCVMM)受到了Hyper-V管理程式內在局限性的限制,特別是Hyper-V目前還無法實現虛擬機的實時遷移。
前景分析
首先來看MSCVMM的優勢所在:MSCVMM採用更為先進的全新用戶界面來管理微軟的各種虛擬化環境,包括Hyper-V管理程式和以前的虛擬伺服器產品線。MSCVMM控制台能允許用戶以有效的方法過濾信息來實現對常規任務的快速訪問。
諸如控制虛擬機和管理不同工作引擎等主要功能根據所執行的工作負載被分為不同的邏輯子群。每個邏輯子群都能提供豐富的過濾選項供用戶使用,比如在特殊情況下添加主機或虛擬機等。這是一個簡單的裝置,但當它在管理一個大型虛擬化環境時卻非常與眾不同。
MSCVMM庫對存儲虛擬機映像也非常有幫助。這意味著微軟正在從工作組虛擬機向數據中心參與者轉變,MSCVMM庫通過不斷發展的微軟虛擬機基礎架構輕鬆實現對虛擬機的分配和跟蹤。
從MSCVMM控制台簡單選擇中意的虛擬機然後分配到目標主機上去。MSCVMM庫伺服器和代理伺服器能將虛擬機映像複製到相應的物理機上並線上展示。這一特性還能與全新的快速遷移特點(以網路為通道實現快照)相結合。MSCVMM成熟的庫模式使Hyper-V升級變的更加容易。
不利之處:不幸的是易於管理只是微軟追趕VMware的特性之一。公司沒有解決實時遷移的問題,VMware公司的VMotion能夠在無宕機情況下實現虛擬機在物理伺服器之間的無縫遷移。
微軟公司也曾經構想為Hyper-V增加這項功能,但Hyper-V之前預計要在Windows Server 2008作業系統推出後半年內面世,為了讓Hyper-V按照原定計畫準時與公眾見面,微軟不得不放棄了這個想法。儘管快速遷移特性(Quick Migration)能實現在系統運行狀態下虛擬機在物理主機之間的遷移,但它仍然需要虛擬機在遷移過程中脫機,也並非要求高實用性的套用環境的首選。
另外,Hyper-V管理程式能正式支持的Linux客戶機作業系統僅限於NOVELL的Suse Linux Enterprise Server 10;所有其他的Linux作業系統都只能作為二等公民對待。其他的Linux作業系統雖然可以運行,但是只有Suse作業系統獲得了微軟的安裝支持和升級許可來提高在Hyper-V管理程式上的集成(諸如客戶機和主機作業系統之間滑鼠和鍵盤的集成)和性能擴展能力。
與之形成鮮明對比的是,VMware公司的ESX伺服器可以直接支持數十種Linux作業系統,並通過提供客戶機作業系統集成組件(即VMware工具)來提升ESX平台上的系統性能和運行能力。當然,Hyper-V管理程式的目標市場是對Windows server的整合,因此大家都認為微軟公司能很快解決來自VMware這個最大的競爭對手的威脅。
微軟戰略
不過微軟目前的市場戰略也表明微軟為與VMware爭奪虛擬化領地所做著種種努力。戰略之一就是將產品的研發定位於大眾用戶群的套用需要。舉例來說,儘管微軟的快速遷移(Quick Migration)無法達到VMotion無縫遷移的性能水平,但對於那些對高實用性沒有過高要求的普通用戶群來說也是個不錯的選擇,因為這款產品具備了伺服器整合所需的大部分功能和特性。
將它的技術可靠性與性能良好的管理程式(Hyper-V)相結合,用戶同樣可以從容面對虛擬化的挑戰。再加之頗有誘惑力的價格(微軟公司為單機版解決方案Hyper-V的定價僅為28美元),足以讓微軟的此次虛擬化出擊成為競爭對手不可小覷的威脅。
微軟公司的另外一項戰略就是允許Hyper-V和VMware虛擬化產品都可以在MSCVMM管理環境中直接對VI3資產進行管理。通過與VirtualCenter的結合,MSCVMM管理員就可以使用本地VirtualCenter服務來管理包括VMotion在內的VMware的虛擬機。
微軟通過擁有與競爭對手技術成功結合的跟蹤記錄(競爭對手的技術在微軟的環境下使用來實現跟蹤)來達到最後取而代之的目的。微軟在NOVELL NetWare和Unix上也採用的是類似的做法。顯然,微軟認為此次對擁有深厚技術資源的VMware公司這么做也能達到當初的效果。但有專家認為微軟這次有些盲目自大了"以前這樣的事情發生了,以後不會在重演"。
專家測試
專家在運行Windows Server 2008作業系統X64企業版(Hyper-V需要64位的運行環境)的戴爾PowerEdge 2950伺服器上對Hyper-V RC1版本和MSCVMM 2008測試版進行了測試。
激活Hyper-V只需點擊Server Manager的複選框,通過虛擬網路管理選擇所用的網路接口卡就能輕鬆完成。MSCVMM的安裝則略有些麻煩,需要一個SQL Server 2005實例,.Net Framework 3.0和Active Directory(激活目錄)。幸運的是,MSCMM自動提供了SQL Server 2005快速安裝版的選項來解決SQL的問題。雖然.Net 3.0不是預設激活項,但它和Windows Server 2008作業系統是捆綁的,所以.Net版本的要求對於Server 2008的安裝不成問題。
最終結論
總之微軟公司的伺服器虛擬化平台正在順利發展為數據中心虛擬化競爭中的可行性選擇,對於那些在Windows Server技術上重金投資並青睞有加的用戶尤其重要。雖然它不像VI3那樣久經市場考驗,但Hyper-V與MSCVMM的結合也是長期以來以主機為平台的虛擬化伺服器基礎架構的巨大突破。
問題是VMware現在會為此坐立不安嗎?我不得不說是的。從歷史的角度來看沒有那家公司顯示出象微軟那樣歷經數年幾經嘗試的耐心和勇氣。Hyper-V以它目前的雛形,或許還不足以獲取數據中心重量級的青睞。但對於多數用戶而言,Hyper-V管理程式將是一款非常不錯的產品,微軟公司已經開始對VMware的市場份額造成了威脅並積極籌備新一代產品以期最終在競爭中取代VMware在虛擬化領域裡的霸主地位。讓我們拭目以待吧。
產生背景
虛擬主機客戶不滿意,伺服器合租不好管理,獨立主機賣不動,用戶續費率不高,怎么辦?
2006年掀起的虛擬化技術熱潮正好成為解決這一問題的關鍵。SWsoft中國最近推出的基於最新的虛擬化技術的hyper-v主機將會為您帶來新的選擇。SWsoft中國利用其在歐美、亞太其他地區主機行業的成功經驗和強大的市場支持,與大中華區商業合作夥伴一起在國內推廣成功的虛擬專用伺服器(hyper-v)運營模式,讓大中華區用戶體驗先進的虛擬化技術和高品質的虛擬專用伺服器(hyper-v)主機,並讓商業合作夥伴一同受益。
性能對比
Hyper-V主機、虛擬主機、hyper-v主機、獨立主機四者對比 Hyper-v主機是基於Windows2008x64的Hyper-V實現的Hyper-v主機技術,又稱Hyper-v主機由於“微軟公司的Hyper-V技術”是全球領先的真正的“硬虛擬化”技術,無論性能、速度及穩定上有無可比擬的優勢,每個Hyer-v主機都可分配獨立公網IP位址、獨立作業系統、獨立超大空間、獨立記憶體、獨立CPU資源具有獨立伺服器功能,可自行安裝程式,單獨重啟伺服器。Hyer-v主機是高端虛擬主機用戶的最佳選擇。您不再受其他用戶程式對您造成的影響,您將得到的是更加公平的資源分配,遠遠低於虛擬主機的故障率.
虛擬主機的缺陷在於所有使用者同時共享伺服器上的全部資源,當其中的一個使用者過度使用資源,負荷過重時即容易造成伺服器發生問題,也因此造成危及其它使用者的情況。hyper-v主機(Virtual Private Server 虛擬獨享主機)乃是以世界知名公司SWsoft公司的hyper-v軟體「Virtuozzo」將伺服器上的資源做高度技術含量的獨立劃分,使劃分的每一個獨立領域有獨自的Root/Administrator管理許可權,獨自的作業系統OS與IP位址,就像是完全獨立主機一般,擁有完全的控制權。並且所有的使用者因各自獨立與使用監視,所以不會產生相互影響的現象。
hyper-v是利用hyper-v(Virtual Private Server)技術,將一部伺服器分割成多個虛擬專享伺服器的優質服務。每個hyper-v都可分配獨立公網IP位址、獨立作業系統Windows/Linux、獨立超大空間、獨立記憶體、獨立CPU資源、獨立執行程式和獨立系統配置等。用戶除了可以分配多個虛擬主機及無限企業信箱外,更具有獨立伺服器功能,可自行安裝程式,單獨重啟伺服器,總而言之,hyper-v是一項具備高彈性、高質量及低成本效益的伺服器解決方案。
Virtuozzo與Intel至強Xeon 64位/AMD雙皓龍Opteron64位系列伺服器的完美搭配
根據SWsoft公司提供的Hardware Compatibility List所推薦,本公司全面採用經過SWsoft所測試,包含RAID Controller使用測試合格的Intel雙至強Xeon 64位/AMD雙皓龍Opteron64位系列機型,作為hyper-v系統的實體伺服器。不僅於此,加上超過4G大容量的記憶體與Ultra 320 SCSI(最大320MB/秒)高速硬碟的搭配,心靈科技hyper-v主機服務不但具高度穩定性,性能的表現更是卓越。
承載套用
目前,hyper-v主機可以承載所有的主機類型的套用,而且經過測試hyper-v主機可以承載Oracle、MSSQL、SAP、IBM WebSphere等多種 大型套用。需要注意的是,由於改虛擬化技術力圖建立一個公平的硬體資源共享平台,所以類似於要和硬體平台捆綁的套用(如需要加 密狗的軟體)違背了這一共享原則,所以暫時不提供這樣的支持。
hyper-v伺服器簡稱hyper-v, 又稱hyper-v主機. hyper-v伺服器是靈動網路利用hyper-v(Virtual Private Server)技術, 將一台伺服器分割成多個虛擬專享伺服器(hyper-v)的優質服務. 這些hyper-v伺服器以最大化的效率共享硬體、軟體許可證以及管理資源.
Hyper-V的部署適用於私有雲的方式
在小範圍的Hyper-V部署中,伺服器主機通常被單獨管理。每台Hyper-V主機連線到存儲上(DAS、SAN、iSCSI或者基於SMB 3.0的NAS),然後在每台特定的伺服器主機上創建虛擬機。這種模式適用於小範圍的部署;而在更大範圍的部署模式中,Hyper-V主機和可用存儲(無論哪種形式)通常會被創建成資源池,可以作為整體進行管理,按需分配。
雖然可以通過Hyper-V Manager來管理多台主機,不過其功能非常有限。在Hyper-V部署中,將各種計算、存儲和網路資源作為資源池進行自由分配的唯一方式就是使用System Center Virtual Machine Manager(SCVMM)。
可以使用SCVMM 2012 R2,將Hyper-V部署成私有雲。這種方式可以使得存儲、計算和網路資源集中管理分配。而且這樣對系統的擴展性具有重大的積極影響,因為硬體可以視為資源池,在任何需要的時候隨意增加硬體。
當管理員計畫將生產負載增加到Hyper-V環境中時,他們很快會認識到不同虛擬機對於存儲的需求各不相同。舉例來講,虛擬的SQL Server往往需要能夠支持高IOPS的存儲,而虛擬動態主機配置協定伺服器經常能使用廉價且性能較低的JBOD存儲。
Hyper-V備份方式
Hyper-V備份具體調用的是卷影像拷貝服務。通過這種方式,Hyper-V的VSS writer與每個單獨虛擬機里的VSS writer通信來完成整個備份過程。通過這種方式,Hyper-V可以確保每個虛擬機以可以信賴的方式進行備份,並且保證了虛擬機內部套用的一致性。
Hyper-V虛擬機備份的最重要的方式就是理解備份的過程很大程度上依賴於卷影像拷貝,這也可能會帶來一些問題。因為只有當每個虛擬機的VSS快照被成功創建通知VSS writer,才會創建備份。因此,一旦一台虛擬機的VSS快照進程發生故障,那么可能會導致整個備份的失敗。
Hyper-V主機性能
提升hyper-v主機性能以及運行在其上面的虛擬機性能。舉個例子,hyper-v主機最佳實踐分析器,hyper-v主機可以分析Hyper-V配置,並生成一份標識可能會導致性能變差的問題的詳細報告。儘管hyper-v主機最佳實踐分析器可以用來檢查合規遵從性配置問題,但是,hyper-v主機並沒有真正解決在Hyper-V 作業系統和虛擬機上引起的後台活動所造成的性能問題。後台活動在Hyper-V伺服器和虛擬機上造成大量的CPU循環,反之,這就降低了Hyper-V伺服器的整體性能。
允許hyper-v主機在虛擬機需要時隨時分配記憶體。這好比如果在一個虛擬機內部運行的應用程式需要記憶體時,只要hyper-v主機分配記憶體。然而,當Hyper-V分配給虛擬機記憶體只是因為在虛擬機里發生的後台活動所需的記憶體時,這是不可取的。你可以按照運行在hyper-v主機上的虛擬機內部禁用後台活動的提示去禁用。
hyper-v主機禁用計畫任務以及不必要的服務:其中最佳實踐的一部分,很多組織均遵循一個基本的Windows作業系統強化模版。你可能想要審查作業系統強化模版包括禁用計畫任務和在Hyper-V作業系統和虛擬機作業系統上的Windows服務。由於計畫任務可能配置為定期運行,它們可能會降低hyper-v主機和虛擬機的整體性能。一般來說,一個hyper-v主機是用於通過Hyper-V服務執行虛擬化活動的。因此,建議您在作業系統上設定最少的Windows服務來運行Hyper-V角色。
hyper-v主機在Windows虛擬機上禁用自動碎片整理:在Windows7以及之後的作業系統上碎片整理被設定為自動整理。雖然hyper-v主機建議你每一周運行一次磁碟碎片整理,只要不妨礙hyper-v主機活動更改預定的時間也是一個好的實踐。