KVM虛擬化技術(shù)發(fā)展史及未來(lái)
發(fā)布時(shí)間:2012-8-132008年9月,紅帽收購(gòu)了一家名叫Qumranet的以色列小公司,由此入手了一個(gè)叫做KVM的虛擬化技術(shù)(KVM,全稱(chēng)Kernel-based Virtual Machine,意為基于內(nèi)核的虛擬機(jī))。當(dāng)時(shí)的虛擬化市場(chǎng)上主要以VMware為主,而KVM只是在Ubuntu等非商用發(fā)行版上獲得了一些關(guān)注。
2009年9月,紅帽發(fā)布其企業(yè)級(jí)Linux的5.4版本(RHEL 5.4),在原先的Xen虛擬化機(jī)制之上,將KVM添加了進(jìn)來(lái)。
2010年11月,紅帽發(fā)布其企業(yè)級(jí)Linux的6.0版本(RHEL 6.0),這個(gè)版本將默認(rèn)安裝的Xen虛擬化機(jī)制徹底去除,僅提供KVM虛擬化機(jī)制。
2011年初,紅帽的老搭檔IBM找上紅帽,表示KVM這個(gè)東西值得加大力度去做。于是到了5月,IBM和紅帽,聯(lián)合惠普和英特爾一起,成立了開(kāi)放虛擬化聯(lián)盟(Open Virtualization Alliance),一起聲明要提升KVM的形象,加速KVM投入市場(chǎng)的速度,由此避免VMware一家獨(dú)大的情況出現(xiàn)。聯(lián)盟成立之時(shí),紅帽的發(fā)言人表示,“大家都希望除VMware之外還有一種開(kāi)源選擇。未來(lái)的云基礎(chǔ)設(shè)施一定會(huì)基于開(kāi)源。……我們想要營(yíng)造一個(gè)小廠(chǎng)商們可以輕松加入的生態(tài)環(huán)境。”
于是,開(kāi)放虛擬化聯(lián)盟紅紅火火的成立了。從5月到8月這短短3個(gè)月間,開(kāi)放虛擬化聯(lián)盟的成員已經(jīng)增加到將近300個(gè),聯(lián)盟發(fā)展的速度十分可觀(guān)。IBM現(xiàn)在全線(xiàn)硬件都對(duì)紅帽Linux和KVM進(jìn)行了大量的優(yōu)化,有60多名開(kāi)發(fā)者專(zhuān)門(mén)開(kāi)發(fā)KVM相關(guān)的代碼。
原本采用Xen技術(shù)的紅帽,為什么會(huì)想要再去搞一個(gè)KVM?而在虛擬化方面一直以來(lái)和Vmware、思杰、微軟都有著緊密合作的IBM,為什么會(huì)對(duì)紅帽的KVM展現(xiàn)出這樣大的興趣?這一切,還需要從整個(gè)虛擬化,乃至云計(jì)算市場(chǎng)的發(fā)展說(shuō)起……
虛擬化發(fā)展簡(jiǎn)史
虛擬化技術(shù)最早出現(xiàn)在大型機(jī)時(shí)代。上世紀(jì)60年代,IBM開(kāi)始在其CP-40大型機(jī)系統(tǒng)中嘗試虛擬化的實(shí)現(xiàn),后來(lái)在System/360-67中采用,并衍生出VM/CMS到后來(lái)的z/VM等產(chǎn)品線(xiàn)。大型機(jī)上的虛擬化技術(shù)在之后20多年的發(fā)展中愈發(fā)成熟,但隨著小型機(jī)以及x86的流行,大型機(jī)在新興的服務(wù)器市場(chǎng)中已經(jīng)失去了影響力。
由于處理器架構(gòu)的不同,在大型機(jī)上已經(jīng)成熟的虛擬化技術(shù)卻并不能為小型機(jī)及x86所用。直到2001年,VMware發(fā)布了第一個(gè)針對(duì)x86服務(wù)器的虛擬化產(chǎn)品。之后的幾年間,英國(guó)劍橋大學(xué)的一位講師發(fā)布了同樣針對(duì)x86虛擬化的開(kāi)源虛擬化項(xiàng)目Xen,并成立XenSource公司;惠普發(fā)布了針對(duì)HP-UX的Integrity虛擬機(jī);Sun跟Solaris 10一同發(fā)布了同時(shí)支持x86/x64和SPARC架構(gòu)的Solaris Zone;而微軟也終于在2008年發(fā)布的Windows Server 2008 R2中加入了Hyper-V。期間,VMware被EMC收購(gòu),XenSource則被思杰收購(gòu)。
之后的幾年間,VMware逐漸在企業(yè)級(jí)市場(chǎng)中被廣泛的接受,Xen也逐漸在互聯(lián)網(wǎng)領(lǐng)域展露頭角。在成熟的服務(wù)器操作系統(tǒng)當(dāng)中,Novell SUSE Linux Enterprise 10是第一個(gè)采用Xen技術(shù)的。當(dāng)時(shí)的Xen還很不成熟,乃至于紅帽還為此取笑了Novell一番;不過(guò)幾個(gè)月后,到了RHEL 5.0發(fā)布的時(shí)候,紅帽決定也將Xen加入到自己的默認(rèn)特性當(dāng)中——那是2006年,也就是5年之前。一時(shí)之間,在Linux服務(wù)器領(lǐng)域,Xen似乎成為了VMware之外的最佳虛擬化選擇(事實(shí)上也沒(méi)多少其他可選的)。
但是,作為一項(xiàng)Linux平臺(tái)上的虛擬化技術(shù),Xen在很長(zhǎng)一段時(shí)間內(nèi)一直沒(méi)有被接受到Linux內(nèi)核的代碼當(dāng)中,這對(duì)于Xen的維護(hù)者而言,不僅意味著要多做很多工作,還意味著用戶(hù)在廢了半天勁裝好Xen之后可能遇到意想不到的問(wèn)題(注:2011年6月發(fā)布的Linux內(nèi)核3.0中已經(jīng)加入了對(duì)Xen的支持——Xen的工程師們表示這是清理了7年遺留代碼、提交了600多個(gè)補(bǔ)丁的成果)。而紅帽方面,也許是因?yàn)楫?dāng)時(shí)對(duì)這種脫離內(nèi)核的維護(hù)方式很不爽,也許是因?yàn)椴捎肵en的RHEL在企業(yè)級(jí)虛擬化方面沒(méi)有贏(yíng)得太多的市場(chǎng),也許是因?yàn)樗冀芨④涀叩奶,種種原因,導(dǎo)致其萌生了放棄Xen的心思。事實(shí)上,當(dāng)時(shí)整個(gè)Xen的市場(chǎng)表現(xiàn)的確一般,2008年Hyper-V推出的時(shí)候,甚至有評(píng)論猜測(cè)思杰自己都會(huì)拋棄Xen而投奔Hyper-V(當(dāng)然,思杰后來(lái)在官方博客上否認(rèn)了這個(gè)猜測(cè),表示自己和微軟只是合作的比較親密而已)。
總之,紅帽決定選擇了一個(gè)新興的、基于內(nèi)核的虛擬化技術(shù):KVM。而且在正式采用KVM一年后,就宣布在新的產(chǎn)品線(xiàn)中徹底放棄Xen,集中資源和精力進(jìn)行KVM的工作。
那么,除了是Linux內(nèi)核的一部分之外,KVM到底有啥好處?2008年的時(shí)候,紅帽發(fā)言人表示,KVM相比Xen有著更好的可管理性以及更高的性能。性能這一點(diǎn)需要基準(zhǔn)測(cè)試來(lái)說(shuō)話(huà),不過(guò)不同的基準(zhǔn)測(cè)試會(huì)給出不同的結(jié)果,所以性能方面孰優(yōu)孰劣很難一概而論;可管理性方面,紅帽在大規(guī)模服務(wù)器自動(dòng)化管理方面倒是一直很有一些心得,而且相關(guān)的工具大多是免費(fèi)開(kāi)源的,這點(diǎn)很不錯(cuò)。具體有哪些工具,可以查詢(xún)KVM的這個(gè)頁(yè)面,以及Xen的維基頁(yè)面。
當(dāng)然,KVM本身也有一些弱點(diǎn),那就是相比裸金屬虛擬化架構(gòu)的Xen、VMware ESX和Hyper-V,KVM是運(yùn)行在Linux內(nèi)核之上的寄居式虛擬化架構(gòu),會(huì)消耗比較多的計(jì)算資源;不過(guò)針對(duì)這一點(diǎn),Intel、AMD已經(jīng)在處理器設(shè)計(jì)上有專(zhuān)門(mén)的VT-x和AMD-V擴(kuò)展,這種特性在每次硬件更新的時(shí)候也會(huì)更新,往往每次更新后都對(duì)虛擬化性能和速度上有明顯的提升,所以長(zhǎng)遠(yuǎn)來(lái)看,也不是什么大問(wèn)題。
圖 裸金屬虛擬化架構(gòu)(左)與寄居式虛擬化架構(gòu)(右)
紅帽的思路理清楚了,至于IBM是怎么想的呢?其實(shí)也不難理解,因?yàn)閂Mware目前在虛擬化(繼而到云計(jì)算)領(lǐng)域的發(fā)展勢(shì)頭,和上世紀(jì)80、90年代那會(huì)兒微軟Windows在PC領(lǐng)域的情況實(shí)在太像了。一個(gè)只有VMware的虛擬化市場(chǎng),絕不是IBM希望看到的結(jié)果。
不過(guò),KVM技術(shù)到現(xiàn)在也不過(guò)發(fā)展了三年多的時(shí)間,要知道VMware可是發(fā)展了十年,這個(gè)技術(shù)的成熟度,難免令人產(chǎn)生疑問(wèn):現(xiàn)在在數(shù)據(jù)中心里用KVM,靠譜嗎?
IBM高管:KVM在數(shù)據(jù)中心已經(jīng)足夠成熟
藍(lán)色巨人一直以來(lái)似乎對(duì)紅帽子選擇的技術(shù)一向都十分看好。從上世紀(jì)90年代的Linux商業(yè)化,各種Linux on system x/p/i/z,到這次的KVM,IBM跟紅帽一直走的很近。從1999年雙方建立合作關(guān)系開(kāi)始,IBM的各個(gè)硬件產(chǎn)品線(xiàn)都對(duì)紅帽Linux進(jìn)行了很多的優(yōu)化,甚至在各方都認(rèn)為KVM還不夠成熟的時(shí)候,就將其采用為IBM Smart Business Enterprise Cloud云計(jì)算服務(wù)的底層虛擬化機(jī)制,并已經(jīng)發(fā)展了一部分公共單位的用戶(hù)(比如巴西的高速公路管理系統(tǒng))。IBM系統(tǒng)軟件部市場(chǎng)與銷(xiāo)售副總裁,同時(shí)也是開(kāi)放虛擬化聯(lián)盟委員會(huì)成員之一的Inna Kuznetsova向51CTO編輯表示,“2010年,如果你問(wèn)我KVM是否已經(jīng)足夠成熟到在數(shù)據(jù)中心使用,我還會(huì)表示懷疑;但是現(xiàn)在,我可以說(shuō)KVM已經(jīng)對(duì)數(shù)據(jù)中心做好了準(zhǔn)備。”
IBM系統(tǒng)軟件部市場(chǎng)與銷(xiāo)售副總裁Inna Kuznetsova
紅帽方面就更不用說(shuō)了。紅帽大中華區(qū)總裁潘應(yīng)麟先生對(duì)51CTO編輯表示,云計(jì)算時(shí)代的IT已經(jīng)從提供解決方案逐漸變成了按需提供服務(wù)。中國(guó)的虛擬化市場(chǎng)發(fā)展的很快,而且企業(yè)的規(guī)模、需求各自不同,需要更加個(gè)性化、更加靈活、交付更加快速的服務(wù),而基于KVM,就可以滿(mǎn)足這一點(diǎn)。通過(guò)成立聯(lián)盟,提供技術(shù)與市場(chǎng)支持,可以吸引更多的ISV加入到KVM的平臺(tái)上,形成一個(gè)應(yīng)用生態(tài)環(huán)境,那么KVM成熟和普及的速度將會(huì)越來(lái)越快。從RHEL 6僅支持KVM這點(diǎn),其實(shí)也能看出紅帽對(duì)KVM成熟度的認(rèn)可。
紅帽大中華區(qū)總裁潘應(yīng)麟先生
不過(guò),一線(xiàn)的IT運(yùn)維們對(duì)于這個(gè)說(shuō)法似乎還表示質(zhì)疑!洞笤(huà)IT》的負(fù)責(zé)人之一王文文曾經(jīng)在做一期節(jié)目的時(shí)候?qū)ふ乙粋(gè)KVM的用戶(hù),問(wèn)了19個(gè)運(yùn)維都在用VMware,直到第20個(gè)才找到一位KVM的用戶(hù),雖然這一位用戶(hù)對(duì)KVM表示非常支持,但其他19位還都不怎么看好KVM;筆者自己也問(wèn)過(guò)一些一線(xiàn)運(yùn)維工程師的意見(jiàn),他們表示在測(cè)試環(huán)境嘗試過(guò)KVM(用的系統(tǒng)多是CentOS),不過(guò)虛擬機(jī)建多了就會(huì)感覺(jué)很卡,不如Xen和VMware那樣穩(wěn)定。
還有一點(diǎn)也是用戶(hù)所擔(dān)心的,那就是紅帽在采用Xen的第四年后就宣布放棄了Xen,萬(wàn)一以后又放棄了KVM怎么辦?不過(guò)關(guān)于這點(diǎn),筆者認(rèn)為倒是無(wú)需太擔(dān)心。一來(lái)RHEL每一個(gè)版本的生命周期都有十年,RHEL 5會(huì)一直支持到2017年,如果不升級(jí)到RHEL 6,就不用擔(dān)心沒(méi)有Xen用的問(wèn)題;二來(lái)服務(wù)器虛擬化這個(gè)領(lǐng)域現(xiàn)在有力的競(jìng)爭(zhēng)者實(shí)在太少,除非紅帽學(xué)惠普針對(duì)webOS的做法,把KVM一扔,向VMware投降了,否則,紅帽在幾年內(nèi)放棄KVM是不太可能的事情。
其實(shí)作為用戶(hù),在進(jìn)行技術(shù)選型的時(shí)候難免會(huì)擔(dān)心這擔(dān)心那的,擔(dān)心產(chǎn)品不好,擔(dān)心技術(shù)用了之后支持跟不上,擔(dān)心廠(chǎng)商鎖入,擔(dān)心成本過(guò)高。KVM到底足夠成熟了嗎?我可以用KVM嗎?用戶(hù)有這些疑問(wèn)都是正常的,選型前做足測(cè)試也是應(yīng)該的?陀^(guān)來(lái)說(shuō),現(xiàn)在的KVM肯定沒(méi)有VMware和Xen那樣成熟,Kuznetsova也說(shuō)了,比如在低延時(shí)、高網(wǎng)絡(luò)I/O方面,KVM做的還不夠好。目前能保證的,就是在用戶(hù)有需求的時(shí)候,KVM能夠在一臺(tái)宿主機(jī)上創(chuàng)建超過(guò)300臺(tái)虛擬機(jī),并有可能實(shí)現(xiàn)理論上的最大可擴(kuò)展性(參考開(kāi)放虛擬化聯(lián)盟官網(wǎng));而在開(kāi)放虛擬化聯(lián)盟,紅帽和IBM會(huì)提供有關(guān)KVM的各種文檔,并盡力營(yíng)造技術(shù)社區(qū)的支持氛圍。
但是,除了上面這些之外,用戶(hù)們也應(yīng)該時(shí)刻考慮一個(gè)問(wèn)題:我愿意接受一個(gè)只有VMware的虛擬化市場(chǎng)嗎?正如同Kuznetsova所說(shuō)的那樣:“我們只是希望能夠?yàn)榭蛻?hù)提供另一個(gè)選擇。”
【返回】