膽小者慎入 五款主流私有云大比拼
原創(chuàng)【12月23日51CTO外電頭條】如果你想創(chuàng)建一個(gè)私有云,你需要借助管理軟件創(chuàng)建一個(gè)虛擬的計(jì)算資源池,提供給最終用戶訪問,并要處理好安全、資源分配、跟蹤和計(jì)費(fèi)問題。
我們測試了五款主流私有云管理產(chǎn)品:Novell的Cloud Manager,Eucalyptus企業(yè)版,OpenNebula,Citrix Lab Manager和Cloud.com的CloudStack,我們的測試目的很簡單,就是想看它們是否能夠勝任現(xiàn)階段的私有云項(xiàng)目,通過測試我們發(fā)現(xiàn)Novell的Cloud Manager是唯一一款具有我們需要的功能的產(chǎn)品,因此,Cloud Manager毫無疑問地成為測試的贏家,我們對(duì)其它產(chǎn)品感到沮喪,有的產(chǎn)品甚至還沒準(zhǔn)備好。下面是每個(gè)獨(dú)立產(chǎn)品的評(píng)測意見。
私有云的建設(shè)不是一蹴而就,而是一個(gè)長期的建設(shè)過程,荊棘密布也未可知。如果你事先沒有做好充分的準(zhǔn)備,在看了本文的評(píng)測結(jié)果后,沒準(zhǔn)您設(shè)想好的私有云計(jì)算將因此而擱淺。因此我們說,私有云:不是為膽小者準(zhǔn)備的。
Novell Cloud Manager 1.0
Novell的Cloud Manager(CM)使用公共云服務(wù)提供商相同的方法控制內(nèi)部資產(chǎn),但并不是簡單的拿來主義,Cloud Manger只留下了高度自動(dòng)化的精華,它允許私有云建設(shè)者識(shí)別硬件資產(chǎn),將資源池集中到虛擬服務(wù)器上,打包應(yīng)用程序,然后通過活動(dòng)目錄和LDAP安全模型實(shí)現(xiàn)計(jì)費(fèi)和跟蹤使用情況。
和所有被測試的產(chǎn)品一樣,需要做很多的準(zhǔn)備工作,如分配硬件和軟件資源,將它分組成可識(shí)別的組件,然后允許它們?cè)谏a(chǎn)階段生命周期內(nèi)被訪問和跟蹤。
完成私有云建設(shè)后,Novell Cloud Manager有最成熟的方法為云資源提供管理、預(yù)備和計(jì)費(fèi)功能,最終用戶的操作也很簡單,它有兩個(gè)主要的控制組件:Cloud Manager Application Server和Cloud Manager Orchestration Server,我們將其安裝在VMware 4.1環(huán)境中,為每個(gè)服務(wù)使用一個(gè)SUSE 11虛擬機(jī)(VM)。
初始配置需要通過CM Orchestration Server(CMOS)創(chuàng)建用作訪問庫的VM,CMOS包含了創(chuàng)建自定義VM實(shí)例的組件(來自Novell收購的PlateSpin)。
我們?cè)赩Mware的vCenter上安裝了CMOS代理,實(shí)現(xiàn)Novell和VMware的對(duì)接,Novell Cloud Manager也支持裸機(jī)Hypervisor Xen和Hyper-v,但我們并沒有測試它們。
配置好后(不是一個(gè)艱難的過程),Cloud Manager允許我們查看云資源,以及對(duì)云資源施加限制,通過活動(dòng)目錄或LDAP目錄服務(wù)進(jìn)行用戶驗(yàn)證,對(duì)于云組件,它使用預(yù)配置的模板,這些組件就是預(yù)安裝和配置了應(yīng)用程序的VM,每個(gè)VM都擁有自己的vCPU,內(nèi)存,存儲(chǔ)和IP地址,設(shè)置可以被鎖定,也允許修改,如存儲(chǔ)大小/位置或增加內(nèi)存。
模板必須放在vCenter掛載的NFS共享存儲(chǔ)上,我們?cè)赪indows Server和SUSE Linux Enterprise ServerVM上做了測試,沒有遇到任何麻煩。
Novell Cloud Manager的計(jì)費(fèi)/賬單組件有點(diǎn)托管服務(wù)提供商(Managed Services Provider,MSP)的味道,可以查看每個(gè)工作負(fù)載每月的成本,包括存儲(chǔ)成本(每GB),vCPU,內(nèi)存(每MB)和網(wǎng)絡(luò)成本。例如,我們可以設(shè)置每月每vCPU的成本是3美元,有了這個(gè)功能后,就能跟蹤部署的各種資源,并實(shí)施計(jì)費(fèi),就好像用戶從MSP或公共云供應(yīng)商購買的公共云資源一樣。
Cloud Manager為我們提供了完整的私有云管理藍(lán)圖,你可以根據(jù)文檔從零開始構(gòu)建一個(gè)私有云平臺(tái),然后作為付費(fèi)產(chǎn)品服務(wù)交付。
#p#
Citrix Lab Manager 3.9和自助服務(wù)門戶
Citrix自助服務(wù)門戶(SSP)不是一個(gè)獨(dú)立的產(chǎn)品,它和Citrix Lab Manager一起組成了Citrix XenServer白金版,Lab Manager是一個(gè)專為XenServerVM設(shè)計(jì)的資源管理器和控制系統(tǒng),XenServer可以通過自助服務(wù)門戶的角色定義將Lab Manager組件變成云供應(yīng)系統(tǒng),和Novell的Cloud Manager不一樣,自助服務(wù)門戶是專為XenServer設(shè)計(jì)的,可以支持Linux及Windows VM。
自助服務(wù)門戶跟蹤報(bào)告包含許多信息,但它沒有提供計(jì)費(fèi)需要的組件,必須由外部包處理,XenServer 5.6白金版是必需的,它是按服務(wù)器授權(quán)的,不管服務(wù)器包含多少處理核心。我們安裝了XenServer,創(chuàng)建了一個(gè)授權(quán)服務(wù)器分配白金許可,然后導(dǎo)入Lab Manager路由器VM模板(需要將它放在共享存儲(chǔ)上),然后在它上面安裝Postgres數(shù)據(jù)庫和Lab Manager,經(jīng)過幾步配置后,我們啟動(dòng)了所有VM,在此期間,我們經(jīng)歷了許多Linux授權(quán)虛擬設(shè)備頭痛的問題。
Cloud VM和SSP一起使用,它從存儲(chǔ)在我們服務(wù)器上的ISO操作系統(tǒng)鏡像創(chuàng)建,創(chuàng)建好后,我們需要為Lab Manager安裝客戶機(jī)代理,Windows和SLES VM都工作得很好。在SSP內(nèi)部,我們指定模板,模板定義了管理員和用戶擁有的角色,以及他們可以部署的VM和資源。
Lab Manager和SSP可以連接到活動(dòng)目錄或LDAP進(jìn)行用戶身份驗(yàn)證,用戶擁有的角色在Lab Manager內(nèi)部有非常詳實(shí)的信息,可以限制用戶可用的磁盤空間和內(nèi)存容量。
測試SSP時(shí),我們成功啟動(dòng)了各種Windows和Linux VM,VM包含預(yù)配置的應(yīng)用程序,或僅僅就是一個(gè)原始的操作系統(tǒng)實(shí)例,從我們的使用過程來看,SSP的易用性還是很不錯(cuò)的。
Lab Manager內(nèi)置的報(bào)告是相當(dāng)詳盡的,包含了大量信息,如作業(yè)名稱,開始時(shí)間,結(jié)束時(shí)間,RAM使用情況,存儲(chǔ)使用情況等,但沒有提供相關(guān)的成本,正如前面提到的,成本/計(jì)費(fèi)并非SSP的職責(zé)。
#p#
Cloud.com的CloudStack 2.1.3
Cloud.com的CloudStack比較簡陋,也缺乏靈活性,它使用了一個(gè)管理服務(wù)器應(yīng)用程序,這個(gè)管理程序可以包含在運(yùn)行Red Hat Enterprise Linux或CentOS 5.4+ 64位版本的VM或物理機(jī)上,但CloudStack很實(shí)用,它作為VM鏡像倉庫,可以部署在云中或類似于云的環(huán)境中。
在部署前有大量的準(zhǔn)備工作要做,當(dāng)你創(chuàng)建好VM后,你就不能修改CPU數(shù)量,內(nèi)存和磁盤空間大小,也就是說VM配置是被鎖定的,因此,在創(chuàng)建VM之前需要了解清楚潛在的配置要求。
我們用XenServer測試的CloudStack,官方網(wǎng)站聲稱也支持KVM和VMware,但我們沒有找到相關(guān)的文檔,隨后我們被告知要等到2.2版才會(huì)得到支持,目前已處于Beta階段。CloudStack存儲(chǔ)支持NFS和iSCSI,最低需要100GB存儲(chǔ)空間,輔助存儲(chǔ)至少需要一個(gè)NFS共享,主存儲(chǔ)可以是iSCSI或另一個(gè)NFS存儲(chǔ)系統(tǒng)。
測試期間,我們發(fā)現(xiàn)了一些問題,首先就是很難修改創(chuàng)建好的VM,如果你想修改一下VM配置,只有刪除然后重新創(chuàng)建,這是我們最煩的一個(gè)問題。
其次,它可以進(jìn)入MySQL數(shù)據(jù)庫跟蹤C(jī)loud.com配置,但Cloud.com卻沒有提供數(shù)據(jù)庫模式,據(jù)Cloud.com發(fā)言人表示,支持?jǐn)?shù)據(jù)庫訪問的版本很快就會(huì)發(fā)布了。
第三,我們嘗試了兩次創(chuàng)建虛擬機(jī)實(shí)例,但兩次都失敗了,因?yàn)闆]有足夠的IP地址可用,用戶界面告訴我們有三個(gè)VM可用,但實(shí)際上只有一個(gè)可用。
通常情況下,用戶界面是超出“正常”范圍的,舉一個(gè)例子,假設(shè)某個(gè)VM已被破壞,在刪除前默認(rèn)有24小時(shí)保留時(shí)間,雖然VM不可用,但它使用的IP地址在此期間是無法再使用的,如果你的IP地址已經(jīng)不夠,那只有等到該VM被刪除才能將它使用的IP地址分配給新建的VM,如果你有很多攪亂了VM云資源的用戶,這個(gè)問題不容小覷,我們建議部署前慎重考慮這一點(diǎn)。
另一個(gè)限制是,向Cloud.com倉庫添加VM前,我們不能在XenServer節(jié)點(diǎn)上創(chuàng)建任何VM,因?yàn)闆]有“發(fā)現(xiàn)進(jìn)程”發(fā)現(xiàn)現(xiàn)存/當(dāng)前VM,如果事先將VM添加到XenServer節(jié)點(diǎn),CloudStack初始化將會(huì)失敗,導(dǎo)致不能繼續(xù)配置CloudStack。
我們還發(fā)現(xiàn)我們不能在節(jié)點(diǎn)上安裝XenServer授權(quán)服務(wù)器,授權(quán)服務(wù)器必須在另一臺(tái)機(jī)器或VM上,最糟糕的是文檔中沒有說明。
經(jīng)過冗長乏味的安裝后,CloudStack終于正常支持Windows和Linux VM了,CloudStack依靠LDAP執(zhí)行安全保護(hù),如果需要的話,內(nèi)置用戶(不是目錄服務(wù)的成員)可以進(jìn)行身份驗(yàn)證,CloudStack可以跟蹤每個(gè)用戶,但在Web用戶界面沒有顯示任何相關(guān)的信息,只能通過listUsageRecords API調(diào)用查看。
#p#
Eucalyptus企業(yè)版2.0.1
以前我們介紹Ubuntu Enterprise Cloud(UEC)時(shí)就曾評(píng)測過Eucalyptus,那時(shí)就很期待企業(yè)版中包含的性能,openEucalyptus是Eucalyptus所有版本的基石,企業(yè)版管理組件和UEC使用的類似,包含云控制器,Walrus(專為Amazon S3及類似的存儲(chǔ)設(shè)計(jì)),存儲(chǔ)控制器(塊類型)和集群控制器。
所有組件安裝在RHEL 5.4+,CentOS 5.4+或OpenSUSE 11.2+裸機(jī)上,但這個(gè)在文檔中并沒有注明,由于文檔的參考意義不大,安裝企業(yè)版時(shí)我們就像一群大笨熊,在此期間,我們發(fā)現(xiàn)對(duì)Windows Server的支持不友好,也沒有相關(guān)說明。但Eucalyptus卻聲稱他們的技術(shù)人員做起來一點(diǎn)困難也沒有,雖然我相信他們,但云組件是如此的關(guān)鍵,要依賴于Eucalyptus的技術(shù)支持人員總是讓人放不下心。
在安裝過程中,我們不得不使用一些變通的辦法,有時(shí)參考一下openEucalyptus的文檔會(huì)有點(diǎn)用處,在安裝到一半時(shí),我們被告知管理組件需要獨(dú)立的物理服務(wù)器,因此我們不得不做大量的額外的工作。
然后我們創(chuàng)建了鏡像,使用和創(chuàng)建UEC實(shí)例相同的方法創(chuàng)建了實(shí)例,包括綁定實(shí)例,上傳和注冊(cè)實(shí)例,現(xiàn)有的VMware實(shí)例必須進(jìn)行轉(zhuǎn)換,Windows實(shí)例必須經(jīng)過幾個(gè)階段的轉(zhuǎn)換過程,任何一個(gè)階段出錯(cuò)都可能導(dǎo)致Windows Server實(shí)例啟動(dòng)時(shí)發(fā)生硬件配置錯(cuò)誤,如藍(lán)屏。
最后,它沒有為用戶身份驗(yàn)證提供到LDAP或活動(dòng)目錄的鏈接,因此用戶和管理登錄包含在企業(yè)版安全中,但我們發(fā)現(xiàn)幾乎無法通行。
安裝完成并能正常工作后,你就可以使用轉(zhuǎn)換和注冊(cè)的實(shí)例了,企業(yè)版的Web用戶界面有點(diǎn)簡陋,但它可以很好地跟蹤部署的實(shí)例。
部署VM的唯一方法是使用euca-tools命令行或其它Amazon工具,部署和反部署實(shí)例時(shí)需要用到euca-run-instances,euca-reboot-instances和euca-terminate-instances命令,對(duì)于普通用戶來說可以不管這些,但開發(fā)人員和管理員必須全面掌握它們的用法。
用戶和管理員在Web界面上唯一能看到的是他們可以使用的鏡像,以及命令行工具需要的登錄憑據(jù)(SSH密鑰,密鑰,查詢ID,X.509證書等)。獲取正在運(yùn)行的VM實(shí)例的信息需要用到euca-describe-instances命令,也有其它命令行工具可以使用。遺憾的是,沒有漂亮的Web用戶界面,查看管理的實(shí)例,關(guān)閉或重啟實(shí)例都只能運(yùn)行命令。
企業(yè)版Web用戶界面可以生成報(bào)告,如系統(tǒng)事件,已使用/部署的資源等,這些報(bào)告可以輸出為多種格式,如PDF,CSV,Excel或HTML。生成資源使用報(bào)告后,你可以看到存儲(chǔ)或?qū)嵗褂们闆r,包括使用了多少存儲(chǔ)卷,使用了多長時(shí)間(小時(shí)),以及創(chuàng)建了多少實(shí)例,雖然沒有內(nèi)置計(jì)費(fèi)功能,但這些信息都可以用于計(jì)費(fèi)。
缺乏文檔讓我們幾乎抓狂,我們?cè)贓ucalyptus上調(diào)試的時(shí)間相當(dāng)長,如果你對(duì)企業(yè)版功能感興趣,我們建議你購買Eucalyptus的技術(shù)支持服務(wù)。
#p#
OpenNebula 2.0
OpenNebula專為Linux VM設(shè)計(jì),它是開放云社區(qū)項(xiàng)目中的一個(gè)組件,OpenNebula和開放核心的Eucalyptus不一樣,它是完全開源的。
OpenNebula特別適合開發(fā)人員和非持久化(以作業(yè)控制為重點(diǎn))云VM使用,也適宜普通用戶使用,但需要一個(gè)中等水平Unix/Linux/Solaris技能的管理員創(chuàng)建和部署私有云,OpenNebula也提供了公共云和混合云選項(xiàng),但我們將重點(diǎn)放在私有云上。
OpenNebula運(yùn)行在Ubuntu 10.04或CentOS 5.4+上(其它大多數(shù)Linux發(fā)行版也是可以的,但快速安裝程序只適用于上述兩種),安裝完全是基于腳本的(沒有GUI),需要大量的文本配置文件。
在通過腳本安裝前,OpenNebula VM鏡像必須創(chuàng)建為KVM或Xen鏡像,雖然也提供了VMware驅(qū)動(dòng),但它需要從源代碼安裝libvirt API,有許多額外的輔助工作要做。創(chuàng)建好鏡像后,我們必須手動(dòng)復(fù)制到存儲(chǔ)鏡像的位置,然后為VM鏡像創(chuàng)建一個(gè)配置文件和網(wǎng)絡(luò)描述。
使用onevnet命令添加網(wǎng)絡(luò)配置后,我們使用onevm命令在相同的命令行環(huán)境下啟動(dòng)了該鏡像的一個(gè)實(shí)例,一臺(tái)沒有任何問題的Linux服務(wù)器就這么擺在我們面前了。我們也嘗試在KVM中使用Windows Server 2008 VM,但遺憾的是,我們無法用OpenNebula啟動(dòng)它,因此它是表面上支持Windows,但沒有真正的指南。
支持的插件包括LDAP身份認(rèn)證(需要“net-ldap”Ruby gem),計(jì)費(fèi)(需要“sequel”Ruby gem),VMware驅(qū)動(dòng)和OpenNebula快速安裝程序。
我們?cè)贓SX 4.1上的VM使用Ubuntu 10.04作為前端,在另一臺(tái)機(jī)器上安裝Ubuntu 10.04作為節(jié)點(diǎn),快速安裝程序在前端上為節(jié)點(diǎn)共享鏡像創(chuàng)建一個(gè)NFS共享。
所有一切都是在命令行中完成的,OpenNebula完全沒有Web界面,下面是一些常用的重要命令:
Oneimage(添加/列表/刪除鏡像/將ISO文件保存到倉庫/設(shè)置鏡像屬性);
Onevm(創(chuàng)建/刪除/啟動(dòng)/停止VM/其它和VM相關(guān)的雜項(xiàng)功能);
Oneacct(獲得主機(jī)/VM/用戶的計(jì)費(fèi)/賬單數(shù)據(jù));
Onecluster(列表/創(chuàng)建/刪除集群);
Onehost(添加/刪除/同步主機(jī));
Oneuser(創(chuàng)建/刪除/列出用戶);
Onevnet(創(chuàng)建/修改/刪除虛擬網(wǎng)絡(luò))。
OpenNebula支持多種身份驗(yàn)證方案,包括基本的用戶名和密碼驗(yàn)證(使用SQLlite或MySQL數(shù)據(jù)庫管理用戶信息),和通過SSH密鑰驗(yàn)證,還有一個(gè)新的LDAP插件,但我們未能成功使用活動(dòng)目錄進(jìn)行身份驗(yàn)證,OpenNebula的文檔也缺乏相關(guān)問題的解決方案。
OpenNebula還有一個(gè)插件安裝oneacct命令,它允許你查看實(shí)例運(yùn)行時(shí)長,運(yùn)行人員,所在主機(jī)和其它細(xì)節(jié)信息,這些信息可以用于計(jì)費(fèi)。
OpenNebula的模塊化設(shè)計(jì)使得它的未來一片光明,和其它開源產(chǎn)品一起,它們讓創(chuàng)建私有云平臺(tái)變得更廉價(jià),但OpenNebula的文檔還有大量的工作要做,我們希望它能和產(chǎn)品更新保持同步。
OpenNebula包含許多有用的工具,但它的強(qiáng)項(xiàng)還是在核心工具上,因此適合開發(fā)人員和管理人員使用,普通用戶還是遠(yuǎn)觀為宜。
#p#
總結(jié)
總體而言,使用我們?cè)u(píng)估的工具創(chuàng)建一個(gè)私有云平臺(tái)任務(wù)很艱巨,需要做大量的前期配置工作,除了要支持各種Hypervisor外,還要想法聚合/物化資源池,讓它們?cè)谡麄€(gè)實(shí)例生命周期內(nèi)很容易訪問和使用。
Novell的Cloud Manager是做得最好的,并且原生支持計(jì)費(fèi),Citrix的自助服務(wù)門戶建立在Lab Manager之上,并需要XenServer,Cloud.com將為它的兩款產(chǎn)品提供更好的兼容性,但目前還不能做定論,因?yàn)橐磺卸歼€在進(jìn)行中,我們向開發(fā)人員和高級(jí)系統(tǒng)使用者推薦OpenNeBula,最后是企業(yè)版Eucalyptus,Eucalyptus可以控制,但企業(yè)版讓我們非常痛苦。
也許你看了本文的評(píng)論后,原本設(shè)想好的私有云計(jì)劃會(huì)因此而擱淺,的確,在私有云道路上布滿了荊棘,但我更喜歡將其比作是帶刺的玫瑰,有膽量,有魄力,你就一定會(huì)取得成功,但如果你唯唯諾諾,膽小怕事,我只想說,私有云不是為你準(zhǔn)備的。
原文名:Private clouds: Not for the faint of heart 作者:Tom Henderson和Brendan Allen
【本文乃51CTO精選譯文,轉(zhuǎn)載請(qǐng)標(biāo)明出處!】
【編輯推薦】