鄭捷
中國煙草總公司信息系統上海容災中心,技術科,上海市浦東新區庭安路428號 200137
隨著行業發展和兩化融合深入,信息化已覆蓋行業生產經營管理各個領域,行業對信息系統的依賴與日俱增。國家局煙草專賣局高度重視行業信息系統的災難備份與恢復工作,通過建設中國煙草總公司信息系統上海容災中心為國家局重要信息系統提供了應對災難的運行環境,通過組織行業容災演練全面驗證了容災系統功能。要確保災難場景下信息系統的容災效果,就必須做到容災應用數據少丟失、應用可持續。選擇合理容災數據復制產品是確保數據丟失量符合設計要求的關鍵所在,也是確保應用連續性的前提條件。然而由于業界缺乏相關模型可供參考,因此要在眾多的容災技術和產品中進行最優選擇并非易事。
為此,上海容災中心在綜合產品機制分析、容災需求理解、系統現狀調研的基礎上,設計了適合行業特點的容災產品評估模型,并對國內主流容災產品進行了全面的測試、分析和評估,最終確立了合理的容災數據復制產品。
容災通常可分為數據容災和應用容災。數據級容災用于保護數據安全,通過數據復制工具在異地建立一個本地數據的可用副本,該副本可以是本地源數據的實時副本(同步數據復制),也可以為相對滯后的副本(異步數據復制)。當本地生產系統出現不可恢復的故障時,容災系統提供可用的數據,恢復后數據丟失量取決于數據復制工具及鏈路帶寬。災難發生后可通過事先備份的應用程序包及基礎軟件安裝介質進行應用恢復,恢復耗時較長。應用級災備不但需要一份可用的數據,還需要相應的應用程序以及與原應用系統相類似的硬件資源,以及各個資源間的良好協調,當本地生產系統發生災難時,系統進行業務切換,由容災系統對外提供服務。應用級容災建立在數據級容災的基礎上,選擇健壯的數據復制產品對于兩種容災模式都具有至關重要的意義。
容災中心可分為同城容災中心和異地容災中心。同城容災中心與生產中心一般處于同一城市的不同風險區域內,能夠抵御機房災難與系統故障等小范圍風險。異地容災中心與生產中心處于不同城市,與生產中心距離較遠,能夠對自然災難、機房災難、系統故障三類風險提供全面防護,也因此無法做到數據零丟失。選擇適用的異步數據復制產品對于異地容災中心就顯得尤為重要。
依據風險防范場景及于生產中心的距離,上海容災中心屬于典型的異地應用級容災。其核心系統的數據丟失量目標(Recovery Point Object,RPO)須達到10分鐘,系統恢復時間點目標(Recovery Time Object,RTO)須達到4小時。為此需要首先選擇數據復制候選產品,為進一步的評測和最終選擇提供基礎。
當前實現數據容災的解決方案,主要分為數據備份(Banckup)、數據復制(Replication)和持續數據保護(Continuious Data Pretection,CDP)三類。依據數據復制產品的3R能力,即數據的冗余(Redundance)、可恢復(Recovery)和遠程性(Remoteness),對主流數據容災方案做簡要分析如下表所示。

表1 主流數據容災方案分析Tab.1 Analysis of primary disaster tolerance data schemes.
綜上分析,基于數據備份技術方案的數據丟失量和數據恢復時間通常以天為單位,無法滿足中國煙草總公司的容災能力目標要求。因此數據復制產品將在數據復制和持續數據保護兩類中進行選擇。
數據復制和持續數據保護產品眾多,對所有主流產品進行全面測試顯然不現實。為了確保待測產品的完整性和典型性,首先需要對相關產品進行系統分類。
從技術實現角度看,數據復制與持續數據保護技術都需要首先實現生產數據變化量的持續捕獲。不同的是,數據復制直接將數據變化量進行保存,以確保生產數據與容災數據的盡可能一致;而持續數據保護技術會將數據變化行為進行描述并標注發生的時間再保存,從而為未來獲得任意時間點的數據提供基礎。因此可以從數據變化量的捕獲模式對兩類產品進行統一分類。
生產數據的捕獲發生在數據從產生到存儲的傳輸途徑中。目前中國煙草總公司絕大部分系統已經實現了基于SAN的存儲架構,因此在參照SNIA共享存儲模型的基礎上,基于SAN架構進行了模型細化,并最終實現了抽象模型到物理模型的對照,如圖1所示。
依據以上分析,在圖1.c)中標出的數據讀寫關鍵位置,均可以實現數據的捕獲。因此,按照數據捕獲位置的不同,可以將目前的數據復制產品劃分為如表2所列的幾種主要類型。
其中,基于應用系統的數據捕獲類產品通常只能對應用系統本身產生和管理的數據進行捕獲。考慮到中國煙草總公司核心應用眾多,為各系統單獨實現數據容災不具備可操作性。因此,后續測評時對該類產品不予考慮。

圖1 SAN架構存儲模型對照Fig.Comparison of SAN storage model

表2 不同數據捕獲技術分析Tab.2 Analysis of different data capture techniques
以上述分析為依據,為了全面評估各類數據復制產品的適用性,上海容災中心為不同類別分別選擇了1-2項業界典型產品,如表3所示。其中考慮到中國煙草總公司的存儲子系統和數據庫管理系統主要為IBM系列產品,從兼容性考慮,優先考慮了IBM的相關產品。

表3 備選數據復制產品列表Tab.3 List of alternative data replication products
為完整評估以上備選產品,設計了由指標項、指標評估得分和指標權重組成的評估模型。數據復制產品使用場景主要可分為正常狀態和災難狀態。
對于正常狀態,數據流向為生產中心捕獲數據并復制到遠端,此時數據丟失量和生產系統性能影響度為關鍵指標,該兩項指標都可通過實際測試獲得量化結果,得分計算按特定區間內反向比例確定。
對于災難狀態,數據流向為容災中心首先啟用災備數據并擇機反向復制回生產中心,此時數據可恢復能力(現有數據必須可用)、數據反向恢復能力(數據能否回傳生產中心)、系統恢復支撐能力(啟用現有數據的耗時)、任意時間點恢復能力(容災數據能可恢復到過去任意時間點以應對生產中心數據誤刪除)為關鍵指標。該四項指標可通過測試得出定性結論,即功能上是否具備或能否達到特定要求,如滿足則得該指標項下的滿分,如不滿足則不得分。
六項指標權重分別為20、10、5、20、20和10,用于衡量不同指標項的重要程度。
權重及數據丟失量10分鐘、性能影響20%、備份數據就緒耗時3小時等數值設定來源于項目需求設計,在模型推廣應用中可根據實際場景進行微調。
六項指標項評估得分乘以該指標權重并求和即為該產品的最終得分,即數據容災綜合能力得分=
上海容災中心搭建了專業的測試環境,盡可能從系統架構、鏈路距離、數據容量等方面模擬真實的業務環境和容災環境。各廠商也專門針對測試環境進行了產品的優化部署和策略的優化配置,以盡可能充分展現產品的功能和性能。
2.2.1 數據丟失量測試結果
災難發生時總會有部分生產數據未來得及傳輸到容災中心,從而造成數據丟失。數據丟失量一般以時間作為度量單位,通過在某一時刻人為造成災難,查看容災系統所能獲的最新數據的時間點,可以測出該產品的數據丟失量。本次測試的6項產品數據丟失量測試結果如下表所示。

表4 數據復制產品備選模型Tab.4 alternative model of disaster tolerance data replication products

表5 數據復制產品RPO能力測試結果Tab.5 RPO test results
2.2.2 生成系統性能影響度測試結果
數據復制產品要完成生產數據的捕獲、處理和傳輸等操作,因此會在一定程度上增加現有生產系統的工作負載,降低生產系統的性能。由于實現機理不同,不同類別的產品對生產系統性能的影響程度也不同。本次測試的6項產品對生產系統性能的影響如下表6所示。表中測試數據為生產系統性能下降比例。
2.2.3 數據可恢復能力測試結果
對生成的冗余后備數據,分別在相應產品的管理和操作下,生成可用的數據映像并考察:1)數據對后備應用系統是否可用;2)數據對第三方系統是否可讀。其中,數據的第三方可讀性要求,主要是為了滿足特殊場景下數據的可用性,例如應急第三方查詢或滿足法規遵從性。經過測試,各項產品生成容災數據的可恢復性測試結果如下表7所示。

表6 數據復制產品對生產系統性能映像測試結果Tab.6 Effect of data replication products on production system performance

表7 容災數據可恢復性測試結果Tab.7 disaster tolerance data recovery test results
從測試結果來看,所有產品基本都滿足容災數據可恢復性這一基本要求。
2.2.4 數據反向恢復能力測試結果
容災數據回切是災難恢復的最后步驟。容災數據的反向恢復,通常會安排在災難影響完全消除之后,因此反向恢復過程主要關注是否影響當前業務的持續運行,對反向恢復的時間不太敏感。經過測試,各產品容災數據的反向恢復能力測試結果如表8所示。

表8 各產品容災數據反向恢復能力測試結果Tab.8 Test results of reverse data recovery performance
2.2.5 系統恢復支撐能力測試結果
對容災數據,通常無法直接加載使用,需要在此之前進行一系列的恢復操作。由于數據捕獲機制、異地存儲機制的不同,所需的操作方法、恢復過程、恢復時間也各不相同。數據恢復到可用狀態是應用恢復的基礎,恢復時間過長,必然導致系統恢復時間目標(RTO)無法實現。
通常恢復時間與容災數據的數據量大小成正比,但在相同容災數據量的情況下,仍舊可以比較出不同產品容災數據恢復快慢的能力。經過測試,各項產品生成的容災數據恢復時間測試結果如表9所示。表中測試數據為容災數據在災備中心恢復所需時間。
2.2.6 任意時間點數據恢復能力測試結果
利用容災數據任意時間點恢復功能,可以從容災數據獲得災難發生前任意時間點的數據狀態,而不僅僅是災難發生時數據的最新狀態。這對抵御生產數據的邏輯錯誤具有重要價值。實際上,任意時間點恢復能力由產品的功能定位和數據變化量的保存機制確定,本測試主要是驗證產品的任意時間點功能在容災系統環境下的實際可用性。經過測試,各產品生成的容災數據的恢復任意時間點恢復能力測試結果如表10所示。測試結果基本與產品的功能定位一致。

表9 各產品容災數據恢復速度測試結果Tab.9 Test results of data recovery rate

表10 各產品容災數據反向恢復能力測試結果Tab.10 Test results of reverse data recovery rate
基于產品憑據模型和各項產品的測試分值,各產品的綜合得分和評估排名如下表所示。其中,測試中有不予考慮項的產品,不參加綜合評分和排名。
從測試結果來看,EMC的Recovery Point的綜合評估得分最高,是行業容災系統的容災核心產品的最優選擇。實際上,上海容災中心最終選擇了該產品,并在數據容災的基礎上建立了復雜的應用容災體系。
對于測試結果存在兩點意外。一是基于IBM PPRC技術的數據復制解決方案對生產系統的影響高達44%。從原理上講,基于存儲子系統的數據復制,應該主要消耗磁盤陣列的處理資源,不應當對生產系統的性能造成如此高的影響;二是IBM Q復制會造成54分鐘的數據丟失量,從應用角度無法接受。對以上現象的分析超出了本文的范圍。無論如何以上產品在實際環境下的表現與預計大為不符,這也說明了在現實環境中進行產品測試的必要性。

表11 各產品綜合得分和評估排名Tab.11 Comprehensive score and evaluation ranking
基于評估模型所選擇產品構建的中國煙草總公司容災系統,上線以來功能滿足要求,系統運行穩定。2012年至今共完成11次容災演練,實現35套災備系統和68家行業單位容災演練全覆蓋。其中4次為雙向演練, 兩煙交易等11套信息系統切換至上海運行后回切北京,容災環境功能和性能經受了真實應用負荷的檢驗。在2016年起開展的省級單位容災試點中,評估模型也在方案設計和產品選型階段推廣落地,加速了海南省局、中煙機技術中心項目建設進程。