最近籠統(tǒng)地學(xué)習(xí)和試用了幾款比較有名的虛擬化管理軟件。學(xué)習(xí)的內(nèi)容包括Eucalyptus, OpenNebula, OpenStack, OpenQRM, XenServer, Oracle VM, CloudStack, ConVirt。借這一系列文章,對過去一個月的學(xué)習(xí)內(nèi)容作一個階段性的總結(jié)。
(1)授權(quán)協(xié)議、許可證管理、購買價格等方面的比較
| |
授權(quán)協(xié)議 |
許可證管理 |
商業(yè)模式 |
| Eucalyptus |
社區(qū)版采用GPLv3授權(quán)協(xié)議
企業(yè)版使用自定義的商業(yè)授權(quán)協(xié)議
|
社區(qū)版不需要安裝許可證
企業(yè)版需要在云控制器(CLC)節(jié)點上安裝許可證
|
社區(qū)版免費使用
企業(yè)版按處理器核心總數(shù)收費,用戶購買的許可證針對特定版本永久有效。
|
| OpenStack |
Apache 2.0授權(quán)協(xié)議 |
不需要許可證 |
免費使用 |
| OpenNebula |
Apache 2.0授權(quán)協(xié)議 |
不需要許可證 |
社區(qū)版免費使用
企業(yè)版將社區(qū)版重新打包,提供補丁等程序的訪問權(quán)限,使得用戶能夠更容易的安裝、配置和管理,以訂閱的模式提供服務(wù)。
企業(yè)版按物理服務(wù)器總數(shù)收費,每臺物理服務(wù)器器的服務(wù)價格為250歐元每年。
|
| OpenQRM |
社區(qū)版使用GPLv2授權(quán)協(xié)議
企業(yè)版使用自定義的商業(yè)授權(quán)協(xié)議
|
不需要許可證 |
社區(qū)版免費使用
企業(yè)版將社區(qū)版重新打包,提供補丁等程序的訪問權(quán)限,使得用戶能夠更容易的安裝、配置和管理,以訂閱的模式提供服務(wù)?;尽?biāo)準(zhǔn)和高級服務(wù)的價格分別為480、960、1920歐元每月。
|
| XenServer |
Citrix XenServer系列產(chǎn)品均使用自定義的商業(yè)授權(quán)協(xié)議
基于XenServer的Xen Cloud Platform使用GPLv2授權(quán)協(xié)議
|
不管是XenServer還是Xen Cloud Platform都需要在每臺服務(wù)器安裝許可證
許可證每年更新一次
|
XenServer免費版本和開源版本的Xen Cloud Platform可以免費使用
XenServer高級版、企業(yè)版和白金版按物理服務(wù)器數(shù)量收費,分別是1000、2500和5000美元。購買的許可證針對特定版本永久有效
|
| Oracle VM |
Oracle VM Server是基于Xen開發(fā)的,使用GPLv2協(xié)議發(fā)布,從Oracle的網(wǎng)站可以下載到源代碼,但是Oracle并不宣傳這一點。
Oracle VM Manager使用自定義的商業(yè)授權(quán)協(xié)議。
Oracle VM VirtualBox的二進(jìn)制版本使用自定義的商業(yè)授權(quán)協(xié)議,源代碼使用GPLv2授權(quán)協(xié)議。
|
不需要許可證 |
免費使用,可以購買技術(shù)支持。技術(shù)支持的費用為每臺物理服務(wù)器8184人民幣每年。 |
| CloudStack |
社區(qū)版采用GPLv3授權(quán)協(xié)議企業(yè)版使用自定義的商業(yè)授權(quán)協(xié)議 |
社區(qū)版不需要安裝許可證
企業(yè)版需要在管理服務(wù)器上安裝許可證
|
社區(qū)版免費使用企業(yè)版提供增強功能和技術(shù)支持,收費模式不詳。 |
| ConVirt |
社區(qū)版使用GPLv2授權(quán)協(xié)議
企業(yè)版使用自定義的商業(yè)授權(quán)協(xié)議
|
社區(qū)版不需要安裝許可證
企業(yè)版需要在管理服務(wù)器上安裝許可證
|
社區(qū)版免費使用
企業(yè)版提供增強功能和技術(shù)支持,按物理服務(wù)器數(shù)量收費,每個節(jié)點費用1090美元。購買的許可證針對特定版本永久有效。
|
(2)項目歷史與運營團隊、社區(qū)規(guī)模和活躍程度、溝通交流等方面的比較
| |
項目歷史與運營團隊 |
社區(qū)規(guī)模和活躍程度 |
溝通交流 |
| Eucalyptus |
最初是UCSB的HPC研究項目,2009年初成立公司來支持該項目的商業(yè)化運營?,F(xiàn)任CEO是曾擔(dān)任MySQL CEO的Marten Mickos,現(xiàn)任工程部門SVP的Tim Cramerc曾擔(dān)任 Sun公司NetBeans和OpenSolaris項目的執(zhí)行總監(jiān)。整個管理團隊對開放源代碼項目的管理和運營方面具有豐富的經(jīng)驗。 |
在同類開放源代碼項目當(dāng)中,Eucalyptus的社區(qū)規(guī)模最大,活躍程度也最高。主要原因是該項目起源于大學(xué)研究項目,次要原因是管理團隊對開放源代碼理念的高度認(rèn)同。Ubuntu 10.04服務(wù)器版選擇Eucalyptus作為UEC的基礎(chǔ)構(gòu)架,大大地促進(jìn)了Eucalyptu的推廣。 |
社區(qū)發(fā)表在論壇上的問題通常在48小時內(nèi)得到回應(yīng),通過技術(shù)支持電子郵件提出的問題通常在24小時內(nèi)得到回應(yīng)。
Eucalyptus在北京和深圳設(shè)有辦事處,在中國有工程師提供支持團隊。
|
| OpenStack |
OpenStack是服務(wù)器托管公司RackSpace與NASA共同發(fā)起的開放源代碼項目。在開放源代碼項目的管理和運營方面,RackSpace和NASA顯然缺乏足夠的經(jīng)驗。針對OpenStack項目的批評集中在(1)RackSpace對項目有過于強烈的控制欲,(2)OpenStack項目的運作對于社區(qū)成員來說基本上是不透明的,(3)OpenStack項目對同類開放源代碼項目的攻擊性過強。 |
社區(qū)規(guī)模較小,主要參與者為支持/參與該項目的公司人員。有幾個公開的郵件列表,流量很小。由于該項目比較新,在網(wǎng)絡(luò)上可以參考的安裝與配置方面的文章不多。Ubuntu 11.04服務(wù)器版同時支持Eucalyptus和OpenStack作為UEC的基礎(chǔ)構(gòu)架,將有助于OpenStack的推廣。 |
通過郵件列表進(jìn)行技術(shù)方面的溝通,通常在48小時內(nèi)得到回應(yīng)。商務(wù)方面的郵件溝通,沒有得到回應(yīng)。 |
| OpenNebula |
2005年啟動的研究性項目,2008年初發(fā)布第一個開放源代碼版本,2010年初大力推進(jìn)開源社區(qū)的建設(shè)。 |
社區(qū)規(guī)模較小,主要參與者為支持/參與該項目的公司人員,以及少量的用戶。有幾個公開的郵件列表,流量比OpenStack項目的流量稍大。在網(wǎng)絡(luò)上搜索到一些中文版安裝和配置方面的文章,基本上是以訛傳訛,缺乏可操作性。英文版的相關(guān)文章也不多,可操作的更少。 |
通過郵件列表進(jìn)行技術(shù)方面的溝通,通常在48小時內(nèi)得到回應(yīng)。 |
| OpenQRM |
起源于集群管理方面的軟件,2006年公開源代碼,2008年免費發(fā)布,目前版本為4.8。
項目的運營團隊較小,似乎只有Matt Rechenburg一個人。
|
有一些零星的用戶,基本上沒有形成社區(qū)。雖然功能還在不斷更新,但是用戶文檔的日期是2008年的。相關(guān)論壇的活躍程度比OpenStack和OpenNebula更差。 |
在論壇發(fā)布的問題,大約有50%左右沒有得到回應(yīng)。通過電子郵件進(jìn)行商務(wù)溝通,反應(yīng)迅速,在24小時以內(nèi)得到回應(yīng)。 |
| XenServer |
Citrix公司的產(chǎn)品,與Xen項目的發(fā)展基本同步。 |
圍繞Xen Cloud Platform有一些開放源代碼的項目,用于替代XenCentor提供基于桌面或者是瀏覽器的管理功能。 |
初期商務(wù)溝通的速度比較快。 |
| Oracle VM |
Oracle公司的產(chǎn)品,用戶量較小。Oracle VM僅僅是Oracle用戶生態(tài)系統(tǒng)中的一部分,不是Oracle的關(guān)鍵業(yè)務(wù)。 |
有一定數(shù)量的用戶,但是沒有形成社區(qū)。在網(wǎng)絡(luò)上缺少與Oracle相關(guān)的討論與交流。Oracle VM團隊有一個博客網(wǎng)站,但是最近兩篇文章的日期分別是2010年11月和2008年1 月。產(chǎn)品下載的速度很慢。 |
初期商務(wù)溝通的速度比較快。在技術(shù)方面的溝通,Oracle在國內(nèi)沒有相應(yīng)的技術(shù)人員提供支持。 |
| CloudStack |
源于2008年成立的VMOps公司,2010年五月啟用cloud.com域名,2010年6 月共同啟動OpenStack項目。 |
用戶數(shù)量較少,論壇不是很活躍。官方文檔非常完備,按照文檔操作至少能夠順利地完成安裝和配置過程。網(wǎng)絡(luò)上可以搜索到一些可操作的安裝和配置文檔(得益于CloudStack的安裝和配置比較簡單)。 |
商務(wù)溝通比較困難,通過社區(qū)論壇和電子郵件提出的問題都沒有得到回應(yīng)。 |
| ConVirt |
起源于2006年發(fā)起的XenMan項目,與Xen項目的發(fā)展基本同步。目前的版本為ConVirt 2.0?,F(xiàn)任CEO和工程部門EVP均來自O(shè)racle。 |
用戶規(guī)模與Eucalyptus相當(dāng),論壇的活躍程度很高。官方文檔非常完備,按照文檔操作至少能夠順利地完成安裝和配置過程。在網(wǎng)絡(luò)上搜索到的中英文的安裝配置教程也基本可用。 |
商務(wù)溝通非常順暢,社區(qū)發(fā)表在論壇上的問題通常在48小時內(nèi)得到回應(yīng),通過技術(shù)支持電子郵件提出的問題通常在24小時內(nèi)得到回應(yīng)。 |
(3)綜合評估
總的來說,虛擬化管理軟件的用戶還不是很多。大部分虛擬化管理軟件的社區(qū)規(guī)模較小,活躍程度也不高。除了Eucalyptus積極地鼓勵社區(qū)用戶參與項目的開發(fā)與測試之外,其他項目選擇開放源代碼只是一種營銷策略。如果排除技術(shù)和價格方面的因素,最值得選擇的軟件無疑是Eucalyptus和ConVirt。這兩個項目擁有最大和最活躍的用戶社區(qū),其開發(fā)/運營團隊與潛在客戶之間的溝通最為順暢。XenServer也是一個值得考慮的對象,但是XenServer社區(qū)版要求對每臺物理服務(wù)器都要每年更新一次許可證。對于擁有大量物理服務(wù)器的公司來說,管理和維護成千上百個許可證將是一個令人頭疼的問題。
架構(gòu)篇:
(1)系統(tǒng)構(gòu)架比較
| |
系統(tǒng)構(gòu)架 |
| Eucalyptus |
Eucalyptus是一個與Amazon EC2兼容的IaaS系統(tǒng)。Eucalyptus包括云控制器(CLC)、Walrus、集群控制器(CC)、存儲控制器(SC)和節(jié)點控制器(NC)。CLC是整個Eucalyptu系統(tǒng)的核心,負(fù)責(zé)高層次的資源調(diào)度,例如向CC請求計算資源。Walrus是 一個與Amazon S3類似的存儲服務(wù),主要用于存儲虛擬機映像和用戶數(shù)據(jù)。CC是一個集群的前端,負(fù)責(zé)協(xié)調(diào)一個集群內(nèi)的計算資源,并且管理集群內(nèi)的網(wǎng)絡(luò)流量。SC是一個與Amazon EBS類似的存儲塊設(shè)備服務(wù),可以用來存儲業(yè)務(wù)數(shù)據(jù)。NC是最終的計算節(jié)點,通過調(diào)用操作系統(tǒng)層的虛擬化技術(shù)來啟動和關(guān)閉虛擬機。在同一個集群(CC)內(nèi)的所有計算節(jié)點(NC)必須在同一個子網(wǎng)內(nèi)。 在一個集群(CC)內(nèi)通常需要部署一臺存儲服務(wù)器(SC),為該集群內(nèi)的計算節(jié)點提供數(shù)據(jù)存儲服務(wù)。
Eucalyptus通過Agent的方式來管理計算資源。在每一個計算節(jié)點上,都需要運行一個eucalyptus-nc的服務(wù)。該服務(wù)在集群控制器(CC)上注冊后,云控制器(CLC)即可通過集群控制器(CLC)將需要運行的虛擬機映像文件(EMI)拷貝到該計算節(jié)點上運行。
Eucalyptus將虛擬機映像文件存儲在Walrus上。當(dāng)用戶啟動一個虛擬機實例的時候,Eucalyptus首先將相應(yīng)的虛擬機映像(EMI)從Walrus拷貝到將要運行該實例的計算節(jié)點(NC)上。當(dāng)用戶關(guān)閉(或者是由于意外而重啟)一個虛擬機實例的時候,對虛擬機所做的修改并不會被寫回到Walrus上原來的虛擬機映像(EMI)上,所有對該虛擬機的修改都會丟失。如果用戶需要保存修改過的虛擬機,就需要利用工具(euca2ools)將該虛擬機實例保存為新的虛擬機映像(EMI)。如果用戶需要保存數(shù)據(jù),則需要利用存儲服務(wù)器(SC)所提供的彈性塊設(shè)備來完成。

|
| OpenStack |
OpenStack是一個與Amazon EC2兼容的IaaS系統(tǒng)。OpenStack包括OpenStack Compute和OpenStack Object Storage兩個部分。
OpenStack Compute又包含Web前端、計算服務(wù)、存儲服務(wù)、身份認(rèn)證服務(wù)、存儲塊設(shè)備(卷)服務(wù)、網(wǎng)絡(luò)服務(wù)、任務(wù)調(diào)度等多個模塊。OpenStack Compute的不同模塊之間不共享任何信息,通過消息傳遞進(jìn)行通訊。因此,不同的模塊可以運行在不同的服務(wù)器上,也可以運行在同一臺服務(wù)器上。

OpenStack Object Store可以利用通用服務(wù)器搭建可擴展的海量數(shù)據(jù)倉庫,并且通過冗余來保證數(shù)據(jù)的安全性。同一份數(shù)據(jù)的在多臺服務(wù)器上都有副本,將出現(xiàn)故障的服務(wù)器從集群中撤除不會影響數(shù)據(jù)的完整性,加入新的服務(wù)器后系統(tǒng)會自動地在新的服務(wù)器上為相應(yīng)的文件創(chuàng)建新的副本。從功能上講,OpenStack Object Store同時具備Eucalyptus中的Walrus服務(wù)和彈性塊設(shè)備(SC)服務(wù)。不過OpenStack Object Store不是一個文件系統(tǒng),不能夠保證數(shù)據(jù)的實時性。從這個方面來考慮,OpenStack Object Store更適合用于存儲需要長期保存的靜態(tài)數(shù)據(jù),例如操作系統(tǒng)映像文件和多媒體數(shù)據(jù)。

OpenStack通過Agent的方式來管理計算資源。在每一個計算節(jié)點上,都需要運行nova-network服務(wù)和nova-compute服務(wù)。這些服務(wù)啟動之后,就可以通過消息隊列來與云控制器進(jìn)行交互。
|
| OpenNebula |
OpenNebula的構(gòu)架包括三個部分:驅(qū)動層、核心層、工具層。驅(qū)動層直接與操作系統(tǒng)打交道,負(fù)責(zé)虛擬機的創(chuàng)建、啟動和關(guān)閉,為虛擬機分配存儲,監(jiān)控物理機和虛擬機的運行狀況。核心層負(fù)責(zé)對虛擬機、存儲設(shè)備、虛擬網(wǎng)絡(luò)等進(jìn)行管理。工具層通過命令行界面/瀏覽器界面方式提供用戶交互接口,通過API方式提供程序調(diào)用接口。

OpenNebula使用共享存儲設(shè)備(例如NFS)來提供虛擬機映像服務(wù),使得每一個計算節(jié)點都能夠訪問到相同的虛擬機映像資源。當(dāng)用戶需要啟動或者是關(guān)閉某個虛擬機時,OpenNebula通過SSH登陸到計算節(jié)點,在計算節(jié)點上直接運行相對應(yīng)的虛擬化管理命令。這種模式也稱為無代理模式,由于不需要在計算節(jié)點上安裝額外的軟件(或者服務(wù)),系統(tǒng)的復(fù)雜度也相對降低了。

|
| OpenQRM |
OpenQRM是為了管理混合虛擬化環(huán)境而開發(fā)的一個虛擬化管理框架,包括基礎(chǔ)層(框架層)和插件?;A(chǔ)層(框架)的作用是管理不同的插件,而對虛擬資源的管理(計算資源,存儲資源,映像資源)都是通過插件來實現(xiàn)的。OpenQRM的框架類似于Java語言中的Interface,定義了一系列虛擬機資源生命周期管理的方法,例如創(chuàng)建、啟動、關(guān)閉虛擬機等等。在個框架的基礎(chǔ)上,OpenQRM針對不同的虛擬化平臺(Xen、KVM)實現(xiàn)了不同的插件,用來管理不同的物理和虛擬資源。當(dāng)出現(xiàn)新的資源需要支持的時候,只需要為OpenQRM編寫新的插件,就可以無縫地整合到原來的環(huán)境中去。

OpenQRM插件也是使用無代理模式工作的。當(dāng)需要管理的目標(biāo)節(jié)點提供SSH登錄方式時,OpenQRM插件通過SSH登陸到計算節(jié)點,在計算節(jié)點上直接運行相對應(yīng)的虛擬化管理命令。當(dāng)需要管理的目標(biāo)節(jié)點提供HTTP/HTTPS/XML-RPC遠(yuǎn)程調(diào)用接口時,OpenQRM插件通過目標(biāo)節(jié)點所提供的遠(yuǎn)程調(diào)用接口實現(xiàn)對目標(biāo)平臺的管理。
OpenQRM是一個虛擬化管理平臺,不提供與Amazon EC2兼容的云管理接口。
|
| XenServer |
XenServer是對Xen虛擬化技術(shù)的進(jìn)一步封裝,在Dom0上提供一系列命令行和遠(yuǎn)程調(diào)用接口,獨立的管理軟件XenCenter通過遠(yuǎn)程調(diào)用這些接口來管理多臺物理服務(wù)器。XenSever在標(biāo)準(zhǔn)Xen實現(xiàn)之上所實現(xiàn)的遠(yuǎn)程調(diào)用接口類似于其他虛擬化管理平臺中所實現(xiàn)的Agent,因此XenServer是通過Agent方式工作的。由于只考慮對Xen虛擬化技術(shù)的支持,XenServer的構(gòu)架相對簡單。

XenServer是一個虛擬化管理平臺,不提供與Amazon EC2兼容的云管理接口。管理軟件XenCenter是運行在Windows操作系統(tǒng)上的,對于需要隨時隨地訪問管理功能的系統(tǒng)管理員來說有點不便。目前有一些第三方提供的開放源代碼的基于瀏覽器的XenServer管理工具,但是都還處于比較早期的階段。
|
| Oracle VM |
Oracle VM包括Oracle VM Server和Oracle VM Manager兩個部分。Oracle VM Server在支持Xen的Oracle Linux上(Dom0)運行一個與Xen交互的Agent,該Agent為Oracle VM Manager提供了遠(yuǎn)程調(diào)用接口。Oracle VM Manager通過一個Java應(yīng)用程序來對多臺Oracle VM Server上的虛擬資源進(jìn)行管理和調(diào)度,同時提供基于瀏覽器的管理界面。由于只考慮對Xen虛擬化技術(shù)的支持,Oracle VM Server / Manager的構(gòu)架相對簡單。

Oracle VM是一個虛擬化管理平臺,不提供與Amazon EC2兼容的云管理接口。
值得注意的是,Oracle VM Manager還通過Web Service的方式提供了虛擬機軟件生命周期管理的所有接口,使得用戶可以自己使用不同的編程語言來調(diào)用這些接口來開發(fā)自己的虛擬化管理平臺。不過由于Oracle在開放源代碼方面的負(fù)面形象,似乎沒有看到有這方面的嘗試。
|
| CloudStack |
與OpenQRM類似,CloudStack采用了“框架 + 插件”的系統(tǒng)構(gòu)架,通過不同的插件來提供對不同虛擬化技術(shù)的支持。對于標(biāo)準(zhǔn)的Xen / KVM計算節(jié)點,CloudStack需要在計算節(jié)點上安裝Agent與控制節(jié)點進(jìn)行交互;對于XenServer / VMWare計算節(jié)點,CloudStack通過XenServer / VMWare所提供的XML-RPC遠(yuǎn)程調(diào)用接口與計算節(jié)點進(jìn)行交互。

CloudStack本身是一個虛擬化管理平臺,但是它通過CloudBridge提供了與Amazon EC2相兼容的云管理接口,對外提供IaaS服務(wù)。
|
| ConVirt |
ConVirt是一個虛擬化管理平臺,使用無代理模式工作。當(dāng)需要管理的目標(biāo)節(jié)點提供SSH登錄方式時,ConVirt通過SSH登陸到計算節(jié)點,在計算節(jié)點上直接運行相對應(yīng)的虛擬化管 理命令。當(dāng)需要管理的目標(biāo)節(jié)點提供HTTP/HTTPS/XML-RPC遠(yuǎn)程調(diào)用接口時,ConVirt插件通過目標(biāo)節(jié)點所提供的遠(yuǎn)程調(diào)用接口實現(xiàn)對目標(biāo)平臺的管理。

ConVirt是一個虛擬化管理平臺,不提供與Amazon EC2兼容的云管理接口。但是ConVirt 3.0提供了與Amazon EC2 / Eucalyptus的用戶接口,使得ConVirt用戶能夠在同一個Web 管理界面下同時管理Amazon EC2 / Eucalyptus提供的虛擬計算資源。
|
(2)云管理平臺還是虛擬化管理平臺?
在IaaS這個層面,云管理和虛擬化管理的概念非常接近,但是有一些細(xì)微的差別。
虛擬化是指在同一臺物理機器上提供多臺虛擬機器(包括CPU、內(nèi)存、存儲、網(wǎng)絡(luò)等計算資源)的能力。每一臺虛擬機器都能夠像普通的物理機器一樣運行完整的操作系統(tǒng)以及執(zhí)行正常的應(yīng)用程序。當(dāng)需要管理的物理機器數(shù)量較小時,虛擬機生命周期管理(資源配置、啟動、關(guān)閉等等)可以通過手工去操作。當(dāng)需要管理的物理機器數(shù)量較大時,就需要寫一些腳本/程序來提高虛擬機生命周期管理的自動化程度。以管理和調(diào)度大量物理/虛擬計算資源為目的系統(tǒng),屬于虛擬化管理系統(tǒng)。這樣一個系統(tǒng),通常用于管理企業(yè)內(nèi)部計算資源。
云計算是指通過網(wǎng)絡(luò)訪問物理/虛擬計算機并利用其計算資源的實踐。通常來講,云計算提供商以虛擬機的方式向用戶提供計算資源。用戶無須了解虛擬機背后實際的物理資源狀況,只需了解自己所能夠使用的計算資源配額。因此,虛擬化技術(shù)是云計算的基礎(chǔ)。任何一個云計算管理平臺,都是構(gòu)建在虛擬化管理平臺的基礎(chǔ)之上的。如果某個虛擬化管理平臺僅對某個集團內(nèi)部提供服務(wù),那么這個虛擬化管理平臺也可以被稱為“私有云”;如果某個虛擬化管理平臺對公眾提供服務(wù),那么這個虛擬化管理平臺也可以被稱為“公有云”。服務(wù)對象的不同,對虛擬化管理平臺的構(gòu)架和功能提出了不同的需求。
私有云服務(wù)于集團內(nèi)部的不同部門(或者應(yīng)用),強調(diào)虛擬資源調(diào)度的靈活性。系統(tǒng)管理員需要為不同的部門(或者應(yīng)用)定制不同的虛擬機,根據(jù)部門(或者應(yīng)用)對計算資源的需求對分配給某些虛擬機的計算資源進(jìn)行調(diào)整。從這個意義上來講,OpenQRM、XenServer、Oracle VM、CloudStack和ConVirt比較適合提供私有云服務(wù)。
公有云服務(wù)于公眾,強調(diào)虛擬資源的標(biāo)準(zhǔn)性。通過將計算資源切割成標(biāo)準(zhǔn)化的虛擬機配置(多個系列的產(chǎn)品,每個產(chǎn)品配置相同數(shù)量的CPU、內(nèi)存、磁盤空間、網(wǎng)絡(luò)流量配額),公有云提供商可以通過標(biāo)準(zhǔn)的服務(wù)合同(Service Level Agreement, SLA)以標(biāo)準(zhǔn)的價格出售計算資源。當(dāng)用戶對計算資源的需求出現(xiàn)改變的時候,用戶只需要縮減或者是增加自己所使用的產(chǎn)品數(shù)量。由于Amazon EC2是目前比較成功的公有云提供商,大部分云管理平臺都在某種程度上模仿Amazon EC2的構(gòu)架。從這個意義上來講,Eucalyptus、OpenNebula和OpenStack提供了與Amazon EC2兼容或者是類似的接口,比較適合提供公有云服務(wù)。
公有云和私有云之間的界限,就像“內(nèi)部/外部”和“部門/合作伙伴”的概念一樣,并不十分明顯。根據(jù)項目需求的不同,可能會有不同的解釋。
功能篇:
(1)支持的虛擬化技術(shù)
| |
Xen |
KVM |
XenServer / XCP |
VMWare |
LXC |
openVZ |
| Eucalyptus |
Y |
Y |
|
Y |
|
|
| OpenStack |
Y |
Y |
Y |
Y |
Y |
|
| OpenNebula |
Y |
Y |
|
Y |
|
|
| OpenQRM |
Y |
Y |
Y |
Y |
Y |
Y |
| XenServer |
Y |
|
|
|
|
|
Oracle VM
|
Y |
|
|
|
|
|
| CloudStack |
|
Y |
Y |
Y |
|
|
| ConVirt |
Y |
Y |
|
|
|
|
可以看出,Xen和KVM是目前獲得最廣泛的廠商虛擬化技術(shù),緊隨其后的是VMWare。需要注意的是,XenServer是對Xen的進(jìn)一步封裝,可以認(rèn)為是一種新的虛擬化平臺(用戶在XenServer上不能直接執(zhí)行Xend相關(guān)命令)。
(2)系統(tǒng)安裝和配置
| |
前端 |
計算節(jié)點 |
備注 |
| Eucalyptus |
使用Ubuntu 10.04或者CentOS 5.5操作系統(tǒng),通過apt-get install或者yum install的方式直接安裝二進(jìn)制包,構(gòu)建一個包含CLC、 Walrus、SC、CC的前端。根據(jù)官方網(wǎng)站提供的文檔進(jìn)行操作,是比較容易實現(xiàn)的。 |
使用Ubuntu 10.04或者CentOS 5.5操作系統(tǒng),通過apt-get install或者yum install的方式直接安裝二進(jìn)制包,構(gòu)建一個提供NC服務(wù)的計算節(jié)點。根據(jù)官方網(wǎng)站提供的文檔進(jìn)行操作,是比較容易實現(xiàn)的。 |
Eucalyptus包含了一個dhcpd,如果配置不好的話,會造成一定的麻煩。另外,計算節(jié)點(NC)與集群控制器(CC)必須在一個C類子網(wǎng)里(例如,掩碼為255.255.255.0)。如果NC和CC在一個超網(wǎng)里(例如,掩碼為255.255.0.0),在注冊服務(wù)的時候會出現(xiàn)一些問題。
|
| OpenStack |
在Ubuntu 10.04上利用官方網(wǎng)站提供的nova-install腳本進(jìn)行安裝,基本上沒有遇到問題。
|
在Ubuntu 10.04上利用官方網(wǎng)站提供的nova-install腳本進(jìn)行安裝,基本上沒有遇到問題。 |
對于一個簡單的系統(tǒng),安裝配置比較簡單。 |
| OpenNebula |
使用CentOS 5.5操作系統(tǒng),配置好CentOS Karan源,啟用kbs-CentOS-Testing條目。下載對應(yīng)的rpm包,直接yum localinstall –nogpgcheck opennebula*.rpm,就可以直接完成安裝過程。按照官方文檔創(chuàng)建/srv/cloud/one和/srv/cloud/images目錄,通過NFS共享/srv/cloud目錄。創(chuàng)建cloud用戶組和屬于cloud用戶組的oneadmin用戶。 |
按照官方文檔創(chuàng)建/srv/cloud/one和/srv/cloud/images目錄,通過NFS共享/srv/cloud目錄。創(chuàng)建cloud用戶組和屬于cloud用戶組的oneadmin用戶。
將前端服務(wù)器上oneadmin用戶的ssh key拷貝到計算節(jié)點上oneadmin用戶的authorized_keys中。這樣前端服務(wù)器才可以通過SSH登陸到計算節(jié)點上。
|
在CentOS 5.5 x86_64上進(jìn)行安裝的時候,如果按照官方網(wǎng)站提供的文檔進(jìn)行操作,先配置好必要的軟件依賴關(guān)系再安裝opennebula,就會出現(xiàn)xmlrpc-c包版本不對的錯誤。
網(wǎng)絡(luò)上可以搜索到一些安裝配置方面的文檔和教程,但是對于熟悉Linux但是不熟悉OpenNebula的開發(fā)人員來說,很難按照這些文檔完成安裝和配置過程。
|
| OpenQRM |
在Ubuntu 10.04上通過SVN下載OpenQRM源代碼,進(jìn)入源代碼目錄后依次執(zhí)行make / make install / make start命令。按照官方文檔的描述創(chuàng)建數(shù)據(jù)庫,然后通過Web界面進(jìn)行下一步的安裝和配置。
|
計算節(jié)點配置好網(wǎng)橋和虛擬化支持之外不需要特別的安裝和配置。在OpenQRM管理界面中啟用相對應(yīng)的插件即可通過插件對計算節(jié)點進(jìn)行管理。 |
在Ubuntu 10.04上安裝前端時,可能需要手工安裝dhcp3-server。
啟用插件管理虛擬資源的操作流程不夠直觀,并且缺乏詳細(xì)的文檔。
|
| XenServer |
前端為基于Windows操作系統(tǒng)的XenCenter。在Windows XP上可以安裝,需要.NET Framework Update 2的支持。安轉(zhuǎn)過程非常簡單,基本上不需要配置。
|
從Citrix的網(wǎng)站下載ISO,刻盤直接安裝在裸機上即可。計算節(jié)點安裝完畢后,在XenCenter中把新增計算資源添加到資源池即可。 |
每一臺XenServer服務(wù)器都需要安裝從Citrix獲得License,并且每年更新一次。 |
| Oracle VM |
在CentOS 5.5 x86_64上進(jìn)行安裝。將ISO文件mount起來后,執(zhí)行runinstaller.sh即可。 |
從Oracle的網(wǎng)站下載ISO,刻盤直接安裝在裸機上即可。計算節(jié)點安裝完畢后,在Oracle VM Manager中把新增計算資源添加到資源池即可。 |
最好從Oracle的官方網(wǎng)站下載,不過速度很慢。通過迅雷等途徑下載的文件,看起來似乎沒有問題,但是ISO刻盤后在啟動操作系統(tǒng)安裝過程中會出現(xiàn)錯誤。
如果在Oracle VM Server上安裝Oracle VM Manager,建議分區(qū)的時候把/ 分得大一點,不然的話會由于磁盤空間不夠而無法安裝Oracle VM Manager。
|
| CloudStack |
在CentOS 5.5和Ubuntu 10.4上,按照官方網(wǎng)站的安裝文檔順序操作,基本沒有問題。
|
計算節(jié)點上必須安裝相應(yīng)的Agent。 |
安裝配置相對簡單,但是在刪除物理資源的時候存在較多的問題。 |
| ConVirt |
在CentOS 5.5和Ubuntu 10.4上,按照官方網(wǎng)站的安裝文檔順序操作,基本沒有問題。
在Ubuntu 10.04上安裝企業(yè)版,需要手工sudo apt-get install libmysqlclient-dev。
|
在計算節(jié)點上的root用戶必須允許管理節(jié)點上運行ConVirt服務(wù)的用戶通過key auth方式登錄。
|
安裝配置相對簡單。 |
不同的虛擬化管理軟件有不同的設(shè)計理念,采用不同的系統(tǒng)構(gòu)架,類似的概念也采用不同的術(shù)語來表述,其學(xué)習(xí)曲線也各不相同。對于大部分用戶來說,虛擬化管理軟件還是個新生事物。即使是粗略地嘗試一下利用不同的虛擬化管理軟件來安裝、配置和測試一個最小規(guī)模的私有云系統(tǒng),也需要花費不少的時間和精力。在這個過程當(dāng)中,遇見各種各樣的問題都在所難免。不過,也只有親身經(jīng)驗過這些形形色色的問題,才能夠切身體會不同虛擬化管理軟件的優(yōu)點和缺點,并且在分析、總結(jié)、歸納的基礎(chǔ)上形成自己獨特的觀點。
(3)用戶界面
| |
概述 |
用戶權(quán)限 |
資源池和虛擬機管理 |
| Eucalyptus |
Eucalyptus提供了一個基于瀏覽器的簡單用戶界面,可以完成用戶注冊,下載credentials,對提供的產(chǎn)品類型進(jìn)行簡單配置等。資源池和虛擬機生命周期管理需要通過euca2ools在命令行模式下完成。
euca2ools是一組基于命令行的工具,可以與Amazon EC2/S3相兼容的Web Service進(jìn)行交互。該用具可以管理基于Amazon EC2、Eucalyptus和OpenStack,OpenNebula的云計算服務(wù)。
euca2tools的主要功能包括:
– 查詢可以使用的域
– 管理SSH Key
– 虛擬機生命周期管理
– 安全組管理
– 管理卷和快照
– 管理虛擬機映像
– 管理IP
|
在Eucalyptus社區(qū)版中只有兩種類型的用戶:管理員,普通用戶。在Eucalyptus企業(yè)版中進(jìn)一步提供了用戶組,屬于某個用戶組的用戶可以管理屬于該用戶組的計算資源。 |
管理員可以通過注冊或者是撤銷注冊某個計算節(jié)點,配置標(biāo)準(zhǔn)產(chǎn)品類型的計算資源(CPU、內(nèi)存、存儲)。普通用戶只能夠在標(biāo)準(zhǔn)配置的基礎(chǔ)上創(chuàng)建、啟動、關(guān)閉虛擬機,不能夠定制化自己所需要的計算資源。
虛擬機映像文件(EMI)的制作,以及虛擬機生命周期管理等等操作,需要通過euca2ools在命令行模式下完成。在FireFox瀏覽器中,可以利用ElasticFox插件,在瀏覽器中啟動、監(jiān)控和關(guān)閉虛擬機。ElasticFox的界面不夠美觀,并且提供的功能非常有限。
Eucalyptus不提供console功能。用戶可以通過SSH連接到自己所管理的虛擬機。
每一個公開發(fā)布的虛擬機映像(EMI),都是一個模板。用戶創(chuàng)建虛擬機實例的時候,系統(tǒng)根據(jù)用戶選擇的EMI將相應(yīng)的虛擬機映像拷貝到目標(biāo)計算節(jié)點上運行。Eucalyptus根據(jù)某種算法自動決定用戶的虛擬機將在哪個物理服務(wù)器上運行,用戶對物理服務(wù)器的狀況一無所知。
Eucalyptus中的虛擬機實例只是原虛擬機映像(EMI)的一個副本,用戶在運行的實例中對虛擬機所做的任何修改,不會被保存到原來的虛擬機映像中。如果用戶將運行的虛擬機實例關(guān)閉(例如:shutdown),用戶對虛擬機所作的任何修改都會丟失。如果用戶需要保存自己對虛擬機所做的修改,用戶可以選擇使用彈性塊設(shè)備來保存數(shù)據(jù),或者將正在運行的虛擬機實例發(fā)布為新的EMI。(Amazon EC2自動地將停止運行的虛擬機實例保存為新的AMI,直到用戶銷毀該虛擬機實例為止。因此,用戶可以shutdown自己的虛擬機實例,但是保存自己對虛擬機所作的修改,直到用戶選擇銷毀該虛擬機實例為止。)
|
| OpenStack |
OpenStack不缺省地提供基于瀏覽器的用戶界面。系統(tǒng)管理員需要手工創(chuàng)建用戶。大部分的管理操作,需要在命令行下進(jìn)行。 盡管OpenStack和Eucalyptus在構(gòu)架上有很大的不同,但是所暴露給用戶的界面是類似的(兩者都模仿了Amazon EC2的用戶接口規(guī)范)。因此,OpenStack同樣可以使用Eucalyptus所提供的euca2ools進(jìn)行管理。
OpenStack的openstack-dashboard項目和django-nova項目提供了一個基于瀏覽器的用戶界面,沒有被集成到OpenStack安裝腳本中,需要單獨安裝。
|
OpenStack將用戶分成如下幾個類別:
admin — 云服務(wù)管理員,擁有所有管理權(quán)限。
itsec — IT安全管理員,具有隔離有問題的虛擬機實例的權(quán)限。
projectmanager — 項目管理員,可以增加屬于該項目的新用戶,管理虛擬機映像,管理虛擬機生命周期。
netadmin — 網(wǎng)絡(luò)管理員,負(fù)責(zé)IP分配,管理防火墻。
developer — 開發(fā)人員,可以登錄進(jìn)入屬于本項目的虛擬機,管理虛擬機生命周期
在模仿Amazon EC2的云平臺(Eucalyptus, OpenStack, OpenNebula)中,OpenStack提供了顆粒度最細(xì)的用戶權(quán)限管理模式。
|
與Eucalyptus類似,虛擬機映像文件(EMI)的制作,以及虛擬機生命周期管理等等操作,需要通過euca2ools在命令行模式下完成。同樣,在FireFox瀏覽器中,可 以利用ElasticFox插件,在瀏覽器中啟動、監(jiān)控和關(guān)閉虛擬機。
OpenStack不提供虛擬機console功能。用戶可以通過SSH連接到自己所管理的虛擬機。
正在開發(fā)中的openstack-dashboard,基于瀏覽器提供了比較完整的資源池管理功能和虛擬機生命周期管理功能。雖然界面還比較簡單,但是已經(jīng)處于可用的狀態(tài)。
OpenStack的模板和虛擬機實例機制與Eucalyptus類似。與Eucalyptus類似,OpenStack根據(jù)某種算法自動決定用戶的虛擬機將在哪個物理服務(wù)器上運行,用戶對物理服務(wù)器的狀況一無所知。
|
| OpenNebula |
OpenNebula不缺省地提供基于瀏覽器的用戶界面。系統(tǒng)管理員需要手工創(chuàng)建用戶。大部分的管理操作,需要在命令行下進(jìn)行。
OpenNebula目前有兩個基于瀏覽器的用戶界面:SunStone和OneMC。這兩個項目需要單獨安裝。
同樣,OpenNebula提供了與Amazon EC2相兼容的Web Service接口。因此,可以通過FireFox所提供的ElasticFox插件和Eucalyptus提供的euca2ools工具集與OpenNebula云平臺進(jìn)行交互。
|
OpenNebula只有兩種類型的用戶:管理員,普通用戶。 |
在早期版本中,OpenNebula管理員可以在后臺通過命令行來管理資源池和虛擬機生命周期。 同樣,在FireFox瀏覽器中,可 以利用ElasticFox插件,在瀏覽器中啟動、監(jiān)控和關(guān)閉虛擬機。
SunStone和OneMC這兩個項目都提供了比較完整的資源池管理和虛擬機生命周期管理功能。兩個項目的界面都比較簡單,但是基本上處于可用的狀態(tài)。SunStone沒有提供虛擬機console功能,OneMC通過VNC協(xié)議提供了虛擬機console功能。
OpenNebula的模板和虛擬機實例機制與Eucalyptus類似。但是并不缺省地使用euca2ools作為工具。
與Eucalyptus類似,OpenNebula根據(jù)某種算法自動決定用戶的虛擬機將在哪個物理服務(wù)器上運行,用戶對物理服務(wù)器的狀況一無所知。
|
| OpenQRM |
基于瀏覽器的用戶界面,功能比較豐富。 |
OpenQRM的管理界面只有兩種用戶:管理用戶,普通用戶。普通用戶只有查看權(quán)限,沒有管理權(quán)限。 |
通過啟用不同的插件,可以管理不同的計算資源。所有的資源池和虛擬機生命周期管理操作都可以通過瀏覽器界面完成。
OpenQRM的novnc插件可以提供基于VNC協(xié)議的虛擬機console功能。
|
| XenServer |
XenCenter是基于Windows的桌面應(yīng)用,安裝與操作都非常簡單,界面美觀,功能強大。
在參與評測的8 個軟件中,XenCenter的用戶界面是表現(xiàn)最出色的?;赪indows桌面的應(yīng)用能夠迅速地對用戶的點擊動作作出反應(yīng),從而提高用戶體驗的滿意度。
|
系統(tǒng)管理員登錄XenCenter之后,可以結(jié)合Active Directory在用戶和用戶組的層面分配管理權(quán)限。
|
授權(quán)用戶可以通過圖形界面方便地進(jìn)行資源池和虛擬機生命周期管理。在圖形界面上可以直觀地監(jiān)控物理服務(wù)器和虛擬機的計算資源使用情況(CPU、內(nèi)存、存儲、網(wǎng)絡(luò)活動)。
提供基于VNC的虛擬機console。
可以基于模板的部署新的虛擬機。
|
| Oracle VM |
Oracle VM Manager提供了基于瀏覽器的管理界面。 |
Oracle VM Manager同時提供了role和group的概念。其中role定義了用戶所具備的權(quán)限,屬于同一個group的用戶擁有該group所被授予的權(quán)限。
Oracle VM Manager提供了三種role:
user — 擁有指定資源池的虛擬機生命周期管理權(quán)限。
manager — 擁有除了用戶管理之外的所有管理權(quán)限。
administrator — 擁有整個系統(tǒng)的管理權(quán)限。
|
授權(quán)用戶可以通過圖形界面方便地進(jìn)行資源池和虛擬機生命周期管理。在圖形界面上可以直觀地監(jiān)控物理服務(wù)器和虛擬機的計算資源使用情況(CPU、內(nèi)存、存儲、網(wǎng)絡(luò)活動)。
提供基于VNC的虛擬機console。
可以基于模板的部署新的虛擬機。
|
| CloudStack |
基于瀏覽器的用戶界面,功能豐富,美觀大方。
|
CloudStack根據(jù)用戶的role將用戶分成三個類型:
admin — 全局管理員。
domain-admin — 域管理員,可以對某個域下的物理和虛擬資源進(jìn)行管理。
user — 個體用戶,可以管理自己名下的虛擬機資源。
|
CloudStack對物理資源的管理完整地模擬了一個物理機房的實際情況,按照“機房(Zones)-》機柜(Pods)-》集群(Cluster)-》服務(wù)器(Server)”的結(jié)構(gòu)對物理服務(wù)器進(jìn)行組織,使得管理員能夠在管理界面里面的計算資源和機房里面的計算資源建立起直觀的一一對應(yīng)關(guān)系。
授權(quán)用戶可以通過圖形界面方便地進(jìn)行資源池和虛擬機生命周期管理。在圖形界面上可以直觀地監(jiān)控物理服務(wù)器和虛擬機的計算資源使用情況(CPU、內(nèi)存、存儲、網(wǎng)絡(luò)活動)。
提供基于VNC的虛擬機console。
可以基于模板的部署新的虛擬機。
|
| ConVirt |
基于瀏覽器的用戶界面,功能豐富,美觀大方。 |
社區(qū)版可以注冊多個用戶,并可將用戶按照用戶組進(jìn)行分類,但是所有的用戶擁有相同的全局管理權(quán)限。企業(yè)版則提供了更細(xì)致的用戶權(quán)限管理機制。除此之外,企業(yè)版還提供了對LDAP的支持。
|
授權(quán)用戶可以通過圖形界面方便地進(jìn)行資源池和虛擬機生命周期管理。在圖形界面上可以直觀地監(jiān)控物理服務(wù)器和虛擬機的計算資源使用情況(CPU、內(nèi)存、存儲、網(wǎng)絡(luò)活動)。提供基于VNC的虛擬機console。
可以基于模板的部署新的虛擬機。
ConVirt的最大優(yōu)點,在于其通過時程圖的方式在不同的層次上直觀地展示計算資源(包括物理資源和虛擬資源)的利用情況和健康狀況。在整個數(shù)據(jù)中心和資源池的層面,ConVirt實時顯示資源池數(shù)量、物理服務(wù)器和虛擬機數(shù)量、虛擬機密度、存儲資源使用狀況、負(fù)載最高的N 臺物理服務(wù)器和虛擬機。在物理服務(wù)器和虛擬機的層面,ConVirt實時顯示CPU和內(nèi)存使用情況,監(jiān)控人員可以通過CPU和內(nèi)存時程圖及時地發(fā)現(xiàn)或者是調(diào)查系統(tǒng)異常情況。
|
在所有參與評測的虛擬化管理軟件中,XenServer / XCP和ConVirt的圖形用戶界面是做的最好的。XenCenter的圖形界面的優(yōu)點在于提供了獨一無二的用戶體驗,ConVirt的圖形界面的優(yōu)點在于以圖形的方式直觀地展示了從機房到虛擬機的健康狀況。CloudStack的圖形界面非常大氣,但是在功能上不如ConVirt那么實用。不過按照CloudStack的目前的發(fā)展勢頭來看,下一個版本可能比較值得期待。
由于進(jìn)行評測的時間較短,并且測試系統(tǒng)規(guī)模較小的原因,暫時無法對各個軟件的穩(wěn)定性、健壯性、擴展性等等關(guān)鍵問題作出評估。
商務(wù)篇:
目前市面上形形色色的虛擬化管理軟件總數(shù)很多,這一系列文章所提及的幾個軟件僅僅其中的幾個代表。作為一個機構(gòu)、或者是一家企業(yè),在向虛擬化過渡時都不可避免地要面臨軟件選型的問題。本文作為這一系列文章的最后一篇,從商務(wù)和功能兩個方面提出自己的一點粗淺意見。
(1)商務(wù)評估
從商務(wù)上進(jìn)行軟件選型,性價比通常是一個決定性的因素。在假定參與選型的軟件全部滿足技術(shù)要求的前提下,企業(yè)(機構(gòu))需要考慮的因素包括軟件的授權(quán)協(xié)議是否友好、許可證管理的難易程度、軟件和服務(wù)的價格高低、運營團隊在業(yè)界的聲譽、開發(fā)者社區(qū)和用戶社區(qū)的規(guī)模和活躍程度、商業(yè)與技術(shù)溝通的難易程度。
授權(quán)協(xié)議/許可證管理 — 以全部開放源代碼為10分,部分開放源代碼(例如以企業(yè)版的形式提供某些高級功能,或者以服務(wù)的形式提供特別版本的安裝包和補?。┛? 分。商業(yè)版本需要在控制節(jié)點安裝許可證不扣分,需要在所有計算節(jié)點安裝許可證扣1 分,許可證需要每年更新者扣1 分。
價格指數(shù) — 以全部功能免費使用為10分,以企業(yè)版的模式提供全部功能的軟件,每臺物理服務(wù)器每花費500美元扣1 分。
運營團隊 — 以運營團隊的規(guī)模、背景、影響力評分,存在的主觀因素較多。
社區(qū)因素 — 以開發(fā)者和用戶社區(qū)的規(guī)模和活躍程度評分,存在的主觀因素較多。
溝通交流 — 以個人與運營團隊、開發(fā)者社區(qū)、用戶社區(qū)之間的溝通順暢程度評分,存在的主觀因素較多。
| |
授權(quán)協(xié)議
許可證管理
|
價格指數(shù) |
運營團隊 |
社區(qū)因素 |
溝通交流 |
總分 |
| Eucalyptus |
9 |
8 |
9 |
9 |
10 |
45 |
| OpenStack |
10 |
10 |
8 |
8 |
7 |
43 |
| OpenNebula |
9 |
9 |
7 |
8 |
9 |
42 |
| OpenQRM |
9 |
8 |
6 |
7 |
8 |
37 |
| XenServer |
7 |
8 |
9 |
10 |
9 |
43 |
Oracle VM
|
9 |
7 |
7 |
6 |
7 |
36 |
| CloudStack |
9 |
8 |
7 |
6 |
7 |
37 |
| ConVirt |
9 |
8 |
8 |
9 |
10 |
44 |
(2)功能評估
從功能上進(jìn)行虛擬化管理軟件選型,需要考慮的因素包括該軟件所支持的虛擬化技術(shù)、安裝配置的難易程度、開發(fā)和使用文檔的詳盡程度、所提供的功能是否全面以及用戶界面是否直觀友好、二次開發(fā)的難易程度、是否提供物理資源和虛擬資源的監(jiān)控報表等等。
虛擬化技術(shù)支持 — 僅支持一種虛擬化技術(shù)為6 分,每增加一種虛擬化技術(shù)加1 分,10分封頂。
安裝配置 — 以按照官方文檔進(jìn)行安裝配置的難易程度評分,存在的主觀因素較多。
開發(fā)/使用文檔 — 以官方所提供的開發(fā)與使用文檔的詳盡程度評分,文檔詳盡程度越高者得分越高。
功能與界面 — 綜合評分,涵蓋用戶進(jìn)行物理資源和虛擬資源管理、虛擬機生命周期管理、訪問虛擬機資源和存儲資源的難易程度,用戶界面的美觀易用程度,以及綜合用戶體驗。
二次開發(fā) — 基礎(chǔ)得分6 分,提供與Amazon EC2相兼容的程序調(diào)用接口者加3 分,提供二次開發(fā)接口但是與Amazon EC2不兼容者加2 分。
監(jiān)控報表 — 基礎(chǔ)得分6 分,依系統(tǒng)所提供監(jiān)控與分析功能的詳盡程度加分。
| |
虛擬化技術(shù)支持 |
安裝配置 |
開發(fā)/使用文檔 |
功能與界面 |
二次開發(fā) |
監(jiān)控報表 |
總分 |
| Eucalyptus |
8 |
8 |
9 |
4 |
9 (Amazon WS) |
6 |
44 |
| OpenStack |
10 |
8 |
8 |
4 |
9 (Amazon WS) |
6 |
45 |
| OpenNebula |
8 |
8 |
7 |
4 |
9 (Amazon WS) |
6 |
42 |
| OpenQRM |
10 |
9 |
5 |
10 |
6 (OS) |
7 |
47 |
| XenServer |
6 |
10 |
10 |
10 |
8 (Plugin) |
9 |
53 |
Oracle VM
|
6 |
9 |
8 |
7 |
8 (WS) |
7 |
45 |
| CloudStack |
8 |
9 |
8 |
10 |
6 (OS) |
8 |
49 |
| ConVirt |
7 |
10 |
10 |
10 |
8 (API) |
10 |
55 |
(3)綜合評估
從商務(wù)上考慮,Eucalyptus和ConVirt以微弱 的優(yōu)勢領(lǐng)先于其他選項。Eucalyptus是私有云管理平臺的先行者。Ubuntu 10.04選擇捆綁Eucalyptus作為UEC的基礎(chǔ)構(gòu)架,使得Ecualyptus比其他的私有云管理平臺擁有更多的用戶和更加活躍的社區(qū)。此外,Ecualyptus在中國國內(nèi)有銷售和技術(shù)支持人員,在溝通上比選擇其他軟件要更加容易。ConVirt排名第二,根本原因在于其銷售和技術(shù)支持團隊與(潛在的)客戶保持積極而有效的溝通。Citrix XenServer僅僅與其他兩個選項并列排名第三,輸在其過于嚴(yán)苛的許可證管理政策。的確,要給100臺以上的服務(wù)器單獨安裝許可證并且每年更新一次,可不是一件有意思的事情。
從功能上考慮,ConVirt與XenServer遙遙領(lǐng)先于其他選項。雖然ConVirt僅僅支持Xen和KVM兩種虛擬化技術(shù),但是其安裝配置相對簡單,文檔詳盡、功能齊全、界面美觀、是比較容易上手的虛擬化管理軟件。更重要的是,ConVirt的監(jiān)控報表功能直觀地展示了從數(shù)據(jù)中心到虛擬機的CPU、內(nèi)存利用情況,使得用戶對整個數(shù)據(jù)中心的健康狀況一目了然。同樣,XenServer雖然僅支持Xen一種虛擬化技術(shù),但是在安裝配置、操作文檔、用戶界面等方面都不亞于ConVirt。如果用戶對基于Windows的界面沒有強烈的抵觸情緒的話,XenServer是比較值得考慮的一個選型。
綜合如上考慮,對于希望利用虛擬化管理軟件提高硬件資源利用率和虛擬化管理自動化程度的企業(yè)(機構(gòu))來說,建議使用ConVirt來管理企業(yè)(機構(gòu))的計算資源。如果網(wǎng)管人員不希望深入了解Linux操作系統(tǒng),并且所管理的物理服務(wù)器數(shù)量有限的話,XenServer也是一個不錯的選擇。ConVirt的瀏覽器界面是開放源代碼的,用戶可以對其進(jìn)行定制化,將自己所需要的其他功能添加到同一個用戶界面中去。XenCenter則提供了一種插件機制,用戶可以通過插件的方式講自己的功能集成到XenCenter中。
不過,你的基礎(chǔ)設(shè)施是否需要與Amazon EC2相兼容呢?也就是說,你的用戶是否需要使用他們用于訪問和操作Amazon EC2的腳本和工具來訪問你的計算資源呢?如果是這樣的話,你可能需要在Eucalyptus和OpenStack之間作一個選擇(CloudStack和OpenNebula同樣提供了與Amazon EC2兼容的操作接口,但是CloudStack在商務(wù)方面得分不高,OpenNebula在功能方面得分不高)。Eucalyptus的歷史比OpenStack稍長,用戶群比OpenStack要大,社區(qū)的活躍程度也比OpenStack要高。不過OpenStack的后臺老板NASA比Eucalyptus要財大氣粗,Ubuntu 11.04也集成了OpenStack作為其UEC的基礎(chǔ)構(gòu)架之一,表明OpenStack已經(jīng)得到了社區(qū)的重視和支持??偟膩碚f,開放源代碼的云構(gòu)架,還是一個不斷發(fā)展之中的新生食物。筆者只能夠建議用戶親自去安裝使用每一個軟件,最終基于自己的經(jīng)驗以及需求達(dá)到一個最適合自己的選擇。
虛擬化管理軟件比較 -- 幻燈片
結(jié)合前段時間對不同虛擬化管理軟件的評測工作,準(zhǔn)備了一套講座用的幻燈片。PDF版本的文件可以從這里下載。如果有人需要ODP版本的文件,直接跟我聯(lián)系吧。










|