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