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