在今天復(fù)雜的IT環(huán)境中,服務(wù)器虛擬化具有顯而易見的積極意義。冗余服務(wù)器硬件可以迅速補(bǔ)充進(jìn)企業(yè)的數(shù)據(jù)中心并形成容量;每一項(xiàng)新的采購(gòu)都會(huì)將電力和制冷成本一路推高。為解決這一問題,方法之一就是將物理服務(wù)器劃分到虛擬服務(wù)器中是恢復(fù)寧?kù)o并保持IT支持在受控的范圍內(nèi)。
利用虛擬化,您能夠以動(dòng)態(tài)方式啟動(dòng)和關(guān)閉虛擬服務(wù)器(也稱作虛擬機(jī)),每臺(tái)虛擬服務(wù)器基本上都會(huì)欺騙操作系統(tǒng)(以及任何在其上運(yùn)行的應(yīng)用),讓它們相信虛擬機(jī)就是實(shí)實(shí)在在的硬件。運(yùn)行多個(gè)虛擬機(jī)可以充分利用物理服務(wù)器的計(jì)算潛力 - 并且為不斷變化的數(shù)據(jù)中心需求提供快速響應(yīng)的機(jī)會(huì)。
虛擬化的概念由來已久。早在上世紀(jì)70年代,主流計(jì)算機(jī)就可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng)實(shí)例,每個(gè)系統(tǒng)都是相互獨(dú)立的。然而,直到最近,軟件和硬件方面的進(jìn)步才使虛擬化在符合行業(yè)標(biāo)準(zhǔn)的商品服務(wù)器上成為可能。
事實(shí)上,今天的數(shù)據(jù)中心經(jīng)理們已經(jīng)可以從令人目眩的眾多虛擬化解決方案自由選擇。有些方案是專有的,另外一些則是開源的。多數(shù)解決方案都基于三種基本的技術(shù)之一;至于誰能夠產(chǎn)生最好的結(jié)果,還要看有待虛擬化的具體負(fù)載,及其運(yùn)行優(yōu)先等級(jí)。
完全虛擬化
在虛擬化的過程中,最常用的方法是使用一種稱為監(jiān)視程序的軟件,在虛擬服務(wù)器和下層硬件之間創(chuàng)建一個(gè)抽象層。VMware和Microsoft Virtual PC便是此類中兩種典型的商品化實(shí)例,而KVM(基于內(nèi)核的虛擬機(jī))是一種適用于Linux的開源產(chǎn)品。
監(jiān)視程序會(huì)捕獲CPU指令,并協(xié)調(diào)硬件控制器和外設(shè)的存取。因此,完全虛擬化可允許幾乎任意操作系統(tǒng)安裝在虛擬服務(wù)器上,而且無需對(duì)操作系統(tǒng)做任何的修改,操作系統(tǒng)也不會(huì)感知自己是在一個(gè)虛擬環(huán)境中運(yùn)行。這種作法的主要缺點(diǎn)是,監(jiān)視程序會(huì)產(chǎn)生處理器開銷,雖然很小但影響較大。
在一個(gè)完全虛擬化的環(huán)境中,監(jiān)視程序運(yùn)行在裸硬件上,并且擔(dān)當(dāng)主機(jī)操作系統(tǒng)的角色。由監(jiān)視程序管理的虛擬服務(wù)器則被稱為來賓服務(wù)器。
準(zhǔn)虛擬化
完全虛擬化是處理器密集型的,因?yàn)楸O(jiān)視程序需要管理多個(gè)虛擬服務(wù)器,并保持它們彼此獨(dú)立。減輕這種負(fù)擔(dān)的方法之一是對(duì)每個(gè)來賓操作系統(tǒng)進(jìn)行修改,使它能夠意識(shí)到自己是在虛擬環(huán)境中運(yùn)行,并且能夠與監(jiān)視程序合作。這種方法被稱為準(zhǔn)虛擬化。
Xen是開源準(zhǔn)虛擬化技術(shù)的典型例子。由于操作系統(tǒng)在Xen監(jiān)視程序上作為虛擬服務(wù)器運(yùn)行,它必須在內(nèi)核一級(jí)經(jīng)過特定的修改。因此,Xen非常適合用于BSD、Linux、Solaris和其它開源操作系統(tǒng),但它不適合虛擬化Windows等無法修改的專有系統(tǒng)。
準(zhǔn)虛擬化的優(yōu)勢(shì)在于性能。準(zhǔn)虛擬化的服務(wù)器在與監(jiān)視程序協(xié)調(diào)工作時(shí),其響應(yīng)能力幾乎與未虛擬化的服務(wù)器一樣。與完全虛擬化相比,準(zhǔn)虛擬化的好處非常誘人,因此微軟和VMware都開始研究準(zhǔn)虛擬化技術(shù),為各自的產(chǎn)品提供補(bǔ)充。
服務(wù)器虛擬化的面目
在服務(wù)器虛擬化中,監(jiān)視程序充當(dāng)主機(jī)操作系統(tǒng),而來賓操作系統(tǒng)的實(shí)例及其應(yīng)用會(huì)運(yùn)行在自己的虛擬機(jī)上。因此,一臺(tái)服務(wù)器能夠完成更多的工作,而且能夠針對(duì)不斷變化的負(fù)載及時(shí)做出響應(yīng)。
完全虛擬化 準(zhǔn)虛擬化 操作系統(tǒng)級(jí)虛擬化
監(jiān)視程序可以同時(shí)運(yùn)行多個(gè)不同操作系統(tǒng)的虛擬實(shí)例,而且虛擬服務(wù)器不需要知道自己是運(yùn)行在一個(gè)虛擬環(huán)境中。 在這里,操作系統(tǒng)的版本經(jīng)過了特別的修改,使之能夠與監(jiān)視程序合作,因此可提供更高的性能。 在這種情況下,虛擬服務(wù)器仍然是彼此隔離開的,但它們都運(yùn)行在同一個(gè)操作系統(tǒng)上,而操作系統(tǒng)則內(nèi)建有監(jiān)視程序。
操作系統(tǒng)級(jí)虛擬化
還有一種實(shí)現(xiàn)虛擬化的方法就是將虛擬服務(wù)器的能力內(nèi)建在操作系統(tǒng)一級(jí)上。Solaris Containers就是一個(gè)典型的例子,還有Virtuozzo/OpenVZ也可以在Linux上實(shí)現(xiàn)類似的功能。
有了操作系統(tǒng)級(jí)的虛擬化,就不再需要獨(dú)立的監(jiān)視程序?qū)?。相反,主機(jī)操作系統(tǒng)本身會(huì)負(fù)責(zé)硬件資源在多個(gè)虛擬服務(wù)器間的分配,并且保護(hù)服務(wù)器之間彼此獨(dú)立。操作系統(tǒng)級(jí)虛擬化最明顯的特點(diǎn)是,所有的虛擬服務(wù)器都必須運(yùn)行在同一個(gè)操作系統(tǒng)中(不過每個(gè)實(shí)例都有其自己的應(yīng)用和用戶賬戶)。
操作系統(tǒng)級(jí)虛擬化會(huì)喪失一些靈活性,但從根本上取得了更高的速度性能。此外,在所有虛擬服務(wù)器上使用單一標(biāo)準(zhǔn)操作系統(tǒng)的架構(gòu)也要比異型環(huán)境更容易管理。
更簡(jiǎn)單,但更強(qiáng)大
與大型機(jī)不同,PC硬件在設(shè)計(jì)時(shí)并沒有考慮到虛擬化,因此直到最近只能由軟件來承擔(dān)這一負(fù)擔(dān)。但在最新一代的x86處理器上,AMD和Intel都首次在CPU層添加了虛擬化支持。
不幸的是,兩家公司的技術(shù)都是獨(dú)立開發(fā)的,這意味著它們?cè)诖a上互不兼容,不過它們都可以提供類似的好處。通過承擔(dān)虛擬服務(wù)器對(duì)I/O通道和硬件資源的管理職責(zé),硬件虛擬化支持解除了監(jiān)視程序所承擔(dān)的照看職責(zé)。除改善性能外,包括Windows在內(nèi)的操作系統(tǒng)未經(jīng)修改即可在準(zhǔn)虛擬環(huán)境中運(yùn)行。
CPU級(jí)的虛擬化并不會(huì)自動(dòng)啟用。必須編寫出虛擬化軟件才能對(duì)其提供特定的支持。然而,由于這些技術(shù)的優(yōu)勢(shì)非常誘人,所有類型的虛擬化軟件都將會(huì)在不久的將來支持這些技術(shù)。
虛擬工具箱
根據(jù)所處情況的不同,每一種虛擬化方法都有自己的優(yōu)勢(shì)。如果有一組服務(wù)器都基于相同的操作,則比較適合使用操作系統(tǒng)級(jí)的虛擬化,但其它的技術(shù)也有自己的優(yōu)點(diǎn)。
準(zhǔn)虛擬化在兩個(gè)世界中都能夠很好地發(fā)揮作用,尤其是部署在虛擬化感知處理器的環(huán)境中。它可以提供良好的性能,以及在異型來賓操作系統(tǒng)構(gòu)成的混合環(huán)境中運(yùn)行的能力。
在這三種方法中,完全虛擬化對(duì)性能造成的影響是最大的,但它的優(yōu)勢(shì)在于,來賓操作系統(tǒng)之間是完全隔離的,而且與主機(jī)操作系統(tǒng)也是隔離的。這種方法非常適合用于軟件質(zhì)量保障及測(cè)試,同時(shí)它還可以支持范圍最廣泛的來賓操作系統(tǒng)。
完全虛擬化解決方案還可以提供其它一些特有的能力。例如,它們可以拍攝虛擬服務(wù)器的"快照",保存其狀態(tài)并有助于實(shí)現(xiàn)災(zāi)難恢復(fù)。這些虛擬服務(wù)器鏡像可用于更快供應(yīng)新的服務(wù)器實(shí)例,而且有越來越多的軟件公司甚至開始提供評(píng)估版的預(yù)先打包虛擬服務(wù)器鏡像供用戶下載。
需要記住的是,虛擬服務(wù)器需要不斷的后續(xù)支持和維護(hù),就像物理服務(wù)器一樣。這一點(diǎn)非常重要。服務(wù)器虛擬化的日益普及已經(jīng)催生出一個(gè)非常繁榮的第三方工具市場(chǎng),其內(nèi)容從物理至虛擬遷移實(shí)用程序,到主要系統(tǒng)管理控制臺(tái)的面向虛擬化版本,所有這些工具的目的都是簡(jiǎn)化從傳統(tǒng)IT環(huán)境到高效、高成本效益虛擬環(huán)境的過渡進(jìn)程。