摘要:設(shè)計(jì)并實(shí)現(xiàn)了一種基于Linux的多策略容災(zāi)系統(tǒng)。該系統(tǒng)集快速備份、完整備份、增量備份、快速恢復(fù)、安全日志等為一體,有效解決了目前大多數(shù)容災(zāi)系統(tǒng)備份、恢復(fù)策略單一,不能根據(jù)應(yīng)用服務(wù)器的特征定制相應(yīng)的容災(zāi)策略等問題。
關(guān)鍵詞:備份; 恢復(fù); 異地容災(zāi); 快照; 安全日志
中圖分類號:TP309.2文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2007)07-0117-03
0引言
隨著計(jì)算機(jī)系統(tǒng)和互聯(lián)網(wǎng)在各個領(lǐng)域的廣泛應(yīng)用,信息已經(jīng)成為公司最具價(jià)值的資產(chǎn),數(shù)據(jù)的丟失帶來的損失將是不可估量的。所以建立容災(zāi)系統(tǒng),保證數(shù)據(jù)完整性和業(yè)務(wù)連續(xù)性在信息社會顯得極為重要[1]。傳統(tǒng)的數(shù)據(jù)容災(zāi)系統(tǒng)[2]實(shí)施數(shù)據(jù)備份時一般需要停止服務(wù),備份和恢復(fù)時間較長,并且需要專業(yè)人士針對特定系統(tǒng)來制定專有的容災(zāi)策略,部分存在著容災(zāi)策略單一[1~3],不能根據(jù)應(yīng)用服務(wù)器的特征制定相應(yīng)的容災(zāi)計(jì)劃等缺點(diǎn)。
本文針對以上問題提出了一種新的基于Linux的多策略容災(zāi)系統(tǒng)。多種容災(zāi)策略可以供用戶靈活選擇;完整可靠的日志功能,方便管理員跟蹤系統(tǒng)的每一步操作,確保用戶業(yè)務(wù)連續(xù)、穩(wěn)定地運(yùn)行。
1體系結(jié)構(gòu)
系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
該系統(tǒng)從地域上分為兩大部分,即本地備份系統(tǒng)和遠(yuǎn)程策略系統(tǒng)。本地備份系統(tǒng)和本地服務(wù)器位于同一個網(wǎng)絡(luò)中,由備份控制中心、備份磁盤陣列和日志服務(wù)器組成。其主要職責(zé)是實(shí)時動態(tài)地監(jiān)控應(yīng)用服務(wù)器上的寫數(shù)據(jù),并捕獲重組為可自描述的數(shù)據(jù)單元,發(fā)送到備份磁盤陣列保存。快速備份和快速恢復(fù)均由本地備份系統(tǒng)完成。遠(yuǎn)程策略系統(tǒng)位于Internet上的其他網(wǎng)絡(luò),由策略控制中心、備份服務(wù)器和日志服務(wù)器組成。其主要職責(zé)是按照用戶設(shè)置的容災(zāi)策略對備份磁盤陣列定時生成快照,并發(fā)送快照到備份服務(wù)器上存儲。完整備份、增量備份以及按時間點(diǎn)恢復(fù)均由這部分完成。另外系統(tǒng)的每一個動作均會由兩大控制中心產(chǎn)生日志并安全存儲到日志服務(wù)器以便跟蹤容災(zāi)系統(tǒng)的使用情況。
系統(tǒng)的層次結(jié)構(gòu)如圖2所示,共分為三層,即用戶層、中間層和核心層。通過分層設(shè)計(jì)使得各個模塊之間相互獨(dú)立,方便系統(tǒng)功能擴(kuò)展和維護(hù)。從功能上看,系統(tǒng)分為四大功能模塊,即內(nèi)核模塊、通信模塊、控制模塊和日志模塊,如圖3所示。
內(nèi)核模塊[3]分為兩個方面,即內(nèi)核寫操作監(jiān)控和內(nèi)核寫操作重放。內(nèi)核模塊位于本地服務(wù)器上,它以內(nèi)核Module模式[4]運(yùn)行于本地?cái)?shù)據(jù)中心的每臺服務(wù)器中。寫監(jiān)控模塊根據(jù)本地服務(wù)器上操作系統(tǒng)提交的寫請求,重組此次寫請求為可自描述的數(shù)據(jù)單元,經(jīng)由備份控制中心發(fā)送到備份磁盤陣列予以保存。寫重放模塊主要是解析備份磁盤陣列中保存的數(shù)據(jù),并將它們重放到相應(yīng)的設(shè)備中。通信模塊[5,6]負(fù)責(zé)整個系統(tǒng)數(shù)據(jù)傳遞作用,保證每次數(shù)據(jù)傳輸安全到達(dá)目的地。本系統(tǒng)涉及到內(nèi)核空間與用戶空間的數(shù)據(jù)傳遞,因此把通信作為一個單獨(dú)的模塊來設(shè)計(jì)實(shí)現(xiàn)。控制模塊分為備份控制和策略控制兩大部分;此模塊利用內(nèi)核模塊提供的功能分別提供不同的容災(zāi)策略,以適應(yīng)本地服務(wù)器不同的容災(zāi)需求。日志模塊記錄系統(tǒng)的每個事件和動作,大大增強(qiáng)了系統(tǒng)的安全性和抗抵賴性。
從以上描述來看,一個典型的容災(zāi)過程為:本地服務(wù)器操作系統(tǒng)提交寫請求時,內(nèi)核模塊監(jiān)控其寫行為,捕獲相關(guān)信息并重組為可自描述的數(shù)據(jù)單元,通過備份控制中心發(fā)送到備份磁盤陣列保存;策略控制模塊可根據(jù)用戶的策略設(shè)置來對備份磁盤陣列作定時快照并通過通信模塊傳送到備份服務(wù)器上存儲。這樣本地服務(wù)器的數(shù)據(jù)就有兩個可靠的備份,一個是備份磁盤陣列上的數(shù)據(jù);另一個是備份服務(wù)器上的數(shù)據(jù)。備份磁盤陣列上的數(shù)據(jù)是本地服務(wù)器的實(shí)時數(shù)據(jù)備份,而備份服務(wù)器上的數(shù)據(jù)是本地服務(wù)器在某一個時間點(diǎn)的數(shù)據(jù)映像。當(dāng)本地服務(wù)器發(fā)生災(zāi)難時,可以通過備份磁盤陣列或備份服務(wù)器對本地服務(wù)器進(jìn)行數(shù)據(jù)恢復(fù)。
2容災(zāi)策略
2.1備份策略
多策略容災(zāi)系統(tǒng)提供了以下三種備份策略[7]。用戶可以綜合各方面的因素來靈活選擇備份策略。
(1)快速備份
應(yīng)用服務(wù)器上截獲操作系統(tǒng)提交的寫操作數(shù)據(jù)并保存到備份磁盤陣列,稱為快速備份。從體系架構(gòu)上來看,備份服務(wù)器和本地服務(wù)器位于同一個網(wǎng)絡(luò)。快速備份適用于在備份磁盤陣列沒有受到破壞,且用戶對備份速度要求很苛刻的情況下。
(2)定時備份
按時間點(diǎn)備份是指從應(yīng)用服務(wù)器經(jīng)由備份磁盤陣列到備份服務(wù)器的一種備份策略。這種策略可以得到應(yīng)用服務(wù)器在某一瞬時的全部映像。當(dāng)應(yīng)用服務(wù)器和備份磁盤陣列同時遭受毀滅性打擊后,可以由備份服務(wù)器中的快照恢復(fù)出應(yīng)用服務(wù)器以前正常情況下系統(tǒng)的全部數(shù)據(jù)。
(3)增量備份
2.2恢復(fù)策略
當(dāng)本地服務(wù)器發(fā)生災(zāi)難時,本系統(tǒng)提供了兩種恢復(fù)策略。可以根據(jù)用戶的實(shí)際情況選擇相應(yīng)的恢復(fù)策略來恢復(fù)應(yīng)用服務(wù)器的數(shù)據(jù)。
(1)快速恢復(fù)
從備份磁盤陣列到應(yīng)用服務(wù)器的數(shù)據(jù)恢復(fù),采用的恢復(fù)方法是差異恢復(fù)。差異恢復(fù)是指依次按塊來計(jì)算應(yīng)用服務(wù)器和備份磁盤陣列上數(shù)據(jù)的校驗(yàn)值。當(dāng)校驗(yàn)值相同時,系統(tǒng)不作任何動作;校驗(yàn)值不同時,從備份磁盤陣列恢復(fù)數(shù)據(jù)到應(yīng)用服務(wù)器。因?yàn)椴皇侨P恢復(fù),所以恢復(fù)速度非常快,可以在短時間內(nèi)使應(yīng)用服務(wù)器正常提供服務(wù)。此策略適用于在用戶對恢復(fù)速度要求很苛刻的情況下。
(2)按時間點(diǎn)恢復(fù)
從備份服務(wù)器經(jīng)由備份磁盤陣列到應(yīng)用服務(wù)器的數(shù)據(jù)恢復(fù)。這種策略允許用戶恢復(fù)到應(yīng)用服務(wù)器以前某個特定時間點(diǎn)的數(shù)據(jù)狀態(tài)。它在預(yù)防病毒入侵和管理員誤操作方面均有出色的表現(xiàn)。
3系統(tǒng)實(shí)現(xiàn)
3.1內(nèi)核模塊
內(nèi)核模塊包含兩個方面子模塊,即內(nèi)核寫監(jiān)控和內(nèi)核寫重放模塊。
內(nèi)核寫監(jiān)控模塊監(jiān)視目標(biāo)磁盤(或卷組)的寫請求動作,如圖4所示。
它捕獲容災(zāi)系統(tǒng)關(guān)心的信息,重組為可自描述的數(shù)據(jù)單元,并提交給通信模塊。此模塊在內(nèi)核中實(shí)現(xiàn),是整個系統(tǒng)的核心。每當(dāng)操作系統(tǒng)提交寫請求時,此模塊就會被動產(chǎn)生容災(zāi)系統(tǒng)所需的備份數(shù)據(jù)并通過通信模塊發(fā)送到備份磁盤陣列。
內(nèi)核寫重放模塊根據(jù)寫監(jiān)控模塊提交的自描述數(shù)據(jù)單元,重組出原本的磁盤寫數(shù)據(jù),并提交給磁盤驅(qū)動程序,回放到目標(biāo)磁盤上。
3.2通信模塊
通信模塊的主要功能是快速、安全地完成數(shù)據(jù)傳送。安全包括兩個方面的內(nèi)容:①被傳送的數(shù)據(jù)不能被未授權(quán)的用戶訪問,其可以通過建立安全隧道來實(shí)現(xiàn)。②被傳送的數(shù)據(jù)一定被接收方安全地消費(fèi),其通過超時重傳機(jī)制和兩次確認(rèn)(ACK)機(jī)制來保證被傳送的數(shù)據(jù)一定被接收方安全地消費(fèi)。第一次ACK確認(rèn)數(shù)據(jù)是否被接收方正確接收;第二次ACK確認(rèn)數(shù)據(jù)是否被接收方正確消費(fèi)。如果在預(yù)定時間內(nèi)發(fā)送方?jīng)]有收到接收方的確認(rèn),發(fā)送方就會發(fā)送AFK到接收方以詢問接收方是否接收到數(shù)據(jù)包;如果在預(yù)定的時間內(nèi)接收方依然沒有應(yīng)答,發(fā)送方會重新發(fā)送數(shù)據(jù)到接收方。整個通信模塊的工作流程如圖5所示。
3.3控制模塊
控制模塊包含以下兩個子模塊:
(1)備份控制子模塊。它用于控制容災(zāi)任務(wù)組的啟動、停止、對災(zāi)備任務(wù)組的狀態(tài)監(jiān)控和查詢、提供三種不同的備份策略等。
(2)策略控制子模塊。根據(jù)用戶設(shè)定的容災(zāi)策略,并利用操作系統(tǒng)提供的系統(tǒng)快照功能對備份服務(wù)器定時產(chǎn)生快照映像,通過通信模塊傳遞到快照服務(wù)器上存儲。這種機(jī)制確保當(dāng)本地服務(wù)器和備份服務(wù)器均發(fā)生災(zāi)難性的打擊后,可以由快照服務(wù)器恢復(fù)出本地服務(wù)器以前某個特定時間點(diǎn)的全部數(shù)據(jù)。
當(dāng)本地服務(wù)器發(fā)生災(zāi)難時,數(shù)據(jù)的恢復(fù)工作也是由控制模塊完成的。災(zāi)難恢復(fù)采用差異恢復(fù)的方式,通過分析災(zāi)難源、故障點(diǎn),選擇一種或多種策略進(jìn)行數(shù)據(jù)恢復(fù),確保零數(shù)據(jù)丟失。
3.4日志模塊
日志模塊[1]監(jiān)聽其他模塊的操作,記錄其系統(tǒng)事件和非法操作,并加密、簽名產(chǎn)生的日志以防日志被非法訪問和竄改,最后通過通信模塊傳送到安全的日志服務(wù)器保存。日志模塊提供給用戶的接口有查詢?nèi)罩尽⑶宄罩尽w檔日志、設(shè)定日志消息級別等功能。
4結(jié)束語
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于Linux的多策略容災(zāi)系統(tǒng),該系統(tǒng)相比同類系統(tǒng)有著更加靈活的容災(zāi)策略和更加安全的容災(zāi)機(jī)制,能夠確保客戶業(yè)務(wù)的連續(xù)運(yùn)行,為企業(yè)的數(shù)據(jù)保護(hù)提供了一整套合理的異地網(wǎng)絡(luò)容災(zāi)解決方案。
參考文獻(xiàn):
[1]李濤.網(wǎng)絡(luò)安全概論[M].北京:電子工業(yè)出版社,2004:423-458.
[2]陳凱,白英彩.網(wǎng)絡(luò)存儲技術(shù)及發(fā)展趨勢[J].電子學(xué)報(bào),2002,30(12A):1928-1932.
[3]PATTERSON H, MANLEY S, HITZ D, et al. Snapmirror: file-system-based asynchronous mirroring for disaster recovery: proc.of the 1st USENIX Conference on File and Storage Technologies[C].Monterey, CA, USA:[s.n.], 2002.
[4]CORBET J, RUBINI A, KROAH-HARTMAN G. Linux設(shè)備驅(qū)動程序[M].魏永明,耿岳,鐘書毅,譯.北京:中國電力出版社,2006.
[5]JAMES F, KEITH K, ROSS W. Computer networking: a top-down approach featuring the Internet[M].影印版.北京:清華大學(xué)出版社,2003.
[6]SOURCE A. SANs sharing storage to infinity and beyond[J]. Electronic Design, 2004,52(9):50-59.
[7]TOIGO J W. Disaster recovery planning: strategies for protecting criti-cal information assets[M].[S.l.]: Prentice Hall, 2000.
[8]SUZUKI J, SUDA T. Middleware support for disaster response infrastructure: proc.of the 1st IEEE Workshop on Disaster Recovery Networks[C].New York:[s.n.], 2002.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”