陳凱 中國信息通信研究院技術與標準研究所高級工程師
OpenStack私有云的測試與評估
陳凱 中國信息通信研究院技術與標準研究所高級工程師
OpenStack建設私有云已經成為一種趨勢,因而產生了對OpenStack私有云進行測試與評估的需求。本文介紹了OpenStack私有云的發(fā)展現狀,分析了測試和評估的需求,最后對測試方案和評估方法進行了研究和分析。
OpenStack;私有云;測試;評估
OpenStack由NASA(美國國家航空航天局)和Rackspace(云解決方案公司)合作開發(fā),經Apache2.0許可授權,以Python語言為基礎,由多個組件組成的完全開源項目。它提供了一個部署云的操作平臺或工具集合。截至2015年底,OpenStack社區(qū)成員已經超過3.2萬名,擁有來自近200個國家的開發(fā)者和用戶,項目代碼總行數超過400萬行,支持企業(yè)550余家。OpenStack正憑借其開放先進的架構、高效的社區(qū)開發(fā)、靈活的部署模式,成為全球發(fā)展最快的云計算開源社區(qū)。
根據Talligent公司發(fā)布的《2016年OpenStack狀態(tài)報告》,“OpenStack正在逐漸成為所有企業(yè)創(chuàng)建私有云和混合云時的首選,缺乏運營工具和管理成本結構問題已經成為了OpenStack部署中所面臨的兩大主要挑戰(zhàn)?!边@份報告顯示,熟悉OpenStack并正在使用的占30%,正在評估的占32%,熟悉但還沒有部署的占36%。調查結果還顯示,OpenStack的主要推動因素包括了受訪者的感受,例如認為公有云成本仍然過高(61%),以及渴望使用OpenStack云提升IT服務交付的響應能力(59%)。61%的受訪者部署OpenStack是為了應對公有云方案的開銷。54%的受訪者認為,在未來5年內他們所使用的云均為私有云,或是主要為私有云(見圖1)。
圖1 推動部署OpenStack的積極性和需求
只經過了6年時間,在用戶感興趣的云服務(包括公有云和私有云)排名中,OpenStack的私有云已經排名第二,并且與排名第一的AWS公有云相差不大。與公有云相比,私有云安全性可以更容易地控制,因此在國內,OpenStack私有云的發(fā)展也越發(fā)迅猛。2016年以來,國內已經開始出現OpenStack千萬元級別的訂單。近日,中央國家機關2016軟件協議供貨虛擬化軟件采購項目中標名單公布,不僅有華為、烽火等大型網絡通信公司的OpenStack解決方案,也有多家國內的初創(chuàng)企業(yè)憑借其優(yōu)秀的OpenStack解決方案成功入圍。
OpenStack的優(yōu)勢在于其組件化的框架,因為技術框架允許自由的選擇可用組件,私有云落地方案中,可以只選擇需要的組件進行安裝。因為框架允許插入不同組件,所以OpenStack社區(qū)也獲得了更多廠商的支持,社區(qū)活躍度也比較高。在企業(yè)實施落地方案的時候,可以有更多的選擇余地,對遇到的問題,也有了更多、更快的響應。
世界范圍內數以萬計的工程師基于OpenStack構建了一套又一套云環(huán)境,這些云環(huán)境雖然都是OpenStack,但又各有不同。OpenStack中有上千配置項,計算、存儲、網絡、負載均衡、數據分析、容器服務等每一塊又可以對接不同的后端,各種后端的配置又有諸多技巧。
測試可以讓我們了解OpenStack環(huán)境的極限和瓶頸,了解OpenStack系統(tǒng)的穩(wěn)定性和易用性,了解兩個OpenStack集群是否能很好地相處,了解在OpenStack上花的投資是否真的能夠幫到我們的業(yè)務,并給用戶決策提供依據。
由于OpenStack的產品化的復雜性,搭建落地到將來的升級,以及后續(xù)的二次開發(fā),都需要進行不少的開發(fā)和測試人力投入。而且OpenStack社區(qū)非?;钴S,版本升級周期較短,每半年發(fā)布一個新的版本,每一個新的版本都會加入很多新的特性。對于互聯網公司來說,即使有著比較成熟的運維團隊和研發(fā)團隊,仍然會有很大的壓力。而對于那些希望采用OpenStack私有云的企業(yè)來說,測試與評估將面臨更大的困難。
如何能夠減輕測試和評估的壓力?第三方權威測試機構的公開測試是一個很好的嘗試。在客觀、公正的第三方權威測試的基礎上,不再需要對OpenStack私有云進行單獨測試,只需要參考權威測試的結果完成采購即可,減少了目前機制下的大量重復勞動,有效提升了設備采購以及建設效率。
私有云測試方案除了包含功能和性能(壓力)測試之外,還應包括互操作性、可用性、運維能力、安全性、資源調配能力和異構虛擬化主機等多個方面。功能性和集成(部署、API互操作性、壓力測試、資源調配能力)測試可以采用社區(qū)提供的自動化測試套件,可用性、運維能力、安全性和異構虛擬化主機等方面需要根據實際的測試環(huán)境進行技術測試。
3.1 功能性測試(Tempest)
Tempest是隨OpenStack開發(fā)的測試套件,能夠對OpenStack各個Service和Api進行全面測試。Tempest項目發(fā)布在OpenStack的Github上,和OpenStack代碼有相同的分支,用戶可以根據自己的OpenStack環(huán)境Clone相應的分支測試當前OpenStack環(huán)境。
Tempest也是OpenStack的集成測試框架,它的實現基于Python的Unittest2測試框架和Nose測試框架。Tempest對OpenStack終端發(fā)起一系列API請求,并且對終端的響應進行驗證。Tempest通過Config文件來描述整個測試環(huán)境,包括Compute API端點,KeystoneServer以及GlanceServer安裝的鏡像的UUID等信息。Tempest可以自動查找當前目錄下所有以Test開頭的Python源文件,并且按此規(guī)則遞歸查找子目錄;所有以Test開頭的Python源文件里所有以Test開頭的Function和Class,以及繼承自Unittest.TestCase的Class都會被執(zhí)行。
在Tempest基礎上可以做二次開發(fā),開發(fā)穩(wěn)定性測試工具,測試系統(tǒng)在OpenStack有負載的情況下的可靠性和可用性。
3.2 集成測試(Rally)
Rally集成了部署、API測試、壓力測試等功能,但一般用Devstack部署,Tempest做API測試,因此Rally常用于模擬高并發(fā)場景的壓力測試和資源調配能力測試(見圖2)。Rally測試OpenStack在并發(fā)下API的相應時間和請求成功率,從而測試出OpenStack的規(guī)模和性能。
圖2 Raliy集成測試架構圖
Rally是OpenStack的一個基準測試即服務的項目(Benchmark-as-a-Service)。目的在于向社區(qū)提供一個能夠在真實的部署環(huán)境上執(zhí)行特定的、復雜的且可重復的測試用例的基準測試工具。
3.3 可用性
(1)物理節(jié)點高可用
驗證物理節(jié)點在計算、存儲、網絡、控制節(jié)點出現單點故障時,是否能保證平臺正常的服務能力,以及工作負載是否能夠根據實際負載進行調整。
(2)虛擬機高可用
驗證虛擬機所在節(jié)點故障是否可以在其他節(jié)點啟動。
在線遷移
OpenStack云平臺環(huán)境上線運行后,考慮數據中心服務器的負載均衡和容災的需要,經常需要在不停機的狀態(tài)下完成虛擬機跨物理機和跨數據中心的遷移。實現了共享存儲后,整個遷移過程會很快,用戶幾乎感知不到遷移過程的影響。
宕機遷移
在虛擬機所在的宿主機因為各種原因宕機后,即便虛擬化服務和虛擬機本身沒有出問題,也不能對外正常提供服務,可以借助物理機宕機遷移的策略恢復虛擬機的工作。
3.4 運維系統(tǒng)功能
資源監(jiān)控,驗證解決方案是否支持虛擬機的CPU、內存、存儲、網絡監(jiān)控和資源池CPU、內存、存儲、網絡使用情況,是否具備租戶的邏輯網絡拓撲功能。
故障管理,驗證解決方案具備故障告警能力,包括告警級別劃分、告警閾值配置、服務臺集中告警管理、郵件或短信通知告警的功能。
日志管理,驗證解決方案具備日志管理能力,包括查看日志、下載日志、日志遠程同步的功能。
權限管理,驗證解決方案具備平臺管理員和租戶管理員的管理功能。
3.5 安全性
驗證解決方案是否包含代碼漏洞和后門程序,是否在網絡層實現安全隔離。
3.6 異構虛擬化主機
驗證解決方案是否具備虛擬化主機異構能力,是否可以納管Vmware等虛擬化平臺。
4.1 私有云評估方法應考慮的因素
與公有云有統(tǒng)一的服務協議不同,私有云屬于客戶定制化服務,無法確定統(tǒng)一的服務承諾,因為不同客戶通常會有不同的需求。但是隨著公有云的不斷深入人心,私有云的服務協議也應逐漸向公有云靠攏,在滿足行業(yè)規(guī)范性要求的基礎上,將用戶最關心的一些服務指標明確地告知用戶,因此評估方法的維度應包含以下3個方面:
(1)企業(yè)信息真實性披露,即參評企業(yè)基本信息和業(yè)務基本信息是否可信。
(2)解決方案質量評價,即開源云計算解決方案是否達到基本的軟件產品能力要求。
(3)產品服務指標的完備性和規(guī)范性,即參評云計算產品服務協議是否就用戶關心的關鍵問題都做了承諾或告知,承諾或告知的描述是否規(guī)范。
第一個維度的評估方法
主要采用材料審查的方式,對參評企業(yè)基本信息和業(yè)務基本信息的真實性進行驗證。企業(yè)基本信息包括經營資質、規(guī)模、人員等,業(yè)務基本信息包括業(yè)務名稱、起始時間、支付方式等。通過的準則是參評云業(yè)務提交的基本信息材料必須真實,所有必選項必須通過。
第二個維度的評估方法
采用技術測試和材料審查結合的方式,對參評解決方案的云平臺基礎功能、運維系統(tǒng)功能、文檔完備性、可用性、互操作性、安全性、資源調配能力、資源調度效率進行技術測試,產品要具備必要的功能并達到相應的可靠性和用戶體驗性能。
第三個維度的評估方法
本維度考察廠商是否就用戶關心的所有指標和條款進行了承諾或說明,承諾或說明的出處為服務協議(含SLA)和其他說明文檔,如白皮書等。需承諾或說明的指標和條款為推薦的所有指標項和條款項。
4.2 私有云評估方法
2016年3 月,云計算開源產業(yè)聯盟組織了20多家會員單位共同制定了可信云開源解決方案評估方法。此方法突出了云計算和開源的兩個特征,技術測試結合材料審核,對包括功能性、可維護性、利用性、可靠性、互操作、安全性、可擴展性、兼容性、性能、產品周期、運維服務和權益保障,有12大類43個指標進行測試。
2016年6~8 月,云計算開源產業(yè)聯盟開始組織OpenStack私有云的評估認證工作,由中國信息通信研究院負責測試評估,是可信云認證體系的新的品牌。旨在為了引導云計算開源廠商提升和規(guī)范自身的技術與服務能力,在市場樹立云計算開源技術和服務體系標桿,推動我國私有云發(fā)展,建立和完善云計算開源的新體系。
首批通過認證的開源解決方案的是華為、華三、烽火、EasyStack、UMCloud、云途騰、中聯潤通7家廠商。
隨著OpenStack披荊斬棘,在連續(xù)贏下銀行、政府、電信等行業(yè)新的客戶案例的同時,OpenStack已經成為業(yè)界最成功的私有云技術方案。但是目前真正能夠起到實效的OpenStack用例數量還不是特別多,在穩(wěn)定性、完整性、高可用性、易用性、雙活和容災等方面還存在不足。
公有云和私有云之間并不是那種直接對立的關系,而是一種相輔相成的關系。公有云先一步蓬勃發(fā)展,但是發(fā)展到一定程度的時候,私有云的好處就會凸顯出來。無論是從架構上、軟件上、應用上、乃至各個層面上,用戶在已經完全習慣和熟知云概念后,從公有云轉到私有云其實是一件很容易的事情。私有云的好處首先在于安全,對企業(yè)核心數據的保護,是現在很多國內外的企業(yè)優(yōu)先考慮的要素,較低的成本也是一個重要的因素。
2016年被很多人稱為混合云元年,也說明了私有云與公有云相互結合的重要性??紤]到目前市場、政策環(huán)境等因素,OpenStack私有云仍然擁有著良好的發(fā)展機遇,因此OpenStack私有云的測試與評估還有許多工作要做,測試方案和評估方法還需要不斷地完善和發(fā)展。
2016-11-20)