方躍龍
(國家管網(wǎng)集團(tuán)東部原油儲運(yùn)有限公司,徐州221008)
IaaS(Infrastructure as a Service),即基礎(chǔ)設(shè)施即服務(wù)[1],指把計(jì)算機(jī)、存儲、網(wǎng)絡(luò)等各類IT基礎(chǔ)資源作為一種服務(wù)通過互聯(lián)網(wǎng)絡(luò)向用戶提供,用戶不必構(gòu)建自己的數(shù)據(jù)中心。在云計(jì)算的三種服務(wù)類型(SaaS、PaaS、IaaS)中,IaaS具有最高的靈活性與對基礎(chǔ)資源的管控能力[2]。
隨著企業(yè)信息化技術(shù)的不斷提高,信息數(shù)據(jù)的安全性和完整性對企業(yè)的重要意義也愈發(fā)顯著。利用IaaS云平臺技術(shù)搭建災(zāi)備云平臺,成了各大廠商的第一選擇。當(dāng)前國內(nèi)的IaaS市場主要有阿里云、騰訊云、百度云、中國電信、AWS(中國)、華為云、金山云等諸多廠商產(chǎn)品。面對如此繁雜的云平臺產(chǎn)品的,用戶需要對其進(jìn)行POC功能性測試,選出符合自身需求的云平臺。
POC(Proof Of Concept),即概念驗(yàn)證。通常是企業(yè)進(jìn)行產(chǎn)品選型時(shí)或開展外部實(shí)施項(xiàng)目前,進(jìn)行的一種產(chǎn)品或供應(yīng)商能力驗(yàn)證工作[3]。進(jìn)行災(zāi)備云平臺的POC測試,需要首先掌握用戶對災(zāi)備平臺的性能、實(shí)現(xiàn)功能和擴(kuò)展的需求,在此基礎(chǔ)上,在測試用的云平臺上模擬真實(shí)情況下數(shù)據(jù)的運(yùn)行,觀察在一定用戶數(shù)據(jù)量下云平臺的運(yùn)行情況,檢查云平臺是否能實(shí)現(xiàn)預(yù)想功能,并根據(jù)用戶未來業(yè)務(wù)擴(kuò)展的需求適當(dāng)加大數(shù)據(jù)量,查看此時(shí)云平臺的性能和承載能力。然而由于當(dāng)前云計(jì)算技術(shù)不斷發(fā)展,針對云平臺的測試指標(biāo)和方法仍不完善,因此本文從性能測試角度出發(fā),僅關(guān)注平臺基本性能而不涉及底層架構(gòu),提出了一套針對基于IaaS的災(zāi)備云平臺的通用POC測試指標(biāo)及其測試方法,方便用戶快速有效地完成災(zāi)備云平臺的性能測試,選出合適的產(chǎn)品。
根據(jù)《YD/T 2850-2015災(zāi)備系統(tǒng)性能測試方法》標(biāo)準(zhǔn)要求,衡量災(zāi)備平臺主要采用兩個(gè)主要的容災(zāi)指標(biāo)RTO和RPO作為評判依據(jù)[4]。RTO(Recovery Time Object,恢復(fù)時(shí)間目標(biāo))是指災(zāi)難發(fā)生后,業(yè)務(wù)從停頓到必須恢復(fù)的時(shí)間要求。RPO(Recovery Point Object,恢復(fù)點(diǎn)目標(biāo)),是指災(zāi)難發(fā)生后,災(zāi)備系統(tǒng)能夠把數(shù)據(jù)恢復(fù)到災(zāi)難發(fā)生前的時(shí)間點(diǎn)要求。
對于企業(yè)來說,災(zāi)備平臺的選擇需要在滿足RTO和RPO需求的前提下,選擇合適的災(zāi)備技術(shù),一方面要考慮如何保障自己核心數(shù)據(jù)資產(chǎn)不丟失,一方面要保障核心業(yè)務(wù)如何在最短時(shí)間內(nèi)恢復(fù)。因此,一套合格的災(zāi)備系統(tǒng)應(yīng)該滿足以下建設(shè)要求:
(1)可靠性與實(shí)用性相結(jié)合,可靠性是災(zāi)備平臺建設(shè)和服務(wù)得以延續(xù)的基礎(chǔ),同時(shí)災(zāi)備云平臺設(shè)備選型、設(shè)計(jì)規(guī)劃、運(yùn)維方案等也要考慮現(xiàn)場實(shí)際情況。
(2)安全性,要充分考慮信息數(shù)據(jù)的安全性,建立有效的安全機(jī)制,保障數(shù)據(jù)傳輸安全;
(3)快速性,災(zāi)備云平臺的數(shù)據(jù)備份和災(zāi)備恢復(fù)時(shí)間要短,同時(shí)也要盡可能地減少對主機(jī)資源和網(wǎng)絡(luò)帶寬的消耗;
(4)可擴(kuò)展性,災(zāi)備云平臺能夠兼容主流應(yīng)用系統(tǒng)和數(shù)據(jù)庫部署方式,滿足用戶業(yè)務(wù)擴(kuò)展要求;
(5)統(tǒng)一運(yùn)維管理,具有統(tǒng)一的運(yùn)營管理平臺,為用戶提供統(tǒng)一的資源分析理、運(yùn)維監(jiān)控等功能。
根據(jù)災(zāi)備云平臺整體建設(shè)要求,為方便用戶從眾多云平臺產(chǎn)品中進(jìn)行選擇,我們分別從云主機(jī)、云平臺網(wǎng)絡(luò)、云平臺性能三個(gè)方面,在不考慮底層硬件架構(gòu)的前提下,列出了災(zāi)備云平臺POC功能性常用的測試項(xiàng)目、測試方法和預(yù)期成果。
2.1.1 云主機(jī)密鑰對登錄
測試方法:新建一臺云主機(jī),配置云主機(jī)的登錄方式使用創(chuàng)建的密鑰對。云主機(jī)創(chuàng)建完成后,使用SSH(Secure Shell,安全外殼協(xié)議)客戶端加載創(chuàng)建的密鑰對登錄云主機(jī),測試是否登錄成功,同時(shí)檢查此時(shí)是否禁用SSH密碼登錄。
預(yù)期結(jié)果:使用SSH客戶端加載創(chuàng)建的密鑰對登錄服務(wù)器成功,云主機(jī)sshd服務(wù)配置禁用了密碼登錄。
2.1.2 云主機(jī)規(guī)格變更
測試內(nèi)容:①創(chuàng)建一臺云主機(jī),分別掛載基于分布式塊存儲的云硬盤,創(chuàng)建NAS存儲,掛載到云主機(jī);②對云主機(jī)的CPU和內(nèi)存進(jìn)行擴(kuò)容,擴(kuò)容成功;③擴(kuò)容已掛載的基于分布式塊存儲的云硬盤,擴(kuò)容成功;④擴(kuò)容掛載到云主機(jī)的NAS存儲,擴(kuò)容成功;⑤為云主機(jī)增加一個(gè)塊虛擬網(wǎng)卡,指定或者自動(dòng)獲取虛擬網(wǎng)卡的IP地址,IP地址配置正確。
預(yù)期結(jié)果:①云主機(jī)CPU和內(nèi)存擴(kuò)容成功;②云主機(jī)掛載的分布式塊存儲擴(kuò)容成功;③云主機(jī)掛載的NAS存儲擴(kuò)容成功;④網(wǎng)卡增加成功。
2.1.3 云主機(jī)整機(jī)冷(熱)遷移
測試方法:在云平臺創(chuàng)建一臺云主機(jī),查看云主機(jī)所在宿主節(jié)點(diǎn)。然后對該主機(jī)執(zhí)行冷(熱)遷移操作,將云主機(jī)遷移到另外的宿主節(jié)點(diǎn)。
預(yù)期結(jié)果:云主機(jī)遷移操作成功,云主機(jī)啟動(dòng)運(yùn)行正常,網(wǎng)絡(luò)配置未改變。
2.1.4 云主機(jī)備份功能
測試方法:創(chuàng)建一臺云主機(jī),掛載一塊云硬盤作為數(shù)據(jù)盤。
①在開機(jī)狀態(tài)下為系統(tǒng)盤和數(shù)據(jù)盤創(chuàng)建手工備份,備份完成后,刪除云主機(jī)上的文件,通過備份進(jìn)行恢復(fù)操作,已刪除文件可以找回;②創(chuàng)建定時(shí)備份任務(wù),確認(rèn)在云主機(jī)開機(jī)狀態(tài)下備份成功,備份成功后,刪除云主機(jī)上的文件,通過備份進(jìn)行恢復(fù)操作,已刪除文件可以找回。
預(yù)期結(jié)果:支持手動(dòng)和定時(shí)創(chuàng)建云主機(jī)備份,云硬盤上的數(shù)據(jù)刪除后通過云硬盤備份功能可以進(jìn)行數(shù)據(jù)恢復(fù),同時(shí)云主機(jī)的IP等未發(fā)生變化。
2.1.5 云硬盤的快照備份與恢復(fù)
測試方法:①創(chuàng)建一臺云主機(jī),掛載一塊云硬盤作為數(shù)據(jù)盤,在系統(tǒng)盤和數(shù)據(jù)盤寫入文件;②分別為系統(tǒng)盤和數(shù)據(jù)盤創(chuàng)建云硬盤快照,創(chuàng)建成功后,刪除數(shù)據(jù)盤和系統(tǒng)盤上的寫入文件;③使用創(chuàng)建的云硬盤快照恢復(fù)云主機(jī)的數(shù)據(jù)盤和系統(tǒng)盤,恢復(fù)后,啟動(dòng)云主機(jī)驗(yàn)證之前寫入文件是否存在。
預(yù)期結(jié)果:云硬盤快照創(chuàng)建成功,數(shù)據(jù)刪除后通過云硬盤快照功能可以進(jìn)行數(shù)據(jù)恢復(fù),同時(shí)云主機(jī)的IP等基本信息未發(fā)生變化。
2.2.1 VXLAN網(wǎng)絡(luò)支持
測試方法:通過云平臺控制臺,創(chuàng)建1個(gè)基于VXLAN的VPC網(wǎng)絡(luò),并VPC下創(chuàng)建2個(gè)子網(wǎng),再在每個(gè)子網(wǎng)下分別創(chuàng)建一臺云主機(jī),并在2臺云主機(jī)的安全組配置上開放ICMP協(xié)議。分別在2臺云主機(jī)上通過Ping工具相互進(jìn)行測試,測試是否可以到達(dá)對端。
預(yù)期結(jié)果:支持VXLAN網(wǎng)絡(luò),主機(jī)之間通過互ping驗(yàn)證可以正常通信。
2.2.2 虛擬私有云(VPC)對等連接
測試方法:①分別在不同的VPC網(wǎng)絡(luò)的子網(wǎng)下創(chuàng)建2臺云主機(jī),開放所有安全組規(guī)則;②配置兩個(gè)VPC下的子網(wǎng)路由;③分別VNC登錄兩臺云主機(jī),ping另外一臺云主機(jī)地址,觀察是否可以互通。
預(yù)期結(jié)果:配置成功,可以直接ping通。
2.2.3 負(fù)載均衡服務(wù)
測試方法:在云平臺創(chuàng)建一個(gè)負(fù)載均衡,后端加入1個(gè)應(yīng)用實(shí)例1,訪問應(yīng)用實(shí)例正常。之后再加入相同的一個(gè)應(yīng)用實(shí)例2到負(fù)載均衡后端,負(fù)載均衡自動(dòng)識別新加入實(shí)例,添加過程中應(yīng)用訪問不中斷,且添加后2個(gè)實(shí)例均提供服務(wù)。
預(yù)期結(jié)果:添加過程中應(yīng)用訪問不中斷,且添加后2個(gè)實(shí)例均提供服務(wù)。
2.2.4 QoS控制
測試方法:創(chuàng)建虛擬對虛擬網(wǎng)卡通過對虛擬網(wǎng)卡進(jìn)行配置。①通過ML2的使用OVS對虛擬網(wǎng)卡進(jìn)行配置,對對虛擬機(jī)的網(wǎng)絡(luò)I/O進(jìn)行限制;②通過GBP實(shí)現(xiàn)網(wǎng)絡(luò)QoS的限制。
預(yù)期結(jié)果:網(wǎng)絡(luò)QoS控制成功。
2.3.1 異構(gòu)虛擬機(jī)鏡像上傳
測試方法:測試方將統(tǒng)一提供的鏡像文件通過云平臺上傳,通過已上傳鏡像創(chuàng)建新的云主機(jī),配置網(wǎng)絡(luò)并掛載云硬盤。
預(yù)期結(jié)果:支持虛擬機(jī)鏡像上傳功能,由鏡像創(chuàng)建的新云主機(jī)啟動(dòng)正常,網(wǎng)絡(luò)配置和云硬盤掛載功能正常。
2.3.2 云平臺雙因子認(rèn)證登錄
測試方法:打開云平臺控制臺登錄界面,查看登錄方式是否為雙因子認(rèn)證,且通過雙因子認(rèn)證方式登錄成功。
預(yù)期結(jié)果:登錄方式是雙因子認(rèn)證,且通過雙因子認(rèn)證方式登錄成功。
2.3.3 云平臺安全能力
測試方法:①通過云平臺創(chuàng)建一臺堡壘機(jī),可以通過堡壘機(jī)可以登錄到與堡壘機(jī)同VPC的云主機(jī);②在云平臺上創(chuàng)建軟件的WAF,增加WAF的后端服務(wù),驗(yàn)證通過WAF是否可以訪問到后端的服務(wù);③查看平臺是否支持SSL VPN和IPSec VPN,創(chuàng)建VPN服務(wù),并創(chuàng)建賬號密碼,并配置網(wǎng)絡(luò)路由,創(chuàng)建完成后,驗(yàn)證通過VPN是否可以訪問到VPC內(nèi)網(wǎng)的云主機(jī)。
預(yù)期結(jié)果:①通過堡壘機(jī)可以登錄堡壘正常;②通過WAF是否可以訪問到后端的服務(wù);③IPSec VPN和SSL VPN創(chuàng)建成功,且通過VPN可以訪問到VPC內(nèi)網(wǎng)的云主機(jī)。
2.3.4 服務(wù)器和存儲監(jiān)控
測試方法:①通過云平臺,可以監(jiān)控到服務(wù)器的健康狀態(tài)、CPU使用量、內(nèi)存使用量、網(wǎng)絡(luò)流量,以及運(yùn)行在節(jié)點(diǎn)上的云平臺服務(wù)的運(yùn)行狀態(tài);②通過云平臺,可以查看到云平臺存儲的監(jiān)控信息,包括存儲的健康狀況使用情況。
預(yù)期結(jié)果:能夠看到服務(wù)器的健康狀態(tài)、CPU使用量、內(nèi)存使用量、網(wǎng)絡(luò)流量,以及運(yùn)行在節(jié)點(diǎn)上的云平臺服務(wù)的運(yùn)行狀態(tài),能夠看到云平臺存儲的監(jiān)控信息,包括存儲的健康狀況使用情況。
2.3.5 資源分析報(bào)表
測試方法:能夠在管理員界面和租戶項(xiàng)目界面看到云平臺計(jì)算、存儲、網(wǎng)絡(luò)資源的資源使用報(bào)表。
預(yù)期結(jié)果:①能夠看到云平臺計(jì)算資源的CPU、內(nèi)存等信息的統(tǒng)計(jì)報(bào)告表;②能夠查看到云平臺存儲資源的統(tǒng)計(jì)報(bào)表,包括總資源量、資源總使用量、存儲資源的總分配量等;③能夠查看到云平臺網(wǎng)絡(luò)資源的統(tǒng)計(jì)報(bào)表,包括網(wǎng)絡(luò)的資源使用量和分配量。
本文提出了一套基于IaaS云平臺技術(shù)的災(zāi)備平臺的測試指標(biāo)和對應(yīng)測試方法,為用戶進(jìn)行云平臺產(chǎn)品的選擇和測試提供了一種參考依據(jù)。由于IaaS云平臺具有特有的云計(jì)算模式,涉及大量云計(jì)算技術(shù),因此在實(shí)際的災(zāi)備云平臺的POC測試中,測試標(biāo)準(zhǔn)與方法也要針對具體應(yīng)用場景進(jìn)行分析。測試人員在進(jìn)行POC測試中,需要將測試時(shí)間、測試過程、測試人員進(jìn)行記錄,對用戶需求文檔和測試廠商提供的技術(shù)資料分類歸檔,及時(shí)對不同云平臺產(chǎn)品進(jìn)行對比分析,總結(jié)評價(jià)。