黃穎 徐嵐


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