摘要:提出并實現(xiàn)了一種異地容災系統(tǒng)。本容災系統(tǒng)采用本地容災控制中心作為本地高速備份緩存,采用遠程寫操作復制技術,實現(xiàn)數(shù)據(jù)的異地備份;采用高效率的失效檢測算法,實現(xiàn)服務的快速自動切換;采用多種數(shù)據(jù)恢復策略,實現(xiàn)數(shù)據(jù)的恢復。此外,此系統(tǒng)支持多種操作系統(tǒng)和數(shù)據(jù)庫,并提供圖形化的配置管理工具。
關鍵詞:異地容災;失效檢測;服務切換;恢復
中圖分類號:TP311文獻標志碼:A
文章編號:1001-3695(2007)08-0294-03
0引言
現(xiàn)代信息社會,數(shù)據(jù)丟失和損壞將造成難以估量的損失。備份是保證數(shù)據(jù)安全的有效方法。在“9·11”災難中,某些大型機構之所以能夠在兩天內(nèi)恢復營業(yè),主要原因是他們不僅像一般公司那樣在內(nèi)部進行數(shù)據(jù)備份,而且在數(shù)公里外的數(shù)據(jù)備份中心也保留著數(shù)據(jù)備份。采取了這種措施后,一旦工作現(xiàn)場發(fā)生意外,企業(yè)就可以立即使用另一套數(shù)據(jù)。對企業(yè)數(shù)據(jù)異地備份的要求刺激著異地容災技術的發(fā)展。
異地容災技術的基本思路是:資源冗余+異地分布+故障管理,即在異地建立和維護一個備份系統(tǒng),利用資源冗余性和地理分散性來保證網(wǎng)絡系統(tǒng)對災難事件的抵御能力。本文提出的容災系統(tǒng)具有高集成度,除實現(xiàn)了數(shù)據(jù)的實時異地復制和應用系統(tǒng)的實時遠程切換外,也實現(xiàn)本地數(shù)據(jù)的快速恢復。其具有如下特點:支持多種操作系統(tǒng)和數(shù)據(jù)庫,具有跨平臺特性;本地高速鏡像和遠程數(shù)據(jù)寫操作復制;發(fā)生災難時自動切換服務;恢復迅速;基于Web的配置管理和監(jiān)控顯示;具有良好的成本優(yōu)勢。
1系統(tǒng)設計
1.1體系結構
本文提出的一種容災系統(tǒng)主要分為兩大部分,即本地容災系統(tǒng)和遠程容災系統(tǒng)。這兩者的結構相似,分別由應用服務系統(tǒng)和容災控制中心構成。結構如圖1所示。
1.2總體設計
容災控制中心完成各種具體的容災功能,包括數(shù)據(jù)的異地備份、失效檢測和應用系統(tǒng)數(shù)據(jù)同步,以及在發(fā)生災難以后的數(shù)據(jù)恢復。容災控制中心是整個容災系統(tǒng)的核心。本容災系統(tǒng)的各種功能由容災控制中心的不同模塊負責。各模塊的主要關系結構如圖2所示。
1)用戶配置模塊創(chuàng)建備份和恢復任務,為本地服務系統(tǒng)備份和恢復提供操作對象。此配置模塊與本地應用服務器鏡像模塊、異地容災系統(tǒng)遠程協(xié)作來完成配置。
2)狀態(tài)顯示模塊收集系統(tǒng)的狀態(tài)信息,報告給管理員。
3)鏡像模塊位于本地應用系統(tǒng)的鏡像模塊為本地控制中心寫操作遠程復制模塊提供操作對象;位于異地應用服務系統(tǒng)上的鏡像模塊為異地控制中心寫操作重放模塊提供操作對象。
4)寫操作遠程復制模塊捕獲映射設備寫操作,將寫操作存放在本地緩沖隊列中。當網(wǎng)絡通暢時,寫操作發(fā)送到遠程容災系統(tǒng)上去。
5)寫操作重放模塊接收寫操作遠程復制模塊發(fā)來的寫請求,在異地容災中心上重放寫操作實現(xiàn)數(shù)據(jù)的異地備份。6)失效檢測模塊采用push和pull相結合的技術,當災難發(fā)生時,確定故障點和有效數(shù)據(jù)源,并通知服務切換模塊和日志模塊。
7)服務監(jiān)控模塊位于本地和遠程服務系統(tǒng)上監(jiān)控應用服務系統(tǒng)狀態(tài)。
8)服務切換模塊當接到失效檢測模塊發(fā)出的失效通知后,改變系統(tǒng)服務的提供者,實現(xiàn)切換對客戶端的透明化。9)恢復模塊按照失效檢測提供的有效數(shù)據(jù)源和失效點選擇恢復策略。
10)日志模塊記錄系統(tǒng)操作、失效檢測和服務切換操作的詳細信息,并對日志的合法性進行水印驗證。
2系統(tǒng)實現(xiàn)
2.1容災配置功能
容災配置主要包括本地鏡像配置、遠程備份配置、恢復配置和遠程鏡像配置。本系統(tǒng)的配置模塊是基于Web的,提供簡便的配置流程,方便管理員進行配置和管理。
異地備份配置用來配置實現(xiàn)備份的任務組。一個備份任務組包含一組備份相關設備,設備之間有著一定的邏輯關系。備份任務用以下關系定義:
2.2數(shù)據(jù)遠程備份功能
本容災系統(tǒng)提供了對數(shù)據(jù)的本地鏡像和遠程異地備份。其功能主要由三個模塊來實現(xiàn):本地鏡像模塊、寫操作遠程復制模塊和寫操作重放模塊、異地鏡像模塊。數(shù)據(jù)異地備份的過程(圖3)具體如下:a)本地應用服務系統(tǒng)發(fā)送I/O寫請求;b)本地鏡像系統(tǒng)將本地磁盤的寫請求發(fā)送到本地容災控制中心;c)本地容災控制中心按照鏡像配置所分配的緩存大小分配緩存;d)當緩存空間足夠大時,將本地寫操作寫入緩存中,并返回確認寫操作成功;e)本地鏡像模塊完成本地磁盤的寫操作;f)當LGCQ緩存空間不足時阻塞該I/O寫請求;g)當緩存中存放有I/O寫請求時,本地容災控制中心的發(fā)送線程將I/O寫請求發(fā)送給遠程容災系統(tǒng);h)遠程容災系統(tǒng)上的寫操作重放模塊接收請求,將寫操作放入到緩沖RGCQ中,重放寫操作,完成異地的數(shù)據(jù)備份;i)如果遠程RGCQ的隊列已滿,阻塞接受寫操作線程。
2.3服務切換功能
服務切換功能由服務器監(jiān)控模塊、失效檢測模塊和服務切換模塊協(xié)作完成。
失效檢測是服務切換、可靠性通信等功能的基礎, 失效檢測算法又是失效檢測的關鍵部分。容災控制中心擁有失效檢測器模塊FD。其定義如下:
當失效檢測模塊報告服務失效后就通知服務器切換模塊進行服務切換。服務切換模塊根據(jù)失效的服務器和配置信息將服務切換到有效數(shù)據(jù)源。切換的整個過程由控制中心實現(xiàn),對用戶操作透明。而當應用服務器恢復正常后,控制中心取消服務重定向,再次進行服務切換,繼續(xù)由本地提供服務。
2.4恢復功能
確定災難發(fā)生的原因、故障點、有效數(shù)據(jù)源,然后將有效數(shù)據(jù)重新遷移到故障點是災難恢復的基本思想。在本容災系統(tǒng)中恢復的具體策略如下:
c)當本地容災系統(tǒng)的控制中心和本地主服務系統(tǒng)同時發(fā)生災難時,通過遠程差異復制技術將遠程容災控制中心的RSDP數(shù)據(jù)發(fā)送到LGDP中去。對于鏡像M1,使數(shù)據(jù)流從LGDP到LSP,使其開始重建數(shù)據(jù);完成后,LSP上的數(shù)據(jù)即為恢復之后的有效數(shù)據(jù)。
2.5狀態(tài)監(jiān)控功能
狀態(tài)監(jiān)控功能由日志模塊和狀態(tài)顯示模塊負責。此模塊負責收集不同模塊的不同狀態(tài)信息,并借助日志模塊獲取不同的日志信息顯示給管理員。本容災系統(tǒng)的狀態(tài)監(jiān)控采用基于Web的表示,為用戶提供了友好的可視化圖形界面。
3系統(tǒng)的性能測試和分析
在100 Mbps網(wǎng)速的網(wǎng)絡環(huán)境中,對異地容災系統(tǒng)的遠程復制、服務切換、系統(tǒng)恢復性能進行測試。測試環(huán)境如表1所示。
從圖4可看出,容災系統(tǒng)比原系統(tǒng)的數(shù)據(jù)存儲時間增多不到15%,且隨著存儲數(shù)據(jù)量的增大,時間增長率保持穩(wěn)定??梢?,本容災系統(tǒng)的異地備份對原系統(tǒng)的性能影響小。
模擬系統(tǒng)發(fā)生災難,測試服務切換時間和系統(tǒng)恢復時間。當容災系統(tǒng)的災備容量增大時,系統(tǒng)恢復時間僅略微大于正常環(huán)境下存儲數(shù)據(jù)時間。系統(tǒng)恢復后進行數(shù)據(jù)一致性驗證,確認丟失的數(shù)據(jù)量為0,因此可得出本系統(tǒng)具有極好的恢復時間指標和恢復點指標。從圖4還可看出,服務切換時間不受災備容量影響。故障發(fā)生后,立即改變服務提供者,保證了業(yè)務的不間斷性,顯示出本系統(tǒng)失效檢測器的良好響應時間。
4結束語
本文設計并實現(xiàn)了一種異地容災系統(tǒng),具有數(shù)據(jù)異地備份、服務自動切換和系統(tǒng)快速恢復功能,保證了系統(tǒng)服務的穩(wěn)定性和不間斷性;同時支持多種操作系統(tǒng)平臺,不需額外硬件設施,降低了總體成本;并且提供易用的圖形化配置管理工具,對通用容災技術的研究和應用作出了有意義的探索。
參考文獻:
[1]李濤.網(wǎng)絡安全概論[M].北京:電子工業(yè)出版社,2004:474-490.
[2]陳凱,白英彩.網(wǎng)絡存儲技術及發(fā)展趨勢[J].電子學報,2002,30(Z1):19281932.
[3]陳寧江,魏峻,楊波,等.Web應用服務器的適應性失效檢測[J].軟件學報, 2003,16(11):19291938.
[4]王樹鵬,云曉春,余翔湛,等.容災的理論與關鍵技術分析[J].計算機工程與應用,2003, 43(28): 54-58.
[5]LO C C,CHUANG B W.A novel approach of backup path reservation for survivable highspeed networks[J].IEEE Communications Magazine,2003,41(3):146152.
[6]JAMES M,DeBANJAN S,SATISH T K.Protection, restoration, and disaster recovery[J].IEEE Network,2004,18(2):3-4.
[7]CHRISTEL M G,SMITH M A,TAYLOR C R,et al.Evolving video skims into useful multimedia abstractions[C]//Proc of the SIGCHI Conference on Hunman Factors in Computing System.New York:ACM Press,1998:171178.
[8]SOURCE A.SANs——sharing storage to infinity and beyond[J].Electronic Design, 2004,52(9):50-59.
[9]BALDONI R, MARCHETTI C, PIERGIOVANNIS T. Asynchronous active replication in three tier distributed systems[C]//Proc of the Pacific Rim International Symposium on Dependable Computing.Washington DC:IEEE Computer Society,2002:19-26.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”