陳凱 中國(guó)信息通信研究院技術(shù)與標(biāo)準(zhǔn)研究所高級(jí)工程師
OpenStack私有云的測(cè)試與評(píng)估
陳凱 中國(guó)信息通信研究院技術(shù)與標(biāo)準(zhǔn)研究所高級(jí)工程師
OpenStack建設(shè)私有云已經(jīng)成為一種趨勢(shì),因而產(chǎn)生了對(duì)OpenStack私有云進(jìn)行測(cè)試與評(píng)估的需求。本文介紹了OpenStack私有云的發(fā)展現(xiàn)狀,分析了測(cè)試和評(píng)估的需求,最后對(duì)測(cè)試方案和評(píng)估方法進(jìn)行了研究和分析。
OpenStack;私有云;測(cè)試;評(píng)估
OpenStack由NASA(美國(guó)國(guó)家航空航天局)和Rackspace(云解決方案公司)合作開發(fā),經(jīng)Apache2.0許可授權(quán),以Python語言為基礎(chǔ),由多個(gè)組件組成的完全開源項(xiàng)目。它提供了一個(gè)部署云的操作平臺(tái)或工具集合。截至2015年底,OpenStack社區(qū)成員已經(jīng)超過3.2萬名,擁有來自近200個(gè)國(guó)家的開發(fā)者和用戶,項(xiàng)目代碼總行數(shù)超過400萬行,支持企業(yè)550余家。OpenStack正憑借其開放先進(jìn)的架構(gòu)、高效的社區(qū)開發(fā)、靈活的部署模式,成為全球發(fā)展最快的云計(jì)算開源社區(qū)。
根據(jù)Talligent公司發(fā)布的《2016年OpenStack狀態(tài)報(bào)告》,“OpenStack正在逐漸成為所有企業(yè)創(chuàng)建私有云和混合云時(shí)的首選,缺乏運(yùn)營(yíng)工具和管理成本結(jié)構(gòu)問題已經(jīng)成為了OpenStack部署中所面臨的兩大主要挑戰(zhàn)。”這份報(bào)告顯示,熟悉OpenStack并正在使用的占30%,正在評(píng)估的占32%,熟悉但還沒有部署的占36%。調(diào)查結(jié)果還顯示,OpenStack的主要推動(dòng)因素包括了受訪者的感受,例如認(rèn)為公有云成本仍然過高(61%),以及渴望使用OpenStack云提升IT服務(wù)交付的響應(yīng)能力(59%)。61%的受訪者部署OpenStack是為了應(yīng)對(duì)公有云方案的開銷。54%的受訪者認(rèn)為,在未來5年內(nèi)他們所使用的云均為私有云,或是主要為私有云(見圖1)。

圖1 推動(dòng)部署OpenStack的積極性和需求
只經(jīng)過了6年時(shí)間,在用戶感興趣的云服務(wù)(包括公有云和私有云)排名中,OpenStack的私有云已經(jīng)排名第二,并且與排名第一的AWS公有云相差不大。與公有云相比,私有云安全性可以更容易地控制,因此在國(guó)內(nèi),OpenStack私有云的發(fā)展也越發(fā)迅猛。2016年以來,國(guó)內(nèi)已經(jīng)開始出現(xiàn)OpenStack千萬元級(jí)別的訂單。近日,中央國(guó)家機(jī)關(guān)2016軟件協(xié)議供貨虛擬化軟件采購項(xiàng)目中標(biāo)名單公布,不僅有華為、烽火等大型網(wǎng)絡(luò)通信公司的OpenStack解決方案,也有多家國(guó)內(nèi)的初創(chuàng)企業(yè)憑借其優(yōu)秀的OpenStack解決方案成功入圍。
OpenStack的優(yōu)勢(shì)在于其組件化的框架,因?yàn)榧夹g(shù)框架允許自由的選擇可用組件,私有云落地方案中,可以只選擇需要的組件進(jìn)行安裝。因?yàn)榭蚣茉试S插入不同組件,所以O(shè)penStack社區(qū)也獲得了更多廠商的支持,社區(qū)活躍度也比較高。在企業(yè)實(shí)施落地方案的時(shí)候,可以有更多的選擇余地,對(duì)遇到的問題,也有了更多、更快的響應(yīng)。
世界范圍內(nèi)數(shù)以萬計(jì)的工程師基于OpenStack構(gòu)建了一套又一套云環(huán)境,這些云環(huán)境雖然都是OpenStack,但又各有不同。OpenStack中有上千配置項(xiàng),計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、負(fù)載均衡、數(shù)據(jù)分析、容器服務(wù)等每一塊又可以對(duì)接不同的后端,各種后端的配置又有諸多技巧。
測(cè)試可以讓我們了解OpenStack環(huán)境的極限和瓶頸,了解OpenStack系統(tǒng)的穩(wěn)定性和易用性,了解兩個(gè)OpenStack集群是否能很好地相處,了解在OpenStack上花的投資是否真的能夠幫到我們的業(yè)務(wù),并給用戶決策提供依據(jù)。
由于OpenStack的產(chǎn)品化的復(fù)雜性,搭建落地到將來的升級(jí),以及后續(xù)的二次開發(fā),都需要進(jìn)行不少的開發(fā)和測(cè)試人力投入。而且OpenStack社區(qū)非常活躍,版本升級(jí)周期較短,每半年發(fā)布一個(gè)新的版本,每一個(gè)新的版本都會(huì)加入很多新的特性。對(duì)于互聯(lián)網(wǎng)公司來說,即使有著比較成熟的運(yùn)維團(tuán)隊(duì)和研發(fā)團(tuán)隊(duì),仍然會(huì)有很大的壓力。而對(duì)于那些希望采用OpenStack私有云的企業(yè)來說,測(cè)試與評(píng)估將面臨更大的困難。
如何能夠減輕測(cè)試和評(píng)估的壓力?第三方權(quán)威測(cè)試機(jī)構(gòu)的公開測(cè)試是一個(gè)很好的嘗試。在客觀、公正的第三方權(quán)威測(cè)試的基礎(chǔ)上,不再需要對(duì)OpenStack私有云進(jìn)行單獨(dú)測(cè)試,只需要參考權(quán)威測(cè)試的結(jié)果完成采購即可,減少了目前機(jī)制下的大量重復(fù)勞動(dòng),有效提升了設(shè)備采購以及建設(shè)效率。
私有云測(cè)試方案除了包含功能和性能(壓力)測(cè)試之外,還應(yīng)包括互操作性、可用性、運(yùn)維能力、安全性、資源調(diào)配能力和異構(gòu)虛擬化主機(jī)等多個(gè)方面。功能性和集成(部署、API互操作性、壓力測(cè)試、資源調(diào)配能力)測(cè)試可以采用社區(qū)提供的自動(dòng)化測(cè)試套件,可用性、運(yùn)維能力、安全性和異構(gòu)虛擬化主機(jī)等方面需要根據(jù)實(shí)際的測(cè)試環(huán)境進(jìn)行技術(shù)測(cè)試。
3.1 功能性測(cè)試(Tempest)
Tempest是隨OpenStack開發(fā)的測(cè)試套件,能夠?qū)penStack各個(gè)Service和Api進(jìn)行全面測(cè)試。Tempest項(xiàng)目發(fā)布在OpenStack的Github上,和OpenStack代碼有相同的分支,用戶可以根據(jù)自己的OpenStack環(huán)境Clone相應(yīng)的分支測(cè)試當(dāng)前OpenStack環(huán)境。
Tempest也是OpenStack的集成測(cè)試框架,它的實(shí)現(xiàn)基于Python的Unittest2測(cè)試框架和Nose測(cè)試框架。Tempest對(duì)OpenStack終端發(fā)起一系列API請(qǐng)求,并且對(duì)終端的響應(yīng)進(jìn)行驗(yàn)證。Tempest通過Config文件來描述整個(gè)測(cè)試環(huán)境,包括Compute API端點(diǎn),KeystoneServer以及GlanceServer安裝的鏡像的UUID等信息。Tempest可以自動(dòng)查找當(dāng)前目錄下所有以Test開頭的Python源文件,并且按此規(guī)則遞歸查找子目錄;所有以Test開頭的Python源文件里所有以Test開頭的Function和Class,以及繼承自Unittest.TestCase的Class都會(huì)被執(zhí)行。
在Tempest基礎(chǔ)上可以做二次開發(fā),開發(fā)穩(wěn)定性測(cè)試工具,測(cè)試系統(tǒng)在OpenStack有負(fù)載的情況下的可靠性和可用性。
3.2 集成測(cè)試(Rally)
Rally集成了部署、API測(cè)試、壓力測(cè)試等功能,但一般用Devstack部署,Tempest做API測(cè)試,因此Rally常用于模擬高并發(fā)場(chǎng)景的壓力測(cè)試和資源調(diào)配能力測(cè)試(見圖2)。Rally測(cè)試OpenStack在并發(fā)下API的相應(yīng)時(shí)間和請(qǐng)求成功率,從而測(cè)試出OpenStack的規(guī)模和性能。

圖2 Raliy集成測(cè)試架構(gòu)圖
Rally是OpenStack的一個(gè)基準(zhǔn)測(cè)試即服務(wù)的項(xiàng)目(Benchmark-as-a-Service)。目的在于向社區(qū)提供一個(gè)能夠在真實(shí)的部署環(huán)境上執(zhí)行特定的、復(fù)雜的且可重復(fù)的測(cè)試用例的基準(zhǔn)測(cè)試工具。
3.3 可用性
(1)物理節(jié)點(diǎn)高可用
驗(yàn)證物理節(jié)點(diǎn)在計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、控制節(jié)點(diǎn)出現(xiàn)單點(diǎn)故障時(shí),是否能保證平臺(tái)正常的服務(wù)能力,以及工作負(fù)載是否能夠根據(jù)實(shí)際負(fù)載進(jìn)行調(diào)整。
(2)虛擬機(jī)高可用
驗(yàn)證虛擬機(jī)所在節(jié)點(diǎn)故障是否可以在其他節(jié)點(diǎn)啟動(dòng)。
在線遷移
OpenStack云平臺(tái)環(huán)境上線運(yùn)行后,考慮數(shù)據(jù)中心服務(wù)器的負(fù)載均衡和容災(zāi)的需要,經(jīng)常需要在不停機(jī)的狀態(tài)下完成虛擬機(jī)跨物理機(jī)和跨數(shù)據(jù)中心的遷移。實(shí)現(xiàn)了共享存儲(chǔ)后,整個(gè)遷移過程會(huì)很快,用戶幾乎感知不到遷移過程的影響。
宕機(jī)遷移
在虛擬機(jī)所在的宿主機(jī)因?yàn)楦鞣N原因宕機(jī)后,即便虛擬化服務(wù)和虛擬機(jī)本身沒有出問題,也不能對(duì)外正常提供服務(wù),可以借助物理機(jī)宕機(jī)遷移的策略恢復(fù)虛擬機(jī)的工作。
3.4 運(yùn)維系統(tǒng)功能
資源監(jiān)控,驗(yàn)證解決方案是否支持虛擬機(jī)的CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)監(jiān)控和資源池CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)使用情況,是否具備租戶的邏輯網(wǎng)絡(luò)拓?fù)涔δ堋?/p>
故障管理,驗(yàn)證解決方案具備故障告警能力,包括告警級(jí)別劃分、告警閾值配置、服務(wù)臺(tái)集中告警管理、郵件或短信通知告警的功能。
日志管理,驗(yàn)證解決方案具備日志管理能力,包括查看日志、下載日志、日志遠(yuǎn)程同步的功能。
權(quán)限管理,驗(yàn)證解決方案具備平臺(tái)管理員和租戶管理員的管理功能。
3.5 安全性
驗(yàn)證解決方案是否包含代碼漏洞和后門程序,是否在網(wǎng)絡(luò)層實(shí)現(xiàn)安全隔離。
3.6 異構(gòu)虛擬化主機(jī)
驗(yàn)證解決方案是否具備虛擬化主機(jī)異構(gòu)能力,是否可以納管Vmware等虛擬化平臺(tái)。
4.1 私有云評(píng)估方法應(yīng)考慮的因素
與公有云有統(tǒng)一的服務(wù)協(xié)議不同,私有云屬于客戶定制化服務(wù),無法確定統(tǒng)一的服務(wù)承諾,因?yàn)椴煌蛻敉ǔ?huì)有不同的需求。但是隨著公有云的不斷深入人心,私有云的服務(wù)協(xié)議也應(yīng)逐漸向公有云靠攏,在滿足行業(yè)規(guī)范性要求的基礎(chǔ)上,將用戶最關(guān)心的一些服務(wù)指標(biāo)明確地告知用戶,因此評(píng)估方法的維度應(yīng)包含以下3個(gè)方面:
(1)企業(yè)信息真實(shí)性披露,即參評(píng)企業(yè)基本信息和業(yè)務(wù)基本信息是否可信。
(2)解決方案質(zhì)量評(píng)價(jià),即開源云計(jì)算解決方案是否達(dá)到基本的軟件產(chǎn)品能力要求。
(3)產(chǎn)品服務(wù)指標(biāo)的完備性和規(guī)范性,即參評(píng)云計(jì)算產(chǎn)品服務(wù)協(xié)議是否就用戶關(guān)心的關(guān)鍵問題都做了承諾或告知,承諾或告知的描述是否規(guī)范。
第一個(gè)維度的評(píng)估方法
主要采用材料審查的方式,對(duì)參評(píng)企業(yè)基本信息和業(yè)務(wù)基本信息的真實(shí)性進(jìn)行驗(yàn)證。企業(yè)基本信息包括經(jīng)營(yíng)資質(zhì)、規(guī)模、人員等,業(yè)務(wù)基本信息包括業(yè)務(wù)名稱、起始時(shí)間、支付方式等。通過的準(zhǔn)則是參評(píng)云業(yè)務(wù)提交的基本信息材料必須真實(shí),所有必選項(xiàng)必須通過。
第二個(gè)維度的評(píng)估方法
采用技術(shù)測(cè)試和材料審查結(jié)合的方式,對(duì)參評(píng)解決方案的云平臺(tái)基礎(chǔ)功能、運(yùn)維系統(tǒng)功能、文檔完備性、可用性、互操作性、安全性、資源調(diào)配能力、資源調(diào)度效率進(jìn)行技術(shù)測(cè)試,產(chǎn)品要具備必要的功能并達(dá)到相應(yīng)的可靠性和用戶體驗(yàn)性能。
第三個(gè)維度的評(píng)估方法
本維度考察廠商是否就用戶關(guān)心的所有指標(biāo)和條款進(jìn)行了承諾或說明,承諾或說明的出處為服務(wù)協(xié)議(含SLA)和其他說明文檔,如白皮書等。需承諾或說明的指標(biāo)和條款為推薦的所有指標(biāo)項(xiàng)和條款項(xiàng)。
4.2 私有云評(píng)估方法
2016年3 月,云計(jì)算開源產(chǎn)業(yè)聯(lián)盟組織了20多家會(huì)員單位共同制定了可信云開源解決方案評(píng)估方法。此方法突出了云計(jì)算和開源的兩個(gè)特征,技術(shù)測(cè)試結(jié)合材料審核,對(duì)包括功能性、可維護(hù)性、利用性、可靠性、互操作、安全性、可擴(kuò)展性、兼容性、性能、產(chǎn)品周期、運(yùn)維服務(wù)和權(quán)益保障,有12大類43個(gè)指標(biāo)進(jìn)行測(cè)試。
2016年6~8 月,云計(jì)算開源產(chǎn)業(yè)聯(lián)盟開始組織OpenStack私有云的評(píng)估認(rèn)證工作,由中國(guó)信息通信研究院負(fù)責(zé)測(cè)試評(píng)估,是可信云認(rèn)證體系的新的品牌。旨在為了引導(dǎo)云計(jì)算開源廠商提升和規(guī)范自身的技術(shù)與服務(wù)能力,在市場(chǎng)樹立云計(jì)算開源技術(shù)和服務(wù)體系標(biāo)桿,推動(dòng)我國(guó)私有云發(fā)展,建立和完善云計(jì)算開源的新體系。
首批通過認(rèn)證的開源解決方案的是華為、華三、烽火、EasyStack、UMCloud、云途騰、中聯(lián)潤(rùn)通7家廠商。
隨著OpenStack披荊斬棘,在連續(xù)贏下銀行、政府、電信等行業(yè)新的客戶案例的同時(shí),OpenStack已經(jīng)成為業(yè)界最成功的私有云技術(shù)方案。但是目前真正能夠起到實(shí)效的OpenStack用例數(shù)量還不是特別多,在穩(wěn)定性、完整性、高可用性、易用性、雙活和容災(zāi)等方面還存在不足。
公有云和私有云之間并不是那種直接對(duì)立的關(guān)系,而是一種相輔相成的關(guān)系。公有云先一步蓬勃發(fā)展,但是發(fā)展到一定程度的時(shí)候,私有云的好處就會(huì)凸顯出來。無論是從架構(gòu)上、軟件上、應(yīng)用上、乃至各個(gè)層面上,用戶在已經(jīng)完全習(xí)慣和熟知云概念后,從公有云轉(zhuǎn)到私有云其實(shí)是一件很容易的事情。私有云的好處首先在于安全,對(duì)企業(yè)核心數(shù)據(jù)的保護(hù),是現(xiàn)在很多國(guó)內(nèi)外的企業(yè)優(yōu)先考慮的要素,較低的成本也是一個(gè)重要的因素。
2016年被很多人稱為混合云元年,也說明了私有云與公有云相互結(jié)合的重要性。考慮到目前市場(chǎng)、政策環(huán)境等因素,OpenStack私有云仍然擁有著良好的發(fā)展機(jī)遇,因此OpenStack私有云的測(cè)試與評(píng)估還有許多工作要做,測(cè)試方案和評(píng)估方法還需要不斷地完善和發(fā)展。
2016-11-20)