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