服務器虛擬化軟件選型如何做到心中有數(shù)?
根據(jù)Gartner的預測,到2007年年底,《財富》前1000強中有30%左右的企業(yè),在部署Windows服務器時使用了一種關鍵的虛擬技術--分區(qū)。到今年,那些沒有采用虛擬技術的企業(yè)將在IA(Intel Architecture,英特爾架構(gòu))服務器上多支出25%的費用,而在RISC服務器上的額外支出也高達15%,這其中包括硬件、軟件、勞動力和占地空間等各方面的成本。
在傳統(tǒng)的典型IT架構(gòu)中,存在許多不合理之處,阻礙著現(xiàn)代企業(yè)的靈活性。由于應用被捆綁在固定的平臺上,使得各項應用擁有不同的平臺,需要有專用的、針對特定應用的開發(fā)、測試、生產(chǎn)和災難恢復環(huán)境,而且每個應用環(huán)境都需按預計***負載來構(gòu)建,彼此之間僅有較低的或根本沒有資源共享。
目前,在國內(nèi)企業(yè)數(shù)據(jù)中心,這一傳統(tǒng)架構(gòu)的缺點更加明顯,它們普遍根據(jù)需求隨時添加服務器設備,這些設備基本上都是分散的,具有不同品牌、不同配置,甚至架構(gòu)也不同,最致命的是在其上運行的應用并不能充分利用服務器的所有資源,只用到15%~20%的服務器資源是普遍現(xiàn)象。使用虛擬化技術可以減少服務器數(shù)量的增加,簡化服務器管理,同時明顯提高服務器利用率、網(wǎng)絡靈活性和可靠性。將多種應用整合到少量企業(yè)級服務器上即可實現(xiàn)這一目標。通過整合及虛擬化,數(shù)百臺服務器可以減少至數(shù)十臺; 10%甚至更低的服務器利用率將提高到60%或更高,IT基礎設施的靈活性、可靠性和效率也將得到改進。而實施服務的虛擬化技術,首先要面對的就是軟件選型。
VMware和Xen的結(jié)構(gòu)特點
目前Xen和VMware是市場上主流的兩大虛擬化產(chǎn)品。這兩大產(chǎn)品背后的架構(gòu)區(qū)別,將帶來不同的應用體驗。
● VMware
VMware是業(yè)界著名的虛擬機產(chǎn)品,其主打產(chǎn)品是VI3 (VMware Infrastructure 3)軟件套裝。VI3以其杰出的管理能力,受到了廣大數(shù)據(jù)中心的青睞。
在VMware中,最核心的軟件是 ESX Server。ESX Server直接安裝在裸機上,在硬件和操作系統(tǒng)之間形成一個虛擬化層。ESX Server將一臺物理服務器劃分為多個可移植的虛擬機環(huán)境。VMFS(Virtual Machine File System)則是封裝ESX Server的存儲載體。ESX的虛擬層級實際上包裹了硬件,ESX創(chuàng)建了一個硬件接口層Hardware Interface Layer,所有虛擬機如果想跟硬件通信,必須經(jīng)過這個硬件接口層,完成諸如內(nèi)存偏移轉(zhuǎn)換的工作。這里需要強調(diào)的是,ESX的特點是完全包裹硬件,不允許程序直接訪問硬件。
當然,ESX只是VMware最基礎的技術,VI3中其余的工具,用于完善虛擬化和可視化管理。其中,DRS(Distributed Resourced Scheduler)可以將多個ESX Server資源合并為群集,同時,按照假定所有資源都在一臺主機上的方法,簡單管理群集。Virtual SMP可以讓單個虛擬機同時使用多個處理器。VMware Vmotion可以使虛擬機從一臺物理服務器遷移到另一臺物理服務器,遷移過程中不用宕機。此外,它也提供虛擬的雙機熱備和集成備份等功能。***,所有虛擬化復雜的管理,都可以由Virtual Center虛擬中心控制臺輕松完成。
● Xen
Xen VMM(Virtual Machine Monitor)是由劍橋大學計算機實驗室開發(fā)的一個開源項目,它能夠讓我們創(chuàng)建更多虛擬機,每一個虛擬機都是運行在同一個操作系統(tǒng)上的實例。
這些客戶OS可以是修補過的Linux 2.4或2.6內(nèi)核,也可以是修補過的NetBSD/FreeBSD內(nèi)核。
用戶應用程序就運行在這些客戶OS上,并不需要修改任何代碼。但是,隨著將來的處理器能支持虛擬化的特性,內(nèi)核也就不需要打補丁了。比如Intel的VT和AMD的Pacifica處理器都將包括這種功能。
在Xen中, "系統(tǒng)管理程序"運行在0環(huán),客戶OS運行在1環(huán),應用程序運行在3環(huán)。這種關系對于x64有一點不同,就是客戶內(nèi)核和應用程序都運行在3環(huán)上。
Xen自稱為"系統(tǒng)管理程序",是因為它比客戶OS所需的系統(tǒng)管理代碼運行的特權級還高。當系統(tǒng)引導的時候,Xen裝載到0環(huán)的內(nèi)存中。它在1環(huán)上啟動修補過的內(nèi)核,稱做domain 0(domain是指一個運行中的虛擬機,在其上有一個guest OS在執(zhí)行)。從這個domain開始,可以創(chuàng)建更多的domain,也可以銷毀它們,還可以進行domain遷移、設置參數(shù)等。系統(tǒng)創(chuàng)建的那些domain也運行在1環(huán)內(nèi)核中,用戶應用程序運行在3環(huán)。
目前,修補過的Linux 2.4和2.6內(nèi)核可以作為domain 0。據(jù)Xen開發(fā)者所說,將來domain 0僅支持2.6的內(nèi)核補丁。構(gòu)造domain 0的大部分工作是在xen/arch/x86/domain_build.c中的construct_dom0()方法中實現(xiàn)的。物理設備驅(qū)動程序只能運行在特權級,也就是domain 0上。Xen依靠Linux或其他修補過的OS內(nèi)核對它所管理的設備提供虛擬化支持。這樣的好處就是Xen的開發(fā)者不必再去開發(fā)設備驅(qū)動程序。在一個有標簽TLB的處理器上使用Xen能夠大大提高性能。標簽TLB能夠把ASID(Address Space Identifier)放在TLB入口處。有了這個特性,當處理器在系統(tǒng)管理程序和客戶OS之間切換時就不需要刷新TLB了,這大大減少了系統(tǒng)開銷。
#p#
***區(qū)別體現(xiàn)在對I/O設備的處理上
VMware ESX服務器的架構(gòu)是建立在直接執(zhí)行(直接在硬件上運行用戶級的虛擬機編碼)和二進制譯碼(對特權級別編碼進行動態(tài)編譯)的基礎上,從根本上說,它是把一個完整的x86平臺導出到虛擬機上。ESX服務器可以使大多數(shù)能在x86上執(zhí)行的操作系統(tǒng)都能在虛擬機上運行,而不需要進行任何修改。
Xen的架構(gòu)中使用了一種Para虛擬化技術(Para Virtualization),對虛擬出來的客戶操作系統(tǒng)(Guest OS)進行修改,使它知道自己是在虛擬環(huán)境下運行。
這兩種方式***的不同就是對I/O設備的處理。虛擬機I/O端口和每個物理I/O端口設備之間如何路由在很大程度上影響了虛擬平臺架構(gòu)的性能,以及便攜性、可持續(xù)性和穩(wěn)定性。Xen采用的是分離驅(qū)動模式,真實驅(qū)動存在于一個中間層,這個中間層叫服務虛擬機,其他虛擬機上的特殊驅(qū)動通過這個服務虛擬機進行通信。這種方法能提供很好的性能,但是對于傳統(tǒng)操作系統(tǒng)支持有限。
在ESX中,虛擬機的虛擬設備驅(qū)動與ESX內(nèi)核里的物理設備驅(qū)動直接相互連接。ESX虛擬機可以為其虛擬設備使用現(xiàn)成的(off-the-shelf)驅(qū)動。這不僅能提供高性能,還能提供更廣泛的操作系統(tǒng)支持。然而在這個模型里,新的設備驅(qū)動必須導入到ESX內(nèi)核中。為了解決I/O虛擬化的平衡問題和復雜性問題,戴爾與英特爾、AMD這樣的合作伙伴以及外設硬件供應商一起,在芯片組和I/O設備中引入了虛擬化支持。
企業(yè)級虛擬化解決方案的另外一個重要部分就是管理。戴爾Open-Manage這樣的產(chǎn)品附送VMware Virtual Center、P2V和VMIm-porter,提供了整套工具,能有效進行部署、監(jiān)控、操作自動化,以及對虛擬IT數(shù)據(jù)中心進行管理。
Novell和Red Hat都在它們的操作系統(tǒng)中整合了對Xen平臺的管理,方法是運用像YaST和Anaconda這樣的安裝和配置工具,以及Virtual Machine Manager這樣的管理工具。
服務器虛擬化管理解決方案
通過VMware虛擬化技術,某企業(yè)信息中心將一臺物理服務器分割成多個相互隔離獨立的"虛擬環(huán)境"(以下簡稱VM),確保各部門間的應用及數(shù)據(jù)完全隔離,增強了服務器的利用率。
1. 利用虛擬化技術進行服務器整合,全面提高服務保障水平。
2. 利用虛擬化技術進行統(tǒng)一管理維護,極大降低了管理工作量。
服務器整合改變了基礎設施的復雜現(xiàn)狀,允許管理人員使用VMware集中管理控制臺對多臺服務器進行集中管理。同時各部門也可以利用VMware用戶控制面板對單個VM進行管理維護,進行諸如啟動、停止、重啟、備份、恢復及遠??、靈活的集中管理模式將使管理員從簡單機械的重復操作(如重裝系統(tǒng))中解脫出來,極大地降低了管理工作量。
3. 降低單點故障,提高服務保障水平。
服務器合并后降低了所需要管理的物理服務器數(shù)目,降低了單點故障率,與之對應的是管理、維護工作量的極大下降。信息中心的管理人員可以有更多時間管理有限的幾臺服務器,確保所有應用服務全天候正常運轉(zhuǎn),從而提高了服務保障水平。
4. 提高資源利用率,改善資源分配。
利用VMware虛擬化技術,信息中心可以按照不同應用所需的不同資源,動態(tài)地對物理服務器進行虛擬分區(qū),提供最合適的虛擬環(huán)境(即VM),極大地提高了每臺服務器的利用率,也使得資源分配更加合理。虛擬環(huán)境的大量使用,改變了以往在單臺服務器上只能部署單個應用的弊病,而利用虛擬環(huán)境(VM)的安全隔離特性,完全實現(xiàn)了應用程序隔離的目的,***程度地保障了多用戶環(huán)境下的數(shù)據(jù)安全。
5. 降低備份/恢復的成本。
方案部署后,所有應用全部運行在虛擬環(huán)境(VM)中,完全實現(xiàn)了軟硬件的隔離。VMware還真正實現(xiàn)了零宕機遷移技術,可將遷移工作對業(yè)務的影響降低為零。無需使用昂貴的專用存儲設備,僅采用備份現(xiàn)有虛擬環(huán)境(VM)或進行VM整體遷移,就可以實現(xiàn)高質(zhì)量備份/恢復方案。
通過部署VMware虛擬化技術,信息中心改善了基礎設施的管理方式,極大降低了管理工作量,節(jié)約了服務器管理和維護成本。除了降低單點故障可能性外,還緩解了因資源利用率不高而導致的整體資源緊張問題,增強了數(shù)據(jù)安全性和災難恢復能力。
#p#
虛擬化一路走來
盡管虛擬化技術只是在近年才變得火爆,但是虛擬化卻有著悠久的歷史。早在20世紀60年代,IBM公司就發(fā)明了一種操作系統(tǒng)虛擬機技術,允許用戶在一臺主機上運行多個操作系統(tǒng),讓用戶盡可能地充分利用昂貴的大型機資源。
最早使用虛擬化技術的是IBM 7044 計算機。此后,IBM在20世紀60年代還開發(fā)了型號為Model 67的System/360主機。Model 67主機通過虛擬機監(jiān)視器(Virtual Machine Monitor)虛擬所有的硬件接口。1965年,IBM公司的"M44/44X"計算機項目,定義了虛擬內(nèi)存管理機制,用戶程序可以運行在虛擬的內(nèi)存中,對于用戶來說,這些虛擬內(nèi)存就好像一個個‘虛擬機',為多個用戶的程序提供了獨立的計算環(huán)境。
IBM提出的虛擬機技術,使一批新產(chǎn)品涌現(xiàn)出來,比如IBM360/40、IBM360/67以及VM/370,這些機器在當時都具有虛擬機功能,通過一種叫VMM(虛擬機監(jiān)控器)的技術在物理硬件之上生成了很多可以運行獨立操作系統(tǒng)軟件的虛擬機實例。
由于虛擬化技術在商業(yè)應用上的優(yōu)勢,RISC(精簡指令集計算機)服務器與小型機成了虛擬化技術第二代受益者。
1999年,IBM公司在AS/400上提出了上"邏輯分區(qū)(LPAR)"技術和新的高可用性集群解決方案。在POWER管理程序上運行的AS/400 LPAR,令單臺服務器工作起來如同12個獨立的服務器。而在2002年,IBM 的虛擬化技術又前行一步,其AIX5L v5.2***包括了IBM實現(xiàn)的動態(tài)邏輯分區(qū)(DLPAR)。DLPAR允許在無需重啟系統(tǒng)的情況下,將包括處理器、內(nèi)存和其他組件在內(nèi)的系統(tǒng)資源分配給獨立的分區(qū)。這種在不中斷運行的情況下進行資源分配的能力不僅令系統(tǒng)管理變得更加輕松,而且因為能夠更好地使用資源而幫助降低總擁有成本。
不過,盡管惠普、Sun公司也跟隨IBM在自己的RISC服務器上提供了虛擬化技術,但由于真正使用大型機和小型機的用戶還是少數(shù),加上各家產(chǎn)品和技術之間并不兼容,虛擬化技術仍舊不太被公眾所關注。而現(xiàn)在,虛擬化技術的發(fā)展已經(jīng)惠及到了x86處理器架構(gòu)。
此前,虛擬化技術在x86架構(gòu)上進展緩慢的主要原因是x86架構(gòu)本身不適合進行虛擬化,不過這個障礙已經(jīng)由英特爾、AMD修改,x86處理器的指令集得到解決; 還有一個原因是x86處理器的性能不足,也隨著x86處理器在性能上的飛速提高得到了解決。由于x86架構(gòu)的廣泛普及,x86架構(gòu)上的虛擬化技術得到了比以前更大的關注。
x86平臺上虛擬化技術的實現(xiàn),***向人們展示了虛擬化應用的廣闊前景,因為x86平臺可以提供便宜的、高性能和高可靠性的服務器。更重要的是,一些用戶已經(jīng)開始配置虛擬化的生產(chǎn)環(huán)境,他們需要得到新的管理工具,從而隨著虛擬化技術的發(fā)展而得到更大的收益。
不過,與已經(jīng)有多年歷史的Unix服務器、大型主機上的虛擬化技術相比,x86服務器上的虛擬化仍舊處于早期階段--根據(jù)英特爾的藍圖,在處理器當中集成硬件輔助虛擬化指令只是IA平臺上的***步; 而在第二步則要實現(xiàn)I/O(輸入輸出)方面的虛擬化,直到***實現(xiàn)整個IA平臺的虛擬化。也就是說,目前的x86平臺上,僅僅能夠?qū)崿F(xiàn)在處理器級別的虛擬化,在I/O以及其他方面的虛擬化還需要進一步發(fā)展。不僅如此,x86架構(gòu)上的虛擬化技術還無法***實現(xiàn)虛擬分區(qū)之間動態(tài)遷移,而這些功能在Unix平臺、大型主機上早已不是問題。目前,x86架構(gòu)上的虛擬化技術的***規(guī)劃是支持8路SMP(對稱多處理)系統(tǒng),可以實現(xiàn)對單個CPU資源的配置。
自2006年以來,從處理器層面的AMD和英特爾到操作系統(tǒng)層面的微軟的加入,從數(shù)量眾多的第三方軟件廠商的涌現(xiàn)到服務器系統(tǒng)廠商的高調(diào),我們看到一個趨于完整的服務器虛擬化的產(chǎn)業(yè)生態(tài)系統(tǒng)正在逐漸形成。這也使得在過去一兩年時間里,虛擬化開始成為廣受關注的熱點話題。整體看來,隨著計算機新技術的飛速發(fā)展,虛擬化的前景和一年前相比幾乎徹底改變了,新的虛擬化平臺前景十分樂觀。
【編輯推薦】