黃穎 徐嵐
摘要:本文針對(duì)分布式云數(shù)據(jù)中心間“數(shù)據(jù)跨中心備份、服務(wù)按需接管”的中心級(jí)高可用能力,提出一種基于占位虛擬機(jī)的云高可用方案,并將系統(tǒng)技術(shù)架構(gòu)分為網(wǎng)絡(luò)層、云平臺(tái)層、數(shù)據(jù)層、服務(wù)層、訪問(wèn)接八層五個(gè)層次,分析7每層的高可用技術(shù)應(yīng)用策略,該方案具備較好的應(yīng)用推廣前景。
關(guān)鍵詞:高可用 占位虛擬機(jī) 云數(shù)據(jù)中心
1高可用相關(guān)概念
隨著虛擬化、網(wǎng)絡(luò)化、服務(wù)化技術(shù)的快速發(fā)展,云架構(gòu)已在各個(gè)領(lǐng)域大量運(yùn)用,數(shù)據(jù)中心作為云資源的提供者承載了大量不同類(lèi)型的應(yīng)用。目前單一的數(shù)據(jù)中心已發(fā)展為分布式云數(shù)據(jù)中心模式,對(duì)分布式云數(shù)據(jù)中心構(gòu)成一體化高可用能力的需求也越來(lái)越迫切。
在業(yè)界通常概念定義中,高可用性(High AvailabiLity, HA)用來(lái)描述一個(gè)系統(tǒng)經(jīng)過(guò)專(zhuān)門(mén)的設(shè)計(jì),以減少停工時(shí)間,而保持其服務(wù)的高度可用性。業(yè)界通常說(shuō)的數(shù)據(jù)中心雙活,也屬于高可用能力的范疇。描述系統(tǒng)高可用能力,一般有兩個(gè)重要指標(biāo):系統(tǒng)恢復(fù)時(shí)間(RTO)和數(shù)據(jù)恢復(fù)點(diǎn)目標(biāo)(RPO)。RTO是針對(duì)服務(wù)丟失,從業(yè)務(wù)系統(tǒng)故障開(kāi)始,到業(yè)務(wù)系統(tǒng)恢復(fù)正常之間的時(shí)間段。RPO是針對(duì)數(shù)據(jù)丟失.指業(yè)務(wù)系統(tǒng)和應(yīng)用數(shù)據(jù)恢復(fù)正常后,系統(tǒng)及生產(chǎn)數(shù)據(jù)能恢復(fù)到過(guò)去的哪個(gè)時(shí)間點(diǎn)。
一般來(lái)說(shuō),數(shù)據(jù)中心高可用能力根據(jù)備用中心活躍程度由低到高,可定義為5個(gè)等級(jí),如圖1所示。對(duì)于最高等級(jí)的全集雙活,兩中心技術(shù)架構(gòu)應(yīng)是完全對(duì)稱(chēng)、去中心化的,需要從底層網(wǎng)絡(luò)到上層應(yīng)用進(jìn)行一體化設(shè)計(jì),實(shí)現(xiàn)起來(lái)難度很大,性價(jià)比不高。在大多數(shù)工程實(shí)踐中,一般結(jié)合高可用性需求在冷備、熱備、只讀、分片4個(gè)等級(jí)中選擇,也可采用混合架構(gòu),對(duì)系統(tǒng)進(jìn)行分層,不同層采用不同的高可用技術(shù)策略。
2高可用方案簡(jiǎn)述
在某大型系統(tǒng)建設(shè)了相距100公里以內(nèi)的兩個(gè)數(shù)據(jù)中心,作為邏輯一體的后臺(tái),共同對(duì)前臺(tái)客戶端提供服務(wù)。其中,系統(tǒng)的主用中心已經(jīng)上線常態(tài)化運(yùn)行,系統(tǒng)內(nèi)的業(yè)務(wù)應(yīng)用服務(wù)運(yùn)行在華為云平臺(tái)(fusion cloud2.0.6),數(shù)據(jù)分別存儲(chǔ)在物理服務(wù)器部署的ORACLEllg、Hadoop、HBase上?,F(xiàn)要求在應(yīng)用層軟件不改造、兩中心對(duì)外信息交互服務(wù)的IP地址保持一致等前提下,提供兩中心的高可用方案,確保發(fā)生中心級(jí)故障時(shí),核心數(shù)據(jù)RPO≈O,系統(tǒng)切換時(shí)間RTO在1小時(shí)內(nèi)。
經(jīng)過(guò)用戶需求分析,提出一種基于占位虛擬機(jī)的云數(shù)據(jù)中心高可用方案,即依托華為云平臺(tái)基于占位虛擬機(jī)的高可用能力,將兩中心云平臺(tái)構(gòu)建為“一朵云”,通過(guò)底層存儲(chǔ)雙活技術(shù),將主用中心云存儲(chǔ)節(jié)點(diǎn)上的虛擬機(jī)同步到備用中心。在該模式下,相當(dāng)于在備用中心實(shí)時(shí)復(fù)制一套主用中心的服務(wù)(IP地址保持一致);平時(shí)主用中心對(duì)外服務(wù)、備用中心離線備份;故障時(shí),拉起備用中心占位虛機(jī),切換數(shù)據(jù)庫(kù),由備用中心對(duì)外提供服務(wù)。由于中心切換時(shí),需拉起占位虛機(jī),相當(dāng)于重啟動(dòng)備用系統(tǒng),因此該方案適用于RTO要求不高、現(xiàn)有業(yè)務(wù)需快速具備高可用能力的場(chǎng)景。
3關(guān)鍵技術(shù)分析
要實(shí)現(xiàn)系統(tǒng)級(jí)高可用架構(gòu)需對(duì)數(shù)據(jù)中心的各個(gè)層面進(jìn)行高可用設(shè)計(jì),將系統(tǒng)技術(shù)架構(gòu)分為5層,分別為網(wǎng)絡(luò)層、云平臺(tái)層、數(shù)據(jù)層、服務(wù)層和訪問(wèn)接人層。每一層采用不同的技術(shù)策略,實(shí)現(xiàn)整中心的高可用能力,如圖2所示。
下面對(duì)每一層高可用技術(shù)進(jìn)行分析:
(1)網(wǎng)絡(luò)層
通過(guò)大二層網(wǎng)絡(luò)和虛擬機(jī)遷移,在網(wǎng)絡(luò)層提供計(jì)算服務(wù)的災(zāi)后恢復(fù)、負(fù)載均衡、異地容災(zāi)和雙機(jī)熱備等抗毀能力[6],采用虛擬路由冗余協(xié)議VRRP(Virtual Router Redundancy Protocol),把分布于兩個(gè)數(shù)據(jù)中心的路由設(shè)備聯(lián)合組成一臺(tái)虛擬的路由設(shè)備,將虛擬路由設(shè)備的IP地址作為用戶的默認(rèn)網(wǎng)關(guān)實(shí)現(xiàn)與外部網(wǎng)絡(luò)通信。對(duì)路由設(shè)備采用主從備份方式配置,通過(guò)對(duì)路由設(shè)備的優(yōu)先級(jí)調(diào)整,設(shè)置VRRP虛擬網(wǎng)關(guān)的主備狀態(tài)。當(dāng)主用網(wǎng)關(guān)設(shè)備發(fā)生故障時(shí),VRRP機(jī)制能夠選舉新的網(wǎng)關(guān)設(shè)備承擔(dān)數(shù)據(jù)流量,從而保障網(wǎng)絡(luò)的可靠通信。
(2)云平臺(tái)層
兩數(shù)據(jù)中心和仲裁區(qū)組成“一朵云”,其中兩中心的云管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)之間網(wǎng)絡(luò)互通,主用后臺(tái)的存儲(chǔ)節(jié)點(diǎn)向備用中心存儲(chǔ)節(jié)點(diǎn)同步數(shù)據(jù),第三方的仲裁服務(wù)器與主備的管理節(jié)點(diǎn)通信,發(fā)生中心級(jí)故障時(shí),通過(guò)仲裁服務(wù)器避免出現(xiàn)腦裂情況。
(3)數(shù)據(jù)層
系統(tǒng)中在用的數(shù)據(jù)存儲(chǔ)方式主要是ORACLE、Hdfs和Hbsae三種,部署在物理服務(wù)器上,分別采用不同的技術(shù)策略。
關(guān)系型數(shù)據(jù)庫(kù)的高可用技術(shù)主要有數(shù)據(jù)庫(kù)集群技術(shù)和復(fù)制技術(shù)[7]兩類(lèi)。一般,在中心內(nèi),可通過(guò)搭建ORACLE RAC實(shí)現(xiàn)高可用,在中心間的高可用技術(shù)有Data Guard、Golden Gate、RAC跨雙中心部署、Extended RAC等幾種。其中,前兩種屬于數(shù)據(jù)庫(kù)復(fù)制技術(shù),后兩種屬于數(shù)據(jù)庫(kù)集群技術(shù)。對(duì)這幾種技術(shù)的分析比對(duì),Data Guard方式穩(wěn)定性高,部署難度最小,對(duì)業(yè)務(wù)系統(tǒng)影響也最小,但屬于一寫(xiě)多讀模式,備升主切換時(shí)間在分鐘級(jí);其它三種技術(shù)都處于雙寫(xiě)模式,實(shí)時(shí)切換,但部署環(huán)境要求高,維護(hù)成本高。綜合考慮高可用要求及維護(hù)成本,在兩數(shù)據(jù)中心間采用Data Guard方式,保證在RTO分鐘級(jí)的條件下核心數(shù)據(jù)RPO≈O。
在中心內(nèi)搭建了Hadoop集群數(shù)據(jù)存儲(chǔ)Hdfs和Hbase中,在中心間,Hdfs數(shù)據(jù)采用Distcp命令進(jìn)行兩個(gè)中心分布式文件系統(tǒng)間的數(shù)據(jù)同步方式;Hbae數(shù)據(jù)采用基于協(xié)處理器的增量數(shù)據(jù)同步方式。
(4)服務(wù)層
服務(wù)層的高可用實(shí)現(xiàn)機(jī)制一般有三類(lèi),一是基于主機(jī)集群技術(shù),二是基于中間件軟件自身集群實(shí)現(xiàn)功能,三是基于負(fù)載均衡設(shè)備方式。這三類(lèi)方式需要增加第三方集群軟件、負(fù)載均衡器設(shè)備等設(shè)備/軟件。因此,在無(wú)法增加其它設(shè)備的條件下,采用華為云平臺(tái)的占位虛擬機(jī),可方便實(shí)現(xiàn)服務(wù)層的備份和切換,但服務(wù)切換需進(jìn)行虛擬機(jī)拉起操作,根據(jù)虛擬機(jī)數(shù)量和應(yīng)用服務(wù)啟動(dòng)先后順序的限制,服務(wù)層RTO -般在15至25分鐘內(nèi)。
(5)訪問(wèn)接入層
本系統(tǒng)中,數(shù)據(jù)中心面向前臺(tái)和與外部系統(tǒng)的信息路由方式是基于IP的尋址方式。同樣采用華為云平臺(tái)的占位虛擬機(jī),在中心級(jí)切換時(shí),對(duì)外的IP地址不變化,前臺(tái)和外部系統(tǒng)的服務(wù)尋址配置不改變。
4總結(jié)
高可用、持續(xù)服務(wù)已成為各類(lèi)數(shù)據(jù)中心的基本需求,系統(tǒng)技術(shù)架構(gòu)也正向分布式云數(shù)據(jù)中心架構(gòu)轉(zhuǎn)變。本文提出的一種基于占位虛擬機(jī)的云數(shù)據(jù)中心高可用方案,可初步支撐主備數(shù)據(jù)中心間的數(shù)據(jù)備份與服務(wù)接替,并已通過(guò)了工程實(shí)踐,具備一定的推廣應(yīng)用場(chǎng)景。要實(shí)現(xiàn)RTO秒級(jí)的數(shù)據(jù)中心雙活/多活能力,還需要對(duì)網(wǎng)絡(luò)、云平臺(tái)、數(shù)據(jù)存儲(chǔ)、應(yīng)用服務(wù)等進(jìn)行全系統(tǒng)一體化設(shè)計(jì),緊密聯(lián)動(dòng),才能真正做到數(shù)據(jù)中心對(duì)外業(yè)務(wù)不中斷。
參考文獻(xiàn)
[1]何錫點(diǎn),崔雋,劉祥,等,面向作戰(zhàn)任務(wù)的云資源統(tǒng)一規(guī)劃與動(dòng)態(tài)重組技術(shù)[J].指揮信息系統(tǒng)與技術(shù),2019.10 (2)
[2]鄒仁明,彭雋,李軍.OpenStack開(kāi)源云平臺(tái)高可用架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2014 (10)
[3]張龍興,朱志祥,梁小江.一種基于云計(jì)算的高可用性集群設(shè)計(jì)與實(shí)現(xiàn)[J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2014 (3)