摘要:設計并實現了一種異地災難恢復系統。該系統集災難恢復和數據一致性檢測于一體,能在災難發生后及時快速地恢復系統數據,具有很高的災難恢復效率,支持多種操作系統和數據庫,并提供Web管理與監控,易于系統管理和維護。
關鍵詞:災難恢復;恢復控制;快速恢復;數據一致性
中圖分類號:TP309.2
文獻標志碼:A
文章編號:1001-3695(2007)09-0106-03
隨著信息技術在通信、金融、軍事等各個領域的廣泛應用,計算機數據資料已成為企業開展業務的基礎,其重要性不言而喻[1]。數據的丟失或損壞帶來的災難將是無法估量的。因此各類企業對災難恢復有著很高的要求[2]。特別是在商業環境中,隨著競爭形勢日益嚴峻,企業對業務的連續性提出了很高的要求,要求企業能在發生災難性事件時能及時恢復業務并保障業務的連續運行[3]。制訂完備的容災方案和有效的災難恢復策略對減少損失有著重大意義。但是,現有的數據備份恢復系統,如EMC的Symmetrix RemoteData Facility、IBM的eXtended RemoteCopy、 Veritas Volume Replicator等,是面向大型用戶的軟硬件結合的解決方案,其價格昂貴,并在通用性、靈活性等方面存在一些問題。本文提出的災難恢復系統,面對當前許多中小企業和部門缺乏數據保護的現狀,采用B/S結構,不依賴任何特定的硬件及第三方軟件,可以用于任何格式的數據恢復,具有很高的可用性和災難恢復能力,具有性價比高、易操作、穩定性好等特點。
1系統的總體架構
整個恢復系統的設計分為四大部分,即本地服務器、本地網關、遠程網關和遠程服務器。圖1是該系統的拓撲結構。
本地服務器和本地網關構成本地系統,其間由高速內部網絡連接;遠程服務器和遠程網關構成遠程系統,其間也由高速內部網絡連接。本地、遠程系統通過防火墻連接到Internet。
系統采用一種對稱式結構。本地服務器與遠程服務器沒有主、從之分,本地服務器和遠程服務器在同一時間運行相同的服務[4]。當本地服務器發生故障或遭受災難而失效時,由遠程服務器自動接替[5]其工作,充當本地服務器的角色,對客戶端提供服務,并可在未來需要時實現應用的切換,即由恢復后的本地系統繼續提供服務,此過程對用戶透明。
2具體實現
2.1恢復模型
災難恢復模型如圖2所示,共包括六個環節。災難監測(disaster inpsect,DI)是災難恢復的基礎。它將監測到的任何災難信息,包括本地系統和遠程系統的設備運行狀態、網絡連通狀況、有效數據源等告知系統管理者;系統管理者在此基礎上,作出災情評估(disaster assessment,DA),并參考以前的災難恢復決策(disaster recovery strategy,DRS),設計出新的DRS。DRS提供服務中斷后快速有效地恢復方式[6],并保證系統在發生災難時不間斷地運行[7]。DI將直接影響DA和DRS的制訂。系統管理者在綜合考慮恢復代價、安全性及允許花費的時間等因素后,選擇一種適宜的恢復策略,進行災難恢復控制(disaster recovery control, DRC)。在此過程中,系統對恢復的進程和系統的狀態等信息進行監控并告知系統管理者。若有需要可隨災難恢復情況及時變更DRS和DRC。
整個過程以系統管理為中心,由系統管理者進行災難恢復的統一指揮和調度。迅速對災難進行恢復的關鍵在于DRS的選擇和DRC的效率。
2.2恢復流程
根據災難監測模塊獲取到的故障原因和災難發生點,系統會針對不同的災難狀況,采用不同的恢復流程。其中對遠程服務器的故障,采取重新鏡像即可,因此需要恢復的災難狀況共有七種情況,除本地系統和遠程系統完全故障的情況需要管理員選擇一個相對可用的恢復數據源外,其余情況均可得到自動快速的恢復。此處以本地網關和本地服務器同時發生故障為例,介紹系統恢復時的數據流向,如圖3所示。圖中單線箭頭表示系統正常鏡像的數據流方向,雙線箭頭表示系統恢復時的數據流方向。
a)由恢復控制程序完成將遠程網關上設備RGDP的數據恢復到本地網關設備LGDP上。
b)將本地網關上設備LGDP重新映像到本地服務器上,記做LSMP。
c)在本地服務器上,將需要恢復的設備LSDP與映像設備LSMP組成鏡像磁盤對,將數據流從LSMP導向LSDP,重建數據。重建完成后,本地服務器的設備LSDP即為有效數據。
恢復完成后,由系統管理員通過Web管理工具重新啟動系統鏡像。
2.3系統模塊結構
恢復系統模塊結構如圖4所示,包括Web恢復管理模塊、后臺恢復控制模塊和磁盤一致性檢測模塊。各模塊間以指令驅動的方式進行通信。
Web恢復管理為用戶和系統管理者提供友好的圖形化界面,方便、直觀地實現對恢復任務的選擇和監控。用戶通過Web界面選擇數據恢復的方式和策略以及監控恢復進度。
恢復控制在后臺進行,由恢復程序負責恢復任務的具體執行,這是恢復系統的核心部分。Web通信接口通過發送恢復命令的方式與恢復程序通信;恢復程序接收并解析命令,完成恢復任務的運行、監控、停止或刪除。此外,還對系統狀態進行分析并更新恢復進度,將恢復的進度和狀態信息通過通信接口傳遞給Web管理模塊。
恢復程序向Web恢復管理提供全恢復、快速恢復、定時恢復及中止恢復任務的接口。管理員可以根據需要選擇進行不同程度的恢復。全恢復將恢復數據的全集全部通過網絡傳遞到相應網關。此種方式不進行數據的一致性檢測,因此操作所需的時間較長。快速恢復僅將更新的數據通過網絡傳遞到相應的網關。此種方式可以減少恢復時間和恢復時的網絡流量。定時恢復提供指定數據恢復開始時間的功能,系統恢復將在管理員指定的時間以其指定的方式自動開始。無論何種方式和程度的恢復,管理員都可以對恢復的過程進行人工干預,隨時中止恢復過程。
恢復完成后,用戶可選擇進行磁盤的一致性檢測,以進一步確認恢復完成后本地系統和遠程系統的數據一致性。
2.4恢復控制
DTCn=(Rn,Pn,Sn,Wn)。其中:Rn為本地網關的任務磁盤分區;Pn為遠程網關的任務磁盤分區;Sn為恢復策略;Wn為采用的恢復方式。Rn、Pn、 Sn和Wn在同一個恢復任務中確定并對應,其關系為RnSnWnPn。
對每個任務控制DTCn ,獲取相應Sn和Wn后,控制程序將首先進行命令解析,確定用戶提交的恢復方式。由初始化模塊負責磁盤信息的獲取,并由服務端與客戶端進行協商,比較Rn和Pn的大小。若用戶選擇的是快速恢復,則進行Rn和Pn各自的MD5散列值計算。具體做法為:將磁盤分為m段,每段的大小由用戶指定。Rn和Pn的第u段的MD5值分別記為mdu和mdu′。將每段分為n塊,第n塊的數據量以datan表示。以塊為單位計算該段的MD5散列值:mdn=0,n=0;mdn=md(datan,md(n-1),n>0。
mdn即為該段的MD5散列值。將Rn和Pn的段MD5散列值進行比較。若mdu=mdu′ 則比較mdu+1和mdu+1′ ,若mdu ≠ mdu′則建立socket連接,進行數據傳送。數據傳送每次按固定單位進行。若服務器端收到的數據量小于該固定值,則通知客戶端重發,即由出錯重發機制保證傳送數據的正確性。傳輸方向由Web管理界面進行控制,恢復程序從由Web管理界面寫入的配置文件中讀取相應標志,確定恢復的方向。若用戶選擇了定時恢復功能,還需要從時間配置文件中讀取相應的時間標志。
3恢復系統性能分析
在實驗室內部網環境下搭建恢復系統環境。實驗中,本地系統和遠程系統均為1.70 GHz處理器。128 MB RAM、7 200轉/s硬盤、100 Mbps網卡。由于遠程服務器僅用于對外服務切換,其上發生的故障對數據的完整性和安全性沒有影響,影響的只是業務的可用性和連續性。遠程服務器發生故障時,重新鏡像將更有效率[8],此種情況不采取對系統進行恢復的方式。此處僅對本地服務器、本地網關、遠程網關的故障進行恢復測試。表1列出了四種災難情況的恢復結果。
從表1可以看出,災難發生點不同,系統恢復時間也有相應的差別。原因在于各災難情況的恢復流程不同。如圖3所示,本地網關和本地服務器同時發生災難時,恢復分三個階段進行;若只是本地服務器的LSDP發生災難,恢復僅分兩個階段完成從本地網關到本地服務器的恢復。
此外,影響系統恢復時間的因素還有所選擇的恢復方式。圖5以從遠程網關到本地網關的數據恢復為例,顯示了選擇全恢復與快速恢復兩種恢復方式在系統恢復時間上的差異。
從圖5可以看出,快速恢復具有更高的效率,并且需要恢復的數據量越大,其時間優勢越明顯。
對以上系統恢復后進行的數據一致性檢測表明,系統丟失的數據量為0。因此可得出該系統具有極好的恢復時間指標RTO[9]和快速恢復能力,可以在較短的時間內快速恢復系統關鍵數據。
4結束語
本文設計并實現的異地災難恢復系統在較低檔次的平臺上為用戶搭建較高等級的遠程災難恢復系統,實現了災難發生后系統的快速恢復,并保證了恢復后本地系統與遠程系統間數據的一致性。用戶可通過友好的界面進行災難恢復的控制。整個系統具有很高的性價比。此系統對于研制具有自主知識產權的恢復技術及其相關產品具有積極意義。
參考文獻:
[1]李濤. 網絡安全概論[M]. 北京:電子工業出版社,2004.
[2]LEWISWJr,WATSON R T,PICKREN A. An empirical assessment of IT disaster risk[J]. Comm ACM,2003, 46(9):201-206.
[3]王德軍,王麗娜. 容災系統研究[J]. 計算機工程,2005, 31(6):43-45.
[4]TESTA S, Chou W.The distributed data center:frontend solutions[J].IT Pro, 2004, 6(3):26-34.
[5]WANG Kun, CAI Zhen, LI Zengxin, et al.A disaster recovery system model in an egovernment system[C]//Proc of the 6th International Conference on Parallel and Distributed Computing, Applications and Technologies. 2005.
[6]FALLARA P.Disaster recovery planning[J].IEEE Potentials, 2004,22(5):42-44.
[7]SHAO B B M.Optimal redundancy allocation for information technology disaster recovery in the network economy[J]. IEEE Transactions on Dependable and Secure Computing, 2005, 2(3):262-267.
[8]FROLUND S, PEDONE F. Dealing efficiently with datacenter disasters[J].Journal of Parallel and Distributed Computing, 2003, 63(11):1064-1081.
[9]徐志發,汪海鵬. 電信級容災系統關鍵技術分析[J]. 數據通信,2003(1):9-11.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”