鄭捷
中國煙草總公司信息系統(tǒng)上海容災中心,技術(shù)科,上海市浦東新區(qū)庭安路428號 200137
隨著行業(yè)發(fā)展和兩化融合深入,信息化已覆蓋行業(yè)生產(chǎn)經(jīng)營管理各個領(lǐng)域,行業(yè)對信息系統(tǒng)的依賴與日俱增。國家局煙草專賣局高度重視行業(yè)信息系統(tǒng)的災難備份與恢復工作,通過建設中國煙草總公司信息系統(tǒng)上海容災中心為國家局重要信息系統(tǒng)提供了應對災難的運行環(huán)境,通過組織行業(yè)容災演練全面驗證了容災系統(tǒng)功能。要確保災難場景下信息系統(tǒng)的容災效果,就必須做到容災應用數(shù)據(jù)少丟失、應用可持續(xù)。選擇合理容災數(shù)據(jù)復制產(chǎn)品是確保數(shù)據(jù)丟失量符合設計要求的關(guān)鍵所在,也是確保應用連續(xù)性的前提條件。然而由于業(yè)界缺乏相關(guān)模型可供參考,因此要在眾多的容災技術(shù)和產(chǎn)品中進行最優(yōu)選擇并非易事。
為此,上海容災中心在綜合產(chǎn)品機制分析、容災需求理解、系統(tǒng)現(xiàn)狀調(diào)研的基礎(chǔ)上,設計了適合行業(yè)特點的容災產(chǎn)品評估模型,并對國內(nèi)主流容災產(chǎn)品進行了全面的測試、分析和評估,最終確立了合理的容災數(shù)據(jù)復制產(chǎn)品。
容災通??煞譃閿?shù)據(jù)容災和應用容災。數(shù)據(jù)級容災用于保護數(shù)據(jù)安全,通過數(shù)據(jù)復制工具在異地建立一個本地數(shù)據(jù)的可用副本,該副本可以是本地源數(shù)據(jù)的實時副本(同步數(shù)據(jù)復制),也可以為相對滯后的副本(異步數(shù)據(jù)復制)。當本地生產(chǎn)系統(tǒng)出現(xiàn)不可恢復的故障時,容災系統(tǒng)提供可用的數(shù)據(jù),恢復后數(shù)據(jù)丟失量取決于數(shù)據(jù)復制工具及鏈路帶寬。災難發(fā)生后可通過事先備份的應用程序包及基礎(chǔ)軟件安裝介質(zhì)進行應用恢復,恢復耗時較長。應用級災備不但需要一份可用的數(shù)據(jù),還需要相應的應用程序以及與原應用系統(tǒng)相類似的硬件資源,以及各個資源間的良好協(xié)調(diào),當本地生產(chǎn)系統(tǒng)發(fā)生災難時,系統(tǒng)進行業(yè)務切換,由容災系統(tǒng)對外提供服務。應用級容災建立在數(shù)據(jù)級容災的基礎(chǔ)上,選擇健壯的數(shù)據(jù)復制產(chǎn)品對于兩種容災模式都具有至關(guān)重要的意義。
容災中心可分為同城容災中心和異地容災中心。同城容災中心與生產(chǎn)中心一般處于同一城市的不同風險區(qū)域內(nèi),能夠抵御機房災難與系統(tǒng)故障等小范圍風險。異地容災中心與生產(chǎn)中心處于不同城市,與生產(chǎn)中心距離較遠,能夠?qū)ψ匀粸碾y、機房災難、系統(tǒng)故障三類風險提供全面防護,也因此無法做到數(shù)據(jù)零丟失。選擇適用的異步數(shù)據(jù)復制產(chǎn)品對于異地容災中心就顯得尤為重要。
依據(jù)風險防范場景及于生產(chǎn)中心的距離,上海容災中心屬于典型的異地應用級容災。其核心系統(tǒng)的數(shù)據(jù)丟失量目標(Recovery Point Object,RPO)須達到10分鐘,系統(tǒng)恢復時間點目標(Recovery Time Object,RTO)須達到4小時。為此需要首先選擇數(shù)據(jù)復制候選產(chǎn)品,為進一步的評測和最終選擇提供基礎(chǔ)。
當前實現(xiàn)數(shù)據(jù)容災的解決方案,主要分為數(shù)據(jù)備份(Banckup)、數(shù)據(jù)復制(Replication)和持續(xù)數(shù)據(jù)保護(Continuious Data Pretection,CDP)三類。依據(jù)數(shù)據(jù)復制產(chǎn)品的3R能力,即數(shù)據(jù)的冗余(Redundance)、可恢復(Recovery)和遠程性(Remoteness),對主流數(shù)據(jù)容災方案做簡要分析如下表所示。
表1 主流數(shù)據(jù)容災方案分析Tab.1 Analysis of primary disaster tolerance data schemes.
綜上分析,基于數(shù)據(jù)備份技術(shù)方案的數(shù)據(jù)丟失量和數(shù)據(jù)恢復時間通常以天為單位,無法滿足中國煙草總公司的容災能力目標要求。因此數(shù)據(jù)復制產(chǎn)品將在數(shù)據(jù)復制和持續(xù)數(shù)據(jù)保護兩類中進行選擇。
數(shù)據(jù)復制和持續(xù)數(shù)據(jù)保護產(chǎn)品眾多,對所有主流產(chǎn)品進行全面測試顯然不現(xiàn)實。為了確保待測產(chǎn)品的完整性和典型性,首先需要對相關(guān)產(chǎn)品進行系統(tǒng)分類。
從技術(shù)實現(xiàn)角度看,數(shù)據(jù)復制與持續(xù)數(shù)據(jù)保護技術(shù)都需要首先實現(xiàn)生產(chǎn)數(shù)據(jù)變化量的持續(xù)捕獲。不同的是,數(shù)據(jù)復制直接將數(shù)據(jù)變化量進行保存,以確保生產(chǎn)數(shù)據(jù)與容災數(shù)據(jù)的盡可能一致;而持續(xù)數(shù)據(jù)保護技術(shù)會將數(shù)據(jù)變化行為進行描述并標注發(fā)生的時間再保存,從而為未來獲得任意時間點的數(shù)據(jù)提供基礎(chǔ)。因此可以從數(shù)據(jù)變化量的捕獲模式對兩類產(chǎn)品進行統(tǒng)一分類。
生產(chǎn)數(shù)據(jù)的捕獲發(fā)生在數(shù)據(jù)從產(chǎn)生到存儲的傳輸途徑中。目前中國煙草總公司絕大部分系統(tǒng)已經(jīng)實現(xiàn)了基于SAN的存儲架構(gòu),因此在參照SNIA共享存儲模型的基礎(chǔ)上,基于SAN架構(gòu)進行了模型細化,并最終實現(xiàn)了抽象模型到物理模型的對照,如圖1所示。
依據(jù)以上分析,在圖1.c)中標出的數(shù)據(jù)讀寫關(guān)鍵位置,均可以實現(xiàn)數(shù)據(jù)的捕獲。因此,按照數(shù)據(jù)捕獲位置的不同,可以將目前的數(shù)據(jù)復制產(chǎn)品劃分為如表2所列的幾種主要類型。
其中,基于應用系統(tǒng)的數(shù)據(jù)捕獲類產(chǎn)品通常只能對應用系統(tǒng)本身產(chǎn)生和管理的數(shù)據(jù)進行捕獲??紤]到中國煙草總公司核心應用眾多,為各系統(tǒng)單獨實現(xiàn)數(shù)據(jù)容災不具備可操作性。因此,后續(xù)測評時對該類產(chǎn)品不予考慮。
圖1 SAN架構(gòu)存儲模型對照Fig.Comparison of SAN storage model
表2 不同數(shù)據(jù)捕獲技術(shù)分析Tab.2 Analysis of different data capture techniques
以上述分析為依據(jù),為了全面評估各類數(shù)據(jù)復制產(chǎn)品的適用性,上海容災中心為不同類別分別選擇了1-2項業(yè)界典型產(chǎn)品,如表3所示。其中考慮到中國煙草總公司的存儲子系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)主要為IBM系列產(chǎn)品,從兼容性考慮,優(yōu)先考慮了IBM的相關(guān)產(chǎn)品。
表3 備選數(shù)據(jù)復制產(chǎn)品列表Tab.3 List of alternative data replication products
為完整評估以上備選產(chǎn)品,設計了由指標項、指標評估得分和指標權(quán)重組成的評估模型。數(shù)據(jù)復制產(chǎn)品使用場景主要可分為正常狀態(tài)和災難狀態(tài)。
對于正常狀態(tài),數(shù)據(jù)流向為生產(chǎn)中心捕獲數(shù)據(jù)并復制到遠端,此時數(shù)據(jù)丟失量和生產(chǎn)系統(tǒng)性能影響度為關(guān)鍵指標,該兩項指標都可通過實際測試獲得量化結(jié)果,得分計算按特定區(qū)間內(nèi)反向比例確定。
對于災難狀態(tài),數(shù)據(jù)流向為容災中心首先啟用災備數(shù)據(jù)并擇機反向復制回生產(chǎn)中心,此時數(shù)據(jù)可恢復能力(現(xiàn)有數(shù)據(jù)必須可用)、數(shù)據(jù)反向恢復能力(數(shù)據(jù)能否回傳生產(chǎn)中心)、系統(tǒng)恢復支撐能力(啟用現(xiàn)有數(shù)據(jù)的耗時)、任意時間點恢復能力(容災數(shù)據(jù)能可恢復到過去任意時間點以應對生產(chǎn)中心數(shù)據(jù)誤刪除)為關(guān)鍵指標。該四項指標可通過測試得出定性結(jié)論,即功能上是否具備或能否達到特定要求,如滿足則得該指標項下的滿分,如不滿足則不得分。
六項指標權(quán)重分別為20、10、5、20、20和10,用于衡量不同指標項的重要程度。
權(quán)重及數(shù)據(jù)丟失量10分鐘、性能影響20%、備份數(shù)據(jù)就緒耗時3小時等數(shù)值設定來源于項目需求設計,在模型推廣應用中可根據(jù)實際場景進行微調(diào)。
六項指標項評估得分乘以該指標權(quán)重并求和即為該產(chǎn)品的最終得分,即數(shù)據(jù)容災綜合能力得分=
上海容災中心搭建了專業(yè)的測試環(huán)境,盡可能從系統(tǒng)架構(gòu)、鏈路距離、數(shù)據(jù)容量等方面模擬真實的業(yè)務環(huán)境和容災環(huán)境。各廠商也專門針對測試環(huán)境進行了產(chǎn)品的優(yōu)化部署和策略的優(yōu)化配置,以盡可能充分展現(xiàn)產(chǎn)品的功能和性能。
2.2.1 數(shù)據(jù)丟失量測試結(jié)果
災難發(fā)生時總會有部分生產(chǎn)數(shù)據(jù)未來得及傳輸?shù)饺轂闹行模瑥亩斐蓴?shù)據(jù)丟失。數(shù)據(jù)丟失量一般以時間作為度量單位,通過在某一時刻人為造成災難,查看容災系統(tǒng)所能獲的最新數(shù)據(jù)的時間點,可以測出該產(chǎn)品的數(shù)據(jù)丟失量。本次測試的6項產(chǎn)品數(shù)據(jù)丟失量測試結(jié)果如下表所示。
表4 數(shù)據(jù)復制產(chǎn)品備選模型Tab.4 alternative model of disaster tolerance data replication products
表5 數(shù)據(jù)復制產(chǎn)品RPO能力測試結(jié)果Tab.5 RPO test results
2.2.2 生成系統(tǒng)性能影響度測試結(jié)果
數(shù)據(jù)復制產(chǎn)品要完成生產(chǎn)數(shù)據(jù)的捕獲、處理和傳輸?shù)炔僮?,因此會在一定程度上增加現(xiàn)有生產(chǎn)系統(tǒng)的工作負載,降低生產(chǎn)系統(tǒng)的性能。由于實現(xiàn)機理不同,不同類別的產(chǎn)品對生產(chǎn)系統(tǒng)性能的影響程度也不同。本次測試的6項產(chǎn)品對生產(chǎn)系統(tǒng)性能的影響如下表6所示。表中測試數(shù)據(jù)為生產(chǎn)系統(tǒng)性能下降比例。
2.2.3 數(shù)據(jù)可恢復能力測試結(jié)果
對生成的冗余后備數(shù)據(jù),分別在相應產(chǎn)品的管理和操作下,生成可用的數(shù)據(jù)映像并考察:1)數(shù)據(jù)對后備應用系統(tǒng)是否可用;2)數(shù)據(jù)對第三方系統(tǒng)是否可讀。其中,數(shù)據(jù)的第三方可讀性要求,主要是為了滿足特殊場景下數(shù)據(jù)的可用性,例如應急第三方查詢或滿足法規(guī)遵從性。經(jīng)過測試,各項產(chǎn)品生成容災數(shù)據(jù)的可恢復性測試結(jié)果如下表7所示。
表6 數(shù)據(jù)復制產(chǎn)品對生產(chǎn)系統(tǒng)性能映像測試結(jié)果Tab.6 Effect of data replication products on production system performance
表7 容災數(shù)據(jù)可恢復性測試結(jié)果Tab.7 disaster tolerance data recovery test results
從測試結(jié)果來看,所有產(chǎn)品基本都滿足容災數(shù)據(jù)可恢復性這一基本要求。
2.2.4 數(shù)據(jù)反向恢復能力測試結(jié)果
容災數(shù)據(jù)回切是災難恢復的最后步驟。容災數(shù)據(jù)的反向恢復,通常會安排在災難影響完全消除之后,因此反向恢復過程主要關(guān)注是否影響當前業(yè)務的持續(xù)運行,對反向恢復的時間不太敏感。經(jīng)過測試,各產(chǎn)品容災數(shù)據(jù)的反向恢復能力測試結(jié)果如表8所示。
表8 各產(chǎn)品容災數(shù)據(jù)反向恢復能力測試結(jié)果Tab.8 Test results of reverse data recovery performance
2.2.5 系統(tǒng)恢復支撐能力測試結(jié)果
對容災數(shù)據(jù),通常無法直接加載使用,需要在此之前進行一系列的恢復操作。由于數(shù)據(jù)捕獲機制、異地存儲機制的不同,所需的操作方法、恢復過程、恢復時間也各不相同。數(shù)據(jù)恢復到可用狀態(tài)是應用恢復的基礎(chǔ),恢復時間過長,必然導致系統(tǒng)恢復時間目標(RTO)無法實現(xiàn)。
通?;謴蜁r間與容災數(shù)據(jù)的數(shù)據(jù)量大小成正比,但在相同容災數(shù)據(jù)量的情況下,仍舊可以比較出不同產(chǎn)品容災數(shù)據(jù)恢復快慢的能力。經(jīng)過測試,各項產(chǎn)品生成的容災數(shù)據(jù)恢復時間測試結(jié)果如表9所示。表中測試數(shù)據(jù)為容災數(shù)據(jù)在災備中心恢復所需時間。
2.2.6 任意時間點數(shù)據(jù)恢復能力測試結(jié)果
利用容災數(shù)據(jù)任意時間點恢復功能,可以從容災數(shù)據(jù)獲得災難發(fā)生前任意時間點的數(shù)據(jù)狀態(tài),而不僅僅是災難發(fā)生時數(shù)據(jù)的最新狀態(tài)。這對抵御生產(chǎn)數(shù)據(jù)的邏輯錯誤具有重要價值。實際上,任意時間點恢復能力由產(chǎn)品的功能定位和數(shù)據(jù)變化量的保存機制確定,本測試主要是驗證產(chǎn)品的任意時間點功能在容災系統(tǒng)環(huán)境下的實際可用性。經(jīng)過測試,各產(chǎn)品生成的容災數(shù)據(jù)的恢復任意時間點恢復能力測試結(jié)果如表10所示。測試結(jié)果基本與產(chǎn)品的功能定位一致。
表9 各產(chǎn)品容災數(shù)據(jù)恢復速度測試結(jié)果Tab.9 Test results of data recovery rate
表10 各產(chǎn)品容災數(shù)據(jù)反向恢復能力測試結(jié)果Tab.10 Test results of reverse data recovery rate
基于產(chǎn)品憑據(jù)模型和各項產(chǎn)品的測試分值,各產(chǎn)品的綜合得分和評估排名如下表所示。其中,測試中有不予考慮項的產(chǎn)品,不參加綜合評分和排名。
從測試結(jié)果來看,EMC的Recovery Point的綜合評估得分最高,是行業(yè)容災系統(tǒng)的容災核心產(chǎn)品的最優(yōu)選擇。實際上,上海容災中心最終選擇了該產(chǎn)品,并在數(shù)據(jù)容災的基礎(chǔ)上建立了復雜的應用容災體系。
對于測試結(jié)果存在兩點意外。一是基于IBM PPRC技術(shù)的數(shù)據(jù)復制解決方案對生產(chǎn)系統(tǒng)的影響高達44%。從原理上講,基于存儲子系統(tǒng)的數(shù)據(jù)復制,應該主要消耗磁盤陣列的處理資源,不應當對生產(chǎn)系統(tǒng)的性能造成如此高的影響;二是IBM Q復制會造成54分鐘的數(shù)據(jù)丟失量,從應用角度無法接受。對以上現(xiàn)象的分析超出了本文的范圍。無論如何以上產(chǎn)品在實際環(huán)境下的表現(xiàn)與預計大為不符,這也說明了在現(xiàn)實環(huán)境中進行產(chǎn)品測試的必要性。
表11 各產(chǎn)品綜合得分和評估排名Tab.11 Comprehensive score and evaluation ranking
基于評估模型所選擇產(chǎn)品構(gòu)建的中國煙草總公司容災系統(tǒng),上線以來功能滿足要求,系統(tǒng)運行穩(wěn)定。2012年至今共完成11次容災演練,實現(xiàn)35套災備系統(tǒng)和68家行業(yè)單位容災演練全覆蓋。其中4次為雙向演練, 兩煙交易等11套信息系統(tǒng)切換至上海運行后回切北京,容災環(huán)境功能和性能經(jīng)受了真實應用負荷的檢驗。在2016年起開展的省級單位容災試點中,評估模型也在方案設計和產(chǎn)品選型階段推廣落地,加速了海南省局、中煙機技術(shù)中心項目建設進程。