重磅干貨:OPENSTACK與DRaaS典型架構(gòu)與設(shè)計
隨著IT基礎(chǔ)架構(gòu)在新時代中的發(fā)展,采用云計算替代傳統(tǒng)基礎(chǔ)架構(gòu)的趨勢已日漸明顯。其中以O(shè)penStack為首的開源云正在逐步靠近各類IT業(yè)務(wù)系統(tǒng)的核心,承擔(dān)起更加重要的角色。
隨著OpenStack內(nèi)部架構(gòu)的逐步完善,對于核心業(yè)務(wù)的容災(zāi)需求也應(yīng)當(dāng)被加入到整個架構(gòu)當(dāng)中。在以O(shè)penStack為基礎(chǔ)的容災(zāi)架構(gòu)中不僅涵蓋業(yè)務(wù)的數(shù)據(jù)和應(yīng)用,還包括云主機(jī)配置,認(rèn)證授權(quán),網(wǎng)絡(luò)等等容災(zāi)云的元素。OpenStack容災(zāi)架構(gòu)的部署,對于提高IT業(yè)務(wù)的可靠性,可用性和連續(xù)性至關(guān)重要。
本文主要介紹OpenStack在DR災(zāi)難恢復(fù)場景下對應(yīng)的技術(shù)解決方案,以及OpenStack災(zāi)難恢復(fù)服務(wù)DRaaS的規(guī)劃、實(shí)施和建設(shè)。
一、DRaaS的思想和原則
(一)幾個概念
災(zāi)難(Disaster)是由于人為或自然的原因,造成一個數(shù)據(jù)中心內(nèi)的信息系統(tǒng)運(yùn)行嚴(yán)重故障或癱瘓,使信息系統(tǒng)支持的業(yè)務(wù)功能停頓或服務(wù)水平不可接受、達(dá)到特定的時間的突發(fā)性事件,通常導(dǎo)致信息系統(tǒng)需要切換到備用場地運(yùn)行。
災(zāi)難恢復(fù)(Diaster Recovery)是指當(dāng)災(zāi)難破壞生產(chǎn)中心時在不同地點(diǎn)的數(shù)據(jù)中心內(nèi)恢復(fù)數(shù)據(jù)、應(yīng)用或者業(yè)務(wù)的能力。
容災(zāi)是指除了生產(chǎn)站點(diǎn)以外,用戶另外建立的冗余站點(diǎn),當(dāng)災(zāi)難發(fā)生,生產(chǎn)站點(diǎn)受到破壞時,冗余站點(diǎn)可以接管用戶正常的業(yè)務(wù),達(dá)到業(yè)務(wù)不間斷的目的。為了達(dá)到更高的可用性,許多用戶甚至建立多個冗余站點(diǎn)。
衡量容災(zāi)系統(tǒng)有兩個主要指標(biāo):RPO(Recovery Point Objective)和 RTO(Recovery Time Object),其中 RPO代表 了當(dāng)災(zāi)難發(fā)生時允許丟失的數(shù)據(jù)量,而 RTO 則代表了系統(tǒng)恢復(fù)的時間。RPO 與 RTO 越小,系統(tǒng)的可用性就越高,當(dāng)然用戶需要的投資也越大。
(二)容災(zāi)級別
級別 |
定義 |
RTO |
數(shù)據(jù)級 |
指通過建立同城/異地容災(zāi)中心和數(shù)據(jù)的遠(yuǎn)程備份/復(fù)制,在災(zāi)難發(fā)生之后要確保原有的數(shù)據(jù)不會丟失或者遭到破壞。容災(zāi)切換時需要重新部署云主機(jī),利用備份/復(fù)制數(shù)據(jù)恢復(fù)業(yè)務(wù)運(yùn)行。 |
RTO 最長(若干小時) |
應(yīng)用級 |
在數(shù)據(jù)級容災(zāi)的基礎(chǔ)之上,在備份站點(diǎn)同樣構(gòu)建一套相同的OpenStack云,通過數(shù)據(jù)復(fù)制技術(shù),保證關(guān)鍵應(yīng)用在允許的時間范圍內(nèi)恢復(fù)運(yùn)行,盡可能減少災(zāi)難帶來的損失。 |
RTO 中等(若干分鐘) |
業(yè)務(wù)級 |
全業(yè)務(wù)的災(zāi)備,將災(zāi)備的范圍擴(kuò)大到整個Animbus OpenStack云。通過對控制節(jié)點(diǎn)元數(shù)據(jù)的復(fù)制,恢復(fù)一個完整的云環(huán)境,以及云上的所有組件和業(yè)務(wù)系統(tǒng)。 |
RTO 最小(若干分鐘或者秒) |
(三)設(shè)計目標(biāo)
設(shè)計的目標(biāo)是通過部署DRaaS服務(wù),能夠滿足并支撐:
- 實(shí)現(xiàn)云主機(jī)與云硬盤數(shù)據(jù)跨站點(diǎn)備份/復(fù)制,確保災(zāi)難發(fā)生后,防止數(shù)據(jù)丟失或遭到破壞。
- 實(shí)現(xiàn)OpenStack云容災(zāi)能力,云主機(jī)和數(shù)據(jù)具有異地恢復(fù)能力,提高系統(tǒng)的可靠性和連續(xù)性。
- 優(yōu)化DRaaS部署方式,提供模塊化,可選擇,可擴(kuò)展的部署方式。提供一體化管理界面和可視化管理能力。
二、架構(gòu)與設(shè)計
(一)DRaaS容災(zāi)架構(gòu)
DRaaS容災(zāi)架構(gòu)通過將Animbus OpenStack劃分成三個層次,虛擬化層,控制層,管理層。虛擬化層集合了Animbus OpenStack的虛擬化資源,包括計算,存儲和網(wǎng)絡(luò)資源,屬于容災(zāi)架構(gòu)的核心層;控制層融合了Animbus OpenStack的管理組件,包括計算,認(rèn)證,網(wǎng)絡(luò),存儲,鏡像等,屬于容災(zāi)架構(gòu)的中間層;管理層提供了對于整個DRaaS容災(zāi)環(huán)境的集中管理與監(jiān)控,屬于容災(zāi)架構(gòu)的管理層。
在主備容災(zāi)兩個Animbus OpenStack 環(huán)境之間,采用分層的容災(zāi)技術(shù)結(jié)構(gòu),包括云存儲復(fù)制技術(shù),云系統(tǒng)復(fù)制技術(shù),云管理同步技術(shù)。通過整體容災(zāi)架構(gòu)的部署,使得主備Animbus OpenStack環(huán)境具備容災(zāi)切換的能力。
DRaaS架構(gòu)示意圖
(二)DRaaS容災(zāi)分級
DRaaS容災(zāi)架構(gòu)可以根據(jù)業(yè)務(wù)場景和需求,實(shí)現(xiàn)三個不同等級的容災(zāi)級別。包括:
數(shù)據(jù)級容災(zāi)DRaaS of Data
通過采用云存儲復(fù)制技術(shù),實(shí)現(xiàn)對Animbus OpenStack的數(shù)據(jù)級容災(zāi)。在災(zāi)難發(fā)生時,需重新部署云主機(jī),利用Animbus OpenStack存儲上的容災(zāi)數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)恢復(fù)。這種方案價格最為低廉,RTO時間較長(若干小時)
應(yīng)用級容災(zāi)DRaaS of Application
通過采用云系統(tǒng)復(fù)制技術(shù),實(shí)現(xiàn)對Animbus OpenStack的應(yīng)用級容災(zāi)。在災(zāi)難發(fā)生時,可以直接恢復(fù)云主機(jī)以及Animbus OpenStack后臺存儲的數(shù)據(jù),局部或者全部恢復(fù)業(yè)務(wù)應(yīng)用系統(tǒng)環(huán)境。這種方案價格相對經(jīng)濟(jì),RTO時間較短(若干分鐘)
業(yè)務(wù)級容災(zāi)DRaaS of Business
通過采用云管理同步技術(shù),實(shí)現(xiàn)對Animbus OpenStack云環(huán)境的業(yè)務(wù)級容災(zāi)。在災(zāi)難發(fā)生時,通過容災(zāi)轉(zhuǎn)移一鍵切換,可以快速的恢復(fù)整個Animbus OpenStack云平臺環(huán)境。這種方案價格相對昂貴,RTO時間最短(若干分鐘或秒)
三、容災(zāi)DRaaS的應(yīng)用
(一)災(zāi)難定義
在信息系統(tǒng)服務(wù)時間段內(nèi),生產(chǎn)環(huán)境出現(xiàn)嚴(yán)重故障,系統(tǒng)中斷,無法在短時間內(nèi)本地恢復(fù),可以通過啟用同城災(zāi)備(異地災(zāi)備)環(huán)境實(shí)現(xiàn)業(yè)務(wù)的接管,可以根據(jù)災(zāi)難決策,實(shí)施災(zāi)難切換操作。
由于每次災(zāi)難產(chǎn)生的原因,影響的范圍和時間長度,以及應(yīng)對措施的差異。需要在制定容災(zāi)方案中,事先假設(shè)對于災(zāi)難場景的預(yù)設(shè),然后可以根據(jù)不同的災(zāi)難場景,制定容災(zāi)方案以及災(zāi)難恢復(fù)計劃。
(二)災(zāi)難場景
在DRaaS的容災(zāi)架構(gòu)中,已經(jīng)預(yù)設(shè)了多樣的災(zāi)難場景,以及與之對應(yīng)的容災(zāi)架構(gòu)設(shè)計和容災(zāi)方案。通過這些容災(zāi)體系的建設(shè),可以使整個Animbus OpenStack應(yīng)對多樣的災(zāi)難場景,實(shí)現(xiàn)快速的,安全的容災(zāi)切換。
- ***類-自然災(zāi)害,例如:火災(zāi),水災(zāi),地震……
- 第二類-核心基礎(chǔ)架構(gòu)故障,例如:數(shù)據(jù)中心停電、核心存儲宕機(jī)、廣域網(wǎng)絡(luò)中斷、內(nèi)部網(wǎng)絡(luò)癱瘓、空調(diào)系統(tǒng)宕機(jī)……
- 第三類-單個系統(tǒng)故障,例如:操作系統(tǒng)或者數(shù)據(jù)庫系統(tǒng)崩潰、服務(wù)器硬件故障造成的宕機(jī)……
(三)DRaaS在實(shí)際災(zāi)難場景中的應(yīng)用例子
某公司數(shù)據(jù)中心停電
案情:
由于電力故障,使其數(shù)據(jù)中心機(jī)房大面積停電。決定將IT業(yè)務(wù)系統(tǒng)整體容災(zāi)切換到位于另一處的備用數(shù)據(jù)中心。
在主備數(shù)據(jù)中心之間部署了基于Animbus OpenStack的DRaaS for Bussiness容災(zāi)環(huán)境,通過啟用容災(zāi)環(huán)境的Animbus OpenStack云,迅速恢復(fù)原有的業(yè)務(wù)系統(tǒng)。保證業(yè)務(wù)應(yīng)用的持續(xù)運(yùn)行。
容災(zāi)恢復(fù)過程
災(zāi)難發(fā)生,業(yè)務(wù)應(yīng)用出現(xiàn)無響應(yīng)狀態(tài)。
收集系統(tǒng)信息輔助決策,觸發(fā)容災(zāi)切換方案。
關(guān)閉主中心Animbus OpenStack應(yīng)用服務(wù),斷開數(shù)據(jù)復(fù)制線路。
恢復(fù)Animbus OpenStack備中心,并恢復(fù)業(yè)務(wù)訪問。
DRaaS在實(shí)際災(zāi)難場景中的應(yīng)用示意圖