王景艷,劉 洋
(中國(guó)鐵路信息科技集團(tuán)有限公司 運(yùn)行維護(hù)與生產(chǎn)調(diào)度部,北京 100844)
中國(guó)鐵路主數(shù)據(jù)中心是鐵路一體化信息集成平臺(tái)的核心,承擔(dān)著鐵路信息資源服務(wù)、關(guān)鍵業(yè)務(wù)計(jì)算、數(shù)據(jù)存儲(chǔ)備份等重要任務(wù)[1]。主數(shù)據(jù)中心基礎(chǔ)設(shè)施基于云平臺(tái)搭建,實(shí)現(xiàn)重要信息資源的集中存儲(chǔ)、管理和綜合利用,確保核心業(yè)務(wù)應(yīng)用系統(tǒng)的安全性、可靠性和連續(xù)性[2]。為保證業(yè)務(wù)連續(xù)性要求和信息系統(tǒng)合規(guī)性要求,鐵路災(zāi)備中心即將投入建設(shè),如何利用基礎(chǔ)設(shè)施云平臺(tái)滿足鐵路應(yīng)用系統(tǒng)災(zāi)備需求是亟待研究解決的重要課題。
災(zāi)備技術(shù)自上世紀(jì)70 年代起源,經(jīng)歷了信息系統(tǒng)備份、災(zāi)難恢復(fù)規(guī)劃(DRP)、業(yè)務(wù)連續(xù)性規(guī)劃(BCP)3 個(gè)階段,關(guān)注重點(diǎn)由備份技術(shù)本身逐漸發(fā)展為生產(chǎn)中心保障,再到業(yè)務(wù)保障和恢復(fù)。隨著業(yè)務(wù)連續(xù)性要求的不斷提升,越來(lái)越多的行業(yè)加強(qiáng)了災(zāi)備技術(shù)的研究與災(zāi)備中心的建設(shè)[3-4]。鐵路災(zāi)備技術(shù)研究起步較早,目前12306 互聯(lián)網(wǎng)售票和電子支付應(yīng)用已完成雙活中心建設(shè),貨運(yùn)票據(jù)電子化應(yīng)用雙中心也已上線,實(shí)現(xiàn)跨不同數(shù)據(jù)中心的高可用[5]。傳統(tǒng)災(zāi)備技術(shù)(如數(shù)據(jù)復(fù)制技術(shù)、雙活技術(shù)、業(yè)務(wù)切換等)已在鐵路信息系統(tǒng)災(zāi)備建設(shè)中有較為成熟的應(yīng)用經(jīng)驗(yàn)[6]。在云環(huán)境下,大量災(zāi)備新技術(shù)逐漸取代傳統(tǒng)技術(shù),如IP 存儲(chǔ)網(wǎng)絡(luò)替代FC 存儲(chǔ)網(wǎng)絡(luò),通過(guò)域名系統(tǒng)(DNS)實(shí)現(xiàn)大二層網(wǎng)絡(luò)[7];通過(guò)智能DNS 實(shí)現(xiàn)應(yīng)用雙活,滿足基于域名的災(zāi)備切換需求[8];使用虛擬機(jī)、容器代替實(shí)體機(jī),實(shí)現(xiàn)整體系統(tǒng)災(zāi)備和災(zāi)備調(diào)度[9];基于虛擬機(jī)的CDP 技術(shù),實(shí)現(xiàn)數(shù)據(jù)同步和災(zāi)備等[10]。
本文主要研究鐵路主數(shù)據(jù)中心適用的災(zāi)備關(guān)鍵技術(shù),并根據(jù)鐵路應(yīng)用系統(tǒng)特點(diǎn)提出災(zāi)備等級(jí)劃分建議。
數(shù)據(jù)復(fù)制技術(shù)由下至上可分為存儲(chǔ)和操作系統(tǒng)層、數(shù)據(jù)庫(kù)層、應(yīng)用層,如圖 1 所示。
圖1 數(shù)據(jù)復(fù)制技術(shù)層次劃分
(1)基于存儲(chǔ)和操作系統(tǒng)層的數(shù)據(jù)復(fù)制:基于系統(tǒng)底層物理卷、數(shù)據(jù)塊,通過(guò)存儲(chǔ)硬件、虛擬化存儲(chǔ)等實(shí)現(xiàn),與上層的應(yīng)用和邏輯無(wú)關(guān)。
(2)基于數(shù)據(jù)庫(kù)層的數(shù)據(jù)復(fù)制:大部分?jǐn)?shù)據(jù)庫(kù)提供數(shù)據(jù)復(fù)制工具,實(shí)現(xiàn)數(shù)據(jù)的物理復(fù)制和邏輯復(fù)制,主要有日志復(fù)制重做、日志交易解析復(fù)制重做等幾種方式。
(3)基于應(yīng)用層的數(shù)據(jù)復(fù)制:通過(guò)雙寫(xiě)實(shí)現(xiàn),可根據(jù)需要采用強(qiáng)一致性、弱一致性、最終一致性設(shè)計(jì)。
(4)數(shù)據(jù)備份:利用備份軟件實(shí)現(xiàn)數(shù)據(jù)復(fù)制,復(fù)制成本低,可節(jié)約傳輸帶寬和存儲(chǔ)空間;其缺點(diǎn)是RTO 相對(duì)較高,一般作為最后的恢復(fù)手段。
應(yīng)用系統(tǒng)的雙數(shù)據(jù)中心部署通常有4 種模式:主備、互備、雙活、準(zhǔn)雙活。
(1)主備模式:只有生產(chǎn)中心承擔(dān)業(yè)務(wù),災(zāi)備中心作為生產(chǎn)中心的備份;當(dāng)生產(chǎn)中心出現(xiàn)故障時(shí),災(zāi)備中心接管生產(chǎn)中心的業(yè)務(wù),如圖2a 所示。
(2)互備模式:主備中心互為備份,生產(chǎn)中心和災(zāi)備中心可同時(shí)承擔(dān)業(yè)務(wù),避免浪費(fèi)災(zāi)備中心資源;當(dāng)一個(gè)中心故障時(shí),其業(yè)務(wù)轉(zhuǎn)移至另一中心,如圖2b 所示。
(3)雙活模式:雙活應(yīng)用部署在兩個(gè)數(shù)據(jù)中心/ 機(jī)房,同時(shí)在線運(yùn)行,用戶請(qǐng)求通過(guò)負(fù)載均衡設(shè)備分配到不同數(shù)據(jù)中心的應(yīng)用服務(wù)器,兩中心的數(shù)據(jù)庫(kù)實(shí)時(shí)同步;當(dāng)一個(gè)中心出現(xiàn)故障時(shí),通過(guò)負(fù)載均衡將請(qǐng)求切換到另一中心,如圖2c 所示。
(4)準(zhǔn)雙活模式:與雙活模式的主要區(qū)別是,不進(jìn)行兩中心的數(shù)據(jù)庫(kù)實(shí)時(shí)同步,應(yīng)用服務(wù)器與指定中心的數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)數(shù)據(jù)交換,兩中心的數(shù)據(jù)庫(kù)定期同步,如圖2d 所示。
圖2 數(shù)據(jù)中心主備/雙活部署模式
這4 種部署模式中,雙活模式可最大程度保障業(yè)務(wù)連續(xù)性。采用雙活技術(shù)建設(shè)容災(zāi)系統(tǒng),涉及接入層、應(yīng)用層、數(shù)據(jù)庫(kù)層、存儲(chǔ)層和網(wǎng)絡(luò)層的改造,各層次中均有相應(yīng)的解決方案。
(1)接入層雙活一般可采用DNS 和全局負(fù)載均衡(GSLB)機(jī)制構(gòu)建接入層雙活架構(gòu),根據(jù)后端服務(wù)器負(fù)載和鏈路狀況實(shí)現(xiàn)不同中心間流量調(diào)配。
(2)應(yīng)用層雙活需要在每個(gè)數(shù)據(jù)中心分別部署一套完整的且規(guī)模相同的服務(wù)和應(yīng)用,平時(shí)每個(gè)中心均為生產(chǎn)中心,具備接管其它中心業(yè)務(wù)的能力。
(3)數(shù)據(jù)庫(kù)層包含物理數(shù)據(jù)庫(kù)和內(nèi)存數(shù)據(jù)庫(kù)兩類,物理數(shù)據(jù)庫(kù)層可采用Active-Standby、Active-Active 或第三方數(shù)據(jù)復(fù)制軟件實(shí)現(xiàn),內(nèi)存庫(kù)雙活集群部署可采用讀寫(xiě)分離、讀寫(xiě)并行、線性拆分或分布式集群4 種模式實(shí)現(xiàn)。
(4)存儲(chǔ)層雙活實(shí)現(xiàn)方式包括基于遠(yuǎn)程卷管理軟件的虛擬化、基于存儲(chǔ)網(wǎng)關(guān)虛擬化、基于存儲(chǔ)自身卷鏡像3 種技術(shù)。
1.3.1 業(yè)務(wù)切換
業(yè)務(wù)切換技術(shù)主要包括接入層切換、應(yīng)用系統(tǒng)間/應(yīng)用系統(tǒng)內(nèi)切換和數(shù)據(jù)復(fù)制切換。
(1)接入層切換:在網(wǎng)絡(luò)接入層面將源端業(yè)務(wù)切換到備端數(shù)據(jù)中心,以保障業(yè)務(wù)的連續(xù)性,包括網(wǎng)絡(luò)切換、安全切換、負(fù)載均衡切換。
(2)應(yīng)用系統(tǒng)間/應(yīng)用系統(tǒng)內(nèi)切換:在災(zāi)備切換過(guò)程中,應(yīng)用系統(tǒng)之間、應(yīng)用系統(tǒng)內(nèi)子系統(tǒng)之間可能存在技術(shù)依賴關(guān)系,由此產(chǎn)生應(yīng)用系統(tǒng)間或應(yīng)用系統(tǒng)內(nèi)不同的災(zāi)備切換次序要求,災(zāi)備管理人員需要制定合理的災(zāi)備切換策略,通過(guò)災(zāi)備切換流程文檔或?yàn)?zāi)備切換管理軟件來(lái)設(shè)計(jì)實(shí)現(xiàn)相應(yīng)的流程。
(3)數(shù)據(jù)復(fù)制切換:許多高可用軟件提供切換能力,支持存儲(chǔ)、存儲(chǔ)網(wǎng)關(guān)、數(shù)據(jù)庫(kù)、應(yīng)用等各層次切換。存儲(chǔ)切換需要先將上層的應(yīng)用和數(shù)據(jù)庫(kù)停止,反轉(zhuǎn)存儲(chǔ)的遠(yuǎn)程復(fù)制關(guān)系,啟動(dòng)數(shù)據(jù)庫(kù)和應(yīng)用,向?yàn)?zāi)備中心的存儲(chǔ)寫(xiě)入數(shù)據(jù),將數(shù)據(jù)同步復(fù)制到生產(chǎn)中心的存儲(chǔ)上。數(shù)據(jù)庫(kù)切換主要依賴數(shù)據(jù)庫(kù)提供的工具,先將生產(chǎn)中心的主數(shù)據(jù)庫(kù)降級(jí)為備用數(shù)據(jù)庫(kù),再將災(zāi)備端備用數(shù)據(jù)庫(kù)提升為主數(shù)據(jù)庫(kù),反轉(zhuǎn)數(shù)據(jù)庫(kù)的遠(yuǎn)程復(fù)制關(guān)系,將災(zāi)備中心主數(shù)據(jù)庫(kù)生成的日志傳送回生產(chǎn)中心的備用數(shù)據(jù)庫(kù)。
1.3.2 故障自愈
云平臺(tái)承載的應(yīng)用災(zāi)備設(shè)計(jì)可以從數(shù)據(jù)中心本地高可用、數(shù)據(jù)中心內(nèi)自愈、跨數(shù)據(jù)中心自愈3 個(gè)方面進(jìn)行考慮。(1)數(shù)據(jù)中心本地高可用:通過(guò)集群的保護(hù)方式,實(shí)現(xiàn)應(yīng)用在多個(gè)宿主機(jī)之間故障遷移;當(dāng)集群中單點(diǎn)故障時(shí),可通過(guò)集群高可用實(shí)現(xiàn)應(yīng)用的連續(xù)性保護(hù),即數(shù)據(jù)中心本地高可用。
(2)數(shù)據(jù)中心內(nèi)自愈:通過(guò)云服務(wù)中心動(dòng)態(tài)檢查應(yīng)用健康狀態(tài),當(dāng)發(fā)現(xiàn)問(wèn)題時(shí)自動(dòng)創(chuàng)建新的應(yīng)用容器,同時(shí)進(jìn)行應(yīng)用內(nèi)部的環(huán)境和應(yīng)用的配置工作,啟動(dòng)服務(wù)繼續(xù)處理用戶請(qǐng)求;當(dāng)整個(gè)應(yīng)用集群出現(xiàn)故障時(shí),通過(guò)鏡像或容器復(fù)制的方式,鏡像管理在同一數(shù)據(jù)中心的其它集群上重新生成應(yīng)用,繼續(xù)對(duì)外提供服務(wù),即數(shù)據(jù)中心內(nèi)自愈。
(3)跨數(shù)據(jù)中心自愈:通過(guò)云平臺(tái)底層存儲(chǔ)、對(duì)象存儲(chǔ)或數(shù)據(jù)復(fù)制組件的同步能力,進(jìn)行鏡像和容器的異地?cái)?shù)據(jù)中心保護(hù);當(dāng)數(shù)據(jù)中心出現(xiàn)災(zāi)難時(shí),通過(guò)跨數(shù)據(jù)中心鏡像復(fù)制的異地保護(hù)功能,在另外一個(gè)數(shù)據(jù)中心動(dòng)態(tài)生成相同的應(yīng)用,繼續(xù)對(duì)外提供服務(wù),即跨數(shù)據(jù)中心自愈。
云災(zāi)備服務(wù)基于云的自動(dòng)化資源管理,通過(guò)將災(zāi)備服務(wù)化,提供按需服務(wù)和自服務(wù)能力,用戶可在云管理平臺(tái)上,按需選擇備份、恢復(fù)及監(jiān)控服務(wù),根據(jù)使用情況計(jì)量和計(jì)費(fèi)。
災(zāi)難恢復(fù)即服務(wù)(DRaaS)是一種云計(jì)算和備份服務(wù)模型,使用云資源來(lái)保護(hù)應(yīng)用程序和數(shù)據(jù)免受災(zāi)難造成的中斷,整合業(yè)務(wù)應(yīng)急、切換演練等容災(zāi)調(diào)度服務(wù),保障業(yè)務(wù)連續(xù)性。通常在應(yīng)用層實(shí)現(xiàn)DRaaS,并與備份即服務(wù)(BaaS)集成,提供最佳的托管備份/恢復(fù)和災(zāi)難恢復(fù),如圖 3 所示。
圖3 云災(zāi)備服務(wù)化模型
DRaaS 將資源復(fù)制到多個(gè)不同站點(diǎn),以確保在一個(gè)或多個(gè)站點(diǎn)不可用的情況下進(jìn)行連續(xù)備份,同時(shí)對(duì)跨備份域的各數(shù)據(jù)中心實(shí)現(xiàn)統(tǒng)一管理,解決傳統(tǒng)災(zāi)備系統(tǒng)數(shù)據(jù)分散、管理難度大的問(wèn)題,極大地降低擴(kuò)容和維護(hù)成本。
依據(jù)對(duì)數(shù)據(jù)及業(yè)務(wù)的保障程度,應(yīng)用系統(tǒng)災(zāi)備一般分為3 個(gè)級(jí)別:數(shù)據(jù)級(jí)、應(yīng)用級(jí)和業(yè)務(wù)級(jí)。
數(shù)據(jù)級(jí)災(zāi)備是建立一個(gè)異地災(zāi)備系統(tǒng)作為本地關(guān)鍵數(shù)據(jù)的可用復(fù)制,利用網(wǎng)絡(luò)數(shù)據(jù)復(fù)制工具,實(shí)現(xiàn)生產(chǎn)中心和災(zāi)備中心之間異步/同步的數(shù)據(jù)傳輸。
應(yīng)用級(jí)災(zāi)備在數(shù)據(jù)級(jí)災(zāi)備的基礎(chǔ)上,在異地災(zāi)備中心另外構(gòu)建一套支撐系統(tǒng),具有應(yīng)用接管能力,減少系統(tǒng)停機(jī)時(shí)間,提高業(yè)務(wù)連續(xù)性。
業(yè)務(wù)級(jí)災(zāi)備在信息系統(tǒng)之外的還需考慮業(yè)務(wù)因素,包括備用辦公場(chǎng)所、辦公人員等。
應(yīng)用系統(tǒng)不同災(zāi)備等級(jí)的特點(diǎn)見(jiàn)表 1。為每個(gè)業(yè)務(wù)系統(tǒng)制定災(zāi)備方案時(shí),需要先對(duì)現(xiàn)有業(yè)務(wù)系統(tǒng)進(jìn)行充分的調(diào)研和業(yè)務(wù)影響分析(BIA),確定業(yè)務(wù)系統(tǒng)的關(guān)鍵程度以及業(yè)務(wù)系統(tǒng)的RTO 和RPO 要求,進(jìn)而確定業(yè)務(wù)系統(tǒng)的災(zāi)備范圍和方案。表 2 列出不同等級(jí)災(zāi)備要求的應(yīng)用系統(tǒng)推薦采用的災(zāi)備方案及應(yīng)用示例。
表1 數(shù)據(jù)級(jí)、應(yīng)用級(jí)、業(yè)務(wù)級(jí)災(zāi)備的特點(diǎn)
表2 同城/異地災(zāi)備模型
對(duì)于連續(xù)性需求高的運(yùn)作類關(guān)鍵應(yīng)用,其影響范圍大,實(shí)時(shí)性要求高,RTO 要求小于6 h,不允許數(shù)據(jù)丟失。在同城數(shù)據(jù)中心/機(jī)房宜采用雙活技術(shù),將應(yīng)用系統(tǒng)同時(shí)部署在兩個(gè)數(shù)據(jù)中心/機(jī)房,同時(shí)接收用戶讀寫(xiě)請(qǐng)求,實(shí)現(xiàn)數(shù)據(jù)庫(kù)雙活和存儲(chǔ)雙活;異地災(zāi)備中心可使用主備模式,由主數(shù)據(jù)中心負(fù)責(zé)讀寫(xiě)數(shù)據(jù),備用數(shù)據(jù)中心提供熱備,兩個(gè)數(shù)據(jù)中心之間實(shí)現(xiàn)雙向數(shù)據(jù)復(fù)制。這類應(yīng)用雙活架構(gòu)如圖 4 所示。
主備中心均部署應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù),同時(shí)承載業(yè)務(wù);服務(wù)器和數(shù)據(jù)庫(kù)采用集群形式部署,實(shí)現(xiàn)本地高可用。應(yīng)用服務(wù)器讀寫(xiě)本地?cái)?shù)據(jù)庫(kù),主數(shù)據(jù)中心和災(zāi)備中心庫(kù)實(shí)現(xiàn)同步雙向數(shù)據(jù)復(fù)制,同時(shí)各自備份本地?cái)?shù)據(jù)。用戶請(qǐng)求通過(guò)CDN 分發(fā)給主數(shù)據(jù)中心和災(zāi)備中心;當(dāng)某一中心出現(xiàn)故障時(shí),可通過(guò)CDN 迅速將流量切換至另一中心,實(shí)現(xiàn)業(yè)務(wù)連續(xù)性保護(hù)。
云計(jì)算等新技術(shù)的日趨成熟為容災(zāi)備份提供了更多選擇,鐵路信息系統(tǒng)云化也對(duì)災(zāi)備提出新的要求。系統(tǒng)災(zāi)備方案設(shè)計(jì)需考慮云環(huán)境場(chǎng)景,確定合適的災(zāi)備連續(xù)性保護(hù)策略,對(duì)云平臺(tái)與承載應(yīng)用進(jìn)行統(tǒng)一的災(zāi)備規(guī)劃,并根據(jù)應(yīng)用的不同災(zāi)備需求,采用不同災(zāi)備方案實(shí)現(xiàn)連續(xù)性保護(hù)。
圖4 運(yùn)作類應(yīng)用雙活架構(gòu)
本文根據(jù)鐵路信息系統(tǒng)實(shí)際需求,重點(diǎn)探討數(shù)據(jù)復(fù)制等4 種災(zāi)備關(guān)鍵技術(shù),并以典型應(yīng)用為例,提出適用于不同業(yè)務(wù)需求的災(zāi)備方案。下一步的研究可針對(duì)鐵路信息系統(tǒng)未來(lái)的“兩地三中心”布局,結(jié)合業(yè)務(wù)應(yīng)用災(zāi)備需求進(jìn)一步細(xì)化災(zāi)備方案,深化災(zāi)難恢復(fù)即服務(wù)研究,充分發(fā)揮云環(huán)境特性,滿足鐵路業(yè)務(wù)系統(tǒng)災(zāi)備需求。