轉(zhuǎn)帖|對(duì)比評(píng)測|編輯:郝浩|2015-11-03 09:51:27.000|閱讀 1420 次
概述:在傳統(tǒng)服務(wù)模式下,可以想象服務(wù)器就是IT的寵物(Pets),給他們?nèi)∶?,?心撫養(yǎng)長大,當(dāng)他們生病了,你得修復(fù)他們;在新形態(tài)的應(yīng)用服務(wù)模型中,虛擬機(jī)被看做是農(nóng)場中的公牛(Cattle),名字通常都是編號(hào),當(dāng)他們生病了,你就殺掉他,用一頭新牛代替。VMWare和OpenStack的云計(jì)算Vision、功能、特點(diǎn)對(duì)比正式這個(gè)戰(zhàn)爭或者說趨勢(shì)的一個(gè)生動(dòng)寫照。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在Cloud領(lǐng)域,我們討論最多的就是VMware與OpenStack的對(duì)比。事實(shí)上,這也是那些想使用OpenStack的人們熱議的話題。我已經(jīng)在 SF Bay OpenStack會(huì)議中多次針對(duì)這個(gè)話題做了討論,會(huì)議中很多朋友都希望我把這些討論寫下來。為了讓讀者能夠更好地了解本文的內(nèi)容,我決定通過兩大云計(jì)算產(chǎn)品在數(shù)據(jù)中心應(yīng)用的關(guān)鍵點(diǎn)對(duì)比的方式去完成本文的內(nèi)容,內(nèi)容可能包括:開放與非開放的軟件系統(tǒng),企業(yè)級(jí)傳統(tǒng)應(yīng)用與云計(jì)算應(yīng)用,自由軟件與授權(quán)軟件,通過嚴(yán)格功能測試的產(chǎn)品與開放性功能的產(chǎn)品等。
本文中內(nèi)容具體包括以下幾個(gè)部分:設(shè)計(jì)、功能集、客戶用例和價(jià)值,每點(diǎn)都以十分來評(píng)價(jià),最終我們將以總分來決定贏家。
VMware 軟件套件是自底向上的架構(gòu),下端邊界為虛擬機(jī)管理器。像VMware的vSphere和vCloud director產(chǎn)品都是依賴于免費(fèi)的ESX(i) 虛擬機(jī)管理器, ESX(i)虛擬機(jī)管理器為他們提供了非常優(yōu)秀的部署架構(gòu)。本身VMware的軟件套件也是經(jīng)過全面測試過的,并且都有單一部署框架??偟膩碚f,VMware的產(chǎn)品由于其架構(gòu)的健壯性,很多高規(guī)格用戶在多數(shù)據(jù)中心規(guī)模的環(huán)境中都有使用。換句話說,VMware的軟件系統(tǒng)是封閉的,并且軟件的發(fā)展路線是完全遵循VMware自己的發(fā)展目標(biāo),用戶或消費(fèi)者在此方面沒有任何控制權(quán)。
OpenStack作為一個(gè)開源系統(tǒng),沒有任何一家單獨(dú)的公司在控制OpenStack的發(fā)展路線。本身OpenStack是年輕的,還不滿三周歲,但是他卻具有巨大的市場動(dòng)力,與此同時(shí),很多大公司都在支持OpenStack發(fā)展(詳見:OpenStack支持者)。有了如此多公司的資源投入,OpenStack的發(fā)展是多元化的。然而這也帶來了問題,就是OpenStack部署和架構(gòu)的實(shí)施和維護(hù)成本較比VMware有了陡然提高,與此同時(shí),由于相對(duì)快速的版本更新速度,技術(shù)支持文檔不能跟上產(chǎn)品的腳步。
VMware在設(shè)計(jì)方面稍占優(yōu)勢(shì),這源于它優(yōu)秀的文檔資料以及便捷易用的部署和管理接口。OpenStack在這個(gè)方面也在緊追不舍,并且在硬件和虛擬機(jī)管理層其保持了它自身的靈活性,更是提供了多廠商支持。
VMware vMotion
vMotion 是vSphere DRS、DPM和主機(jī)維護(hù)三大功能的合集。其中虛擬機(jī)動(dòng)態(tài)遷移允許將一臺(tái)虛擬機(jī)在零關(guān)機(jī)的情況下由一臺(tái)宿主機(jī)遷移到另一臺(tái)上,這原本是需要共享存儲(chǔ)的支持的,但在vSphere 5.1中,VMware已經(jīng)不需要通過共享存儲(chǔ)實(shí)現(xiàn)動(dòng)態(tài)遷移了。當(dāng)一臺(tái)虛擬機(jī)由一個(gè)宿主機(jī)遷移到另一個(gè)上時(shí),虛擬機(jī)的內(nèi)存狀態(tài)和數(shù)據(jù)都要同步遷移過去。如果是共享存儲(chǔ)的情況,實(shí)際上數(shù)據(jù)是不需要進(jìn)行遷移的,只需要變化指向數(shù)據(jù)存儲(chǔ)的鏈接而已。這在加速了遷移速度的同時(shí)也減少了在復(fù)制過程中網(wǎng)絡(luò)的負(fù)載。
OpenStack 動(dòng)態(tài)遷移
KVM 動(dòng)態(tài)遷移允許一個(gè)虛擬機(jī)由一個(gè)虛擬機(jī)管理器遷移到另一個(gè),說的詳細(xì)一點(diǎn),你可以來來回回將一臺(tái)虛擬機(jī)在AMD架構(gòu)主機(jī)與Intel架構(gòu)主機(jī)上進(jìn)行遷移,但是需要注意的是,64位的虛擬主機(jī)只能被遷移到64位的宿主機(jī)上,但是32位的則有32位和64位兩種選擇。在動(dòng)態(tài)遷移過程中,不能再對(duì)虛擬機(jī)進(jìn)行操作,但是虛擬機(jī)內(nèi)的用戶還是可以在虛擬機(jī)內(nèi)部繼續(xù)進(jìn)行工作的。KVM主要還是依賴于共享存儲(chǔ),某種程度上,這相對(duì)來說是需要一些資金投入的。
動(dòng)態(tài)遷移需求:
OpenStack塊存儲(chǔ)遷移
在 OpenStack當(dāng)中,KVM支持塊存儲(chǔ)遷移,這也就是說虛擬機(jī)遷移不是必須需要共享存儲(chǔ)的支持的。在塊遷移的場景下,虛擬機(jī)的內(nèi)存狀態(tài)與數(shù)據(jù)都將被遷移,但是遷移操作也需要消耗兩端的CPU資源并且操作花費(fèi)時(shí)間較比共享存儲(chǔ)來說要長一些。在某些用戶場景當(dāng)中,如果我們比較關(guān)注于主機(jī)的可維護(hù)性,并且不想花費(fèi)過多經(jīng)費(fèi),那么應(yīng)用塊存儲(chǔ)遷移將是好的解決方案。同時(shí),如果在沒有共享存儲(chǔ)的環(huán)境中,我們想對(duì)計(jì)算節(jié)點(diǎn)進(jìn)行內(nèi)核維護(hù)、安全升級(jí),那么保證虛擬機(jī)服務(wù)不被打斷,塊存儲(chǔ)遷移也是理想選擇。
用戶場景:
用戶沒有分布式文件系統(tǒng),可能是由于企業(yè)的資金支持或者網(wǎng)絡(luò)延遲,但是卻想實(shí)現(xiàn)虛擬機(jī)的高可用性。
VMware DRS 和 DPM
基于vMotion,DRS可以動(dòng)態(tài)監(jiān)控虛機(jī)機(jī)及宿主機(jī)的當(dāng)前使用狀況,并且為宿主機(jī)的負(fù)載均衡提供支持。
用戶場景:
基于vMotion, DPM將虛擬機(jī)從低負(fù)載宿主機(jī)遷移掉,并且關(guān)閉以達(dá)到減少電能損耗。當(dāng)負(fù)載增長,DPM將宿主機(jī)重啟,并且部署新的虛擬機(jī)以滿足負(fù)載需要。
OpenStack 調(diào)度器
OpenStack 包含了對(duì)于compute和volume的調(diào)度器,通過一系列的管理員設(shè)定的規(guī)則參數(shù)和過濾器,OpenStack調(diào)度器將虛擬機(jī)部署到合適的宿主機(jī)上。在過濾器方面,調(diào)度器是非常靈活的,用戶可以自己完成JSON格式的過濾器,并且過濾器還包含很多預(yù)定義的過濾器。雖然OpenStack調(diào)度器非常靈活,但是還是不能完全替代DRS,原因如下:
調(diào)度器用于選擇哪個(gè)宿主機(jī)進(jìn)行虛擬機(jī)部署的靜態(tài)參考數(shù)據(jù)來源于Nova的數(shù)據(jù)庫。換句話說,就是發(fā)現(xiàn)宿主機(jī)已經(jīng)有了4臺(tái)虛擬機(jī)了,那么我們需要選擇一個(gè)新的宿主機(jī)去部署下一臺(tái)虛擬機(jī)。
調(diào)度器只能在虛擬機(jī)部署階段影響部署的位置,一旦部署完成,虛擬機(jī)運(yùn)行后則無法挪動(dòng)虛擬機(jī)了。如果需要基于動(dòng)態(tài)數(shù)據(jù)進(jìn)行調(diào)度,那么調(diào)度器需要與外部監(jiān)控解決方案如Nagios合作??偠?之,目前OpenStack調(diào)度器將只會(huì)對(duì)部署虛擬機(jī)環(huán)節(jié)有影響。
VMware High Availability(高可用)
在 vSphere中,虛擬機(jī)級(jí)別的高可用性是允許在虛擬機(jī)或者ESX(i)主機(jī)出錯(cuò)時(shí),在不同宿主機(jī)部署相同的虛擬機(jī)。這里不要和容錯(cuò)(FT)機(jī)制混淆,高可用的意義在于當(dāng)有一些東西出錯(cuò)了,可以在一定時(shí)間內(nèi)自我修復(fù)。高可用是在硬件出問題的時(shí)候保證虛擬機(jī)的正常個(gè)工作,如果真的出錯(cuò)了,那么只能在不同的 ESX(i)主機(jī)上啟動(dòng)虛擬機(jī),這也可能造成服務(wù)的中斷。
OpenStack High Availability(高可用)
目前并沒有官方聲明OpenStack支持虛擬機(jī)級(jí)別的高可用性,這個(gè)特性在Folsom版本被提出,但是后續(xù)又被放棄了。目前OpenStack有一個(gè)孵化項(xiàng)目Evacuate, 其作用是為OpenStack提供虛擬機(jī)級(jí)別高可用支持。
VMware Fault Tolerance(容錯(cuò))
VMware容錯(cuò)機(jī)制是通過監(jiān)控虛擬機(jī)的狀態(tài)和所有變化,將這些變化同步到第二臺(tái)備份ESX(i)服務(wù)器之上。容錯(cuò)的概念在于無論是主還是從宿主機(jī)出現(xiàn)問題,只要一方能正常工作,那么宿主機(jī)上的虛擬機(jī)都保持正常工作。拋開營銷中的噱頭,這種機(jī)制還是無法解決虛擬機(jī)中的應(yīng)用程序崩潰,因?yàn)橐坏┮环奖罎?,則這個(gè)變化也會(huì)同步到從節(jié)點(diǎn),當(dāng)你停止虛擬機(jī)的服務(wù)去修復(fù)它,從節(jié)點(diǎn)也會(huì)同樣停止服務(wù)。所以這個(gè)機(jī)制只能保證單點(diǎn)失效的問題不再出現(xiàn),而真正的應(yīng)用層面的容錯(cuò)則需要MSCS或者WCS來解決??紤]到其他方面如最高資源使用、內(nèi)存、硬盤、CPU、帶寬的容錯(cuò),這些方面都有局限性,并且是使用量相對(duì)比較小的功能。如實(shí)現(xiàn)這些則這需要雙倍的內(nèi)存,由于內(nèi)存不能跨主機(jī)復(fù)制,并且還需要CPU lockstepping去同步每一個(gè)CPU指令。這將導(dǎo)致只有單獨(dú)一個(gè)虛擬CPU被容錯(cuò)機(jī)制所監(jiān)控。
OpenStack Fault Tolerance(容錯(cuò))
在OpenStack中沒有針對(duì)于容錯(cuò)的功能,并且截至目前也沒有計(jì)劃去完成這些功能。未來,KVM也不再支持鏡像操作功能。
我們可以看到,在功能的支持方面和功能細(xì)節(jié),OpenStack與VMware還是有差距的,但是這對(duì)OpenStack還是有優(yōu)勢(shì)的,因?yàn)檩^比 VMware的昂貴價(jià)格,OpenStack免費(fèi)、開放的優(yōu)勢(shì)顯現(xiàn)出來。VMware高投入帶來的功能,OpenStack大部分可以免費(fèi)提供給客戶。
從VMware在功能方面的領(lǐng)先可以看出,VMware還在繼續(xù)研發(fā)除了vMotion、高可用、容錯(cuò)以外其他的新功能去保護(hù)他們的虛擬機(jī);OpenStack一方面跟隨VMware的腳步,另一方面他們投入精力在支持更多硬件廠商解決方案的上面。
本文轉(zhuǎn)載自
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn