似乎與所有顛覆性技術(shù)一樣,服務(wù)器虛擬化技術(shù)先是悄然出現(xiàn),然后突然迸發(fā),最終因?yàn)楣?jié)省能源的合并計(jì)劃而得到了認(rèn)可。如今,許多公司使用虛擬技術(shù)來提高硬件資源的利用率,進(jìn)行災(zāi)難恢復(fù)、提高辦公自動(dòng)化水平。本組文章分別從服務(wù)器、存儲(chǔ)、應(yīng)用程序和桌面虛擬化技術(shù)三個(gè)角度介紹了如何消除物理硬件的限制。
有了虛擬化技術(shù),用戶可以動(dòng)態(tài)啟用虛擬服務(wù)器(又叫虛擬機(jī)),每個(gè)服務(wù)器實(shí)際上可以讓操作系統(tǒng)(以及在上面運(yùn)行的任何應(yīng)用程序)誤以為虛擬機(jī)就是實(shí)際硬件。運(yùn)行多個(gè)虛擬機(jī)還可以充分發(fā)揮物理服務(wù)器的計(jì)算潛能,迅速應(yīng)對(duì)數(shù)據(jù)中心不斷變化的需求。
虛擬化概念并不是新概念。早在20世紀(jì)70年代,大型計(jì)算機(jī)就一直在同時(shí)運(yùn)行多個(gè)操作系統(tǒng)實(shí)例,每個(gè)實(shí)例也彼此獨(dú)立。不過直到最近,軟硬件方面的進(jìn)步才使得虛擬化技術(shù)有可能出現(xiàn)在基于行業(yè)標(biāo)準(zhǔn)的大眾化x86服務(wù)器上。
實(shí)際上,如今數(shù)據(jù)中心管理人員面臨的虛擬化解決方案種類繁多,有些是專有方案,而有些是開源方案?偟膩碚f,各自都基于以下三種基本技術(shù)當(dāng)中的一種,但哪種技術(shù)效果最好,這取決于要進(jìn)行虛擬化處理的具體工作負(fù)荷以及優(yōu)先業(yè)務(wù)目標(biāo)。
完全虛擬化
最流行的虛擬化方法使用名為hypervisor的一種軟件,在虛擬服務(wù)器和底層硬件之間建立一個(gè)抽象層。VMware和微軟的Virtual PC是代表該方法的兩個(gè)商用產(chǎn)品,而基于核心的虛擬機(jī)(KVM)是面向Linux系統(tǒng)的開源產(chǎn)品。
hypervisor可以捕獲CPU指令,為指令訪問硬件控制器和外設(shè)充當(dāng)中介。因而,完全虛擬化技術(shù)幾乎能讓任何一款操作系統(tǒng)不用改動(dòng)就能安裝到虛擬服務(wù)器上,而它們不知道自己運(yùn)行在虛擬化環(huán)境下。主要缺點(diǎn)是,hypervisor給處理器帶來開銷。
在完全虛擬化的環(huán)境下,hypervisor運(yùn)行在裸硬件上,充當(dāng)主機(jī)操作系統(tǒng);而由hypervisor管理的虛擬服務(wù)器運(yùn)行客戶端操作系統(tǒng)(guest OS)。
準(zhǔn)虛擬化
完全虛擬化是處理器密集型技術(shù),因?yàn)樗骽ypervisor管理各個(gè)虛擬服務(wù)器,并讓它們彼此獨(dú)立。減輕這種負(fù)擔(dān)的一種方法就是,改動(dòng)客戶操作系統(tǒng),讓它以為自己運(yùn)行在虛擬環(huán)境下,能夠與hypervisor協(xié)同工作。這種方法就叫準(zhǔn)虛擬化(para-virtualization)。
Xen是開源準(zhǔn)虛擬化技術(shù)的一個(gè)例子。操作系統(tǒng)作為虛擬服務(wù)器在Xen hypervisor上運(yùn)行之前,它必須在核心層面進(jìn)行某些改變。因此,Xen適用于BSD、Linux、Solaris及其他開源操作系統(tǒng),但不適合對(duì)像Windows這些專有的操作系統(tǒng)進(jìn)行虛擬化處理,因?yàn)樗鼈儫o法改動(dòng)。
準(zhǔn)虛擬化技術(shù)的優(yōu)點(diǎn)是性能高。經(jīng)過準(zhǔn)虛擬化處理的服務(wù)器可與hypervisor協(xié)同工作,其響應(yīng)能力幾乎不亞于未經(jīng)過虛擬化處理的服務(wù)器。準(zhǔn)虛擬化與完全虛擬化相比優(yōu)點(diǎn)明顯,以至于微軟和VMware都在開發(fā)這項(xiàng)技術(shù),以完善各自的產(chǎn)品。
操作系統(tǒng)層虛擬化
實(shí)現(xiàn)虛擬化還有一個(gè)方法,那就是在操作系統(tǒng)層面增添虛擬服務(wù)器功能。Solaris Container就是這方面的一個(gè)例子,Virtuozzo/OpenVZ是面向Linux的軟件方案。
就操作系統(tǒng)層的虛擬化而言,沒有獨(dú)立的hypervisor層。相反,主機(jī)操作系統(tǒng)本身就負(fù)責(zé)在多個(gè)虛擬服務(wù)器之間分配硬件資源,并且讓這些服務(wù)器彼此獨(dú)立。一個(gè)明顯的區(qū)別是,如果使用操作系統(tǒng)層虛擬化,所有虛擬服務(wù)器必須運(yùn)行同一操作系統(tǒng)(不過每個(gè)實(shí)例有各自的應(yīng)用程序和用戶賬戶)。
雖然操作系統(tǒng)層虛擬化的靈活性比較差,但本機(jī)速度性能比較高。此外,由于架構(gòu)在所有虛擬服務(wù)器上使用單一、標(biāo)準(zhǔn)的操作系統(tǒng),管理起來比異構(gòu)環(huán)境要容易。
硬件助力軟件
不像大型機(jī),PC的硬件在設(shè)計(jì)時(shí)并沒有考慮到虛擬化,而就在不久前,它還是完全由軟件來承擔(dān)這項(xiàng)重任。隨著AMD和英特爾推出了最新一代的x86處理器,頭一回在CPU層面添加了支持虛擬化的功能。
遺憾的是,這兩家公司的技術(shù)各自獨(dú)立開發(fā),這意味著它們的代碼不相兼容。不過,硬件虛擬化支持功能讓hypervisor從極其繁重的管理事務(wù)中脫離出來。 這除了提高性能外,還有操作系統(tǒng)不用改動(dòng)就能在準(zhǔn)虛擬化環(huán)境下運(yùn)行,包括Windows環(huán)境。
CPU層虛擬化技術(shù)不會(huì)自動(dòng)發(fā)揮作用。為了專門支持它,必須開發(fā)虛擬化軟件。不過,因?yàn)檫@種技術(shù)的優(yōu)點(diǎn)非常誘人,預(yù)計(jì)各種類型的虛擬化軟件會(huì)源源不斷地開發(fā)出來。
對(duì)三種技術(shù)的*價(jià)
每種虛擬化方法都有各自的優(yōu)點(diǎn),選擇哪個(gè)則取決于用戶的具體情況。一組服務(wù)器基于同一操作系統(tǒng),這非常適用于通過操作系統(tǒng)層實(shí)現(xiàn)合并。
準(zhǔn)虛擬化技術(shù)集兩者之所長,如果與支持虛擬化技術(shù)的處理器一起部署,優(yōu)點(diǎn)更為明顯。它不但提供了良好性能,還提供了可運(yùn)行多種異構(gòu)客戶端操作系統(tǒng)的功能。
在三種方法中完全虛擬化性能受到的影響最大,但提供了這個(gè)優(yōu)點(diǎn):既能讓客戶端操作系統(tǒng)彼此完全隔離,還能讓它們與主機(jī)操作系統(tǒng)完全隔離。它非常適用于軟件質(zhì)量保證及測(cè)試,另外還支持種類最廣泛的客戶端操作系統(tǒng)。
完全虛擬化解決方案提供了其他獨(dú)特功能。譬如說,它們可以對(duì)虛擬服務(wù)器拍“快照(snapshot)”,保留狀態(tài)、有助于災(zāi)難恢復(fù)。這種虛擬服務(wù)器映像可以用來迅速配置新的服務(wù)器實(shí)例。越來越多的軟件公司甚至開始提供*測(cè)版產(chǎn)品,作為可下載、預(yù)包裝的虛擬服務(wù)器映像。
就跟物理服務(wù)器一樣,虛擬服務(wù)器需要不斷得到支持和維護(hù)。越來越流行的服務(wù)器虛擬化已為第三方工具造就了興旺的市場(chǎng),無論是物理環(huán)境到虛擬環(huán)境的遷移實(shí)用程序,還是面向虛擬化技術(shù)的各大系統(tǒng)管理控制臺(tái),它們都旨在簡(jiǎn)化從傳統(tǒng)IT環(huán)境遷移到高效、具有成本效益的虛擬環(huán)境的過程。
來源:維庫開發(fā)網(wǎng)