引言
災難備份系統(tǒng)(disasterbackup system,DBS)對企業(yè)重要的數(shù)據(jù)進行實時備份.并通過網(wǎng)絡傳輸至異地存儲,當本地數(shù)據(jù)毀壞后可以通過網(wǎng)絡將備份數(shù)據(jù)傳輸至本地進行數(shù)據(jù)恢復,F(xiàn)在對各份技術的研究比較多,但都不能同時保證系統(tǒng)的安全性和高教性。磁帶備份可以實現(xiàn)數(shù)據(jù)的異地存儲,但備份和恢復周期較長,不能實現(xiàn)數(shù)據(jù)的實時備份,效率不高且安全性差;雙機熱備系統(tǒng)在保障數(shù)據(jù)一致性的基礎上確保服務的連續(xù)性,但這種數(shù)據(jù)備份不是異地備份,目備份數(shù)據(jù)不是加密存儲,安全性差;LAN-FREE和SERVER-FREE備份系統(tǒng)都是建立在SAN存儲技術之上,LAN-FREE采用磁盤到磁盤的數(shù)據(jù)傳輸,解決了傳統(tǒng)備份需要占用網(wǎng)絡帶寬的問題,而SERVER—FREE備份數(shù)據(jù)通過存儲設備直接傳送,不需要在服務器中緩存數(shù)據(jù),減少對CPU的占用,這兩種方式效率都高,但數(shù)據(jù)傳輸和存儲的安全性難以得到保障。
該文提出的災難備份系統(tǒng)是完全基于Intereet的異地數(shù)據(jù)各份系統(tǒng),能實時捕獲備份本地客戶端的數(shù)據(jù)變化,并通過安全的網(wǎng)絡傳輸將備份記錄發(fā)送到遠程備份中心進行加密存儲,解決丁傳統(tǒng)完全備份、增量備份等備份技術安全性差、低效等缺點,具有實時高效、異地備份、安全傳輸和加密存儲的優(yōu)點,在保障系統(tǒng)安全性的基礎上兼顧備份的高效性。
1系統(tǒng)架構(gòu)
1.1體系結(jié)構(gòu)
DBS由本地備份客戶端(local backup client,LBC)、管理主機(manager host.MH)和遠程備份中心(remoter backup center,RBC)組成,體系結(jié)構(gòu)如圖1所示。
圖1 DBS體系結(jié)構(gòu)
DBS通過管理中心建立災備任務,將LBC需要備份的磁盤分區(qū)同步到RBC的存儲中心,并同時將任務信息寫入數(shù)據(jù)庫服務器。當LBC對應的磁盤數(shù)據(jù)遭到破壞后,通過管理中心啟動數(shù)據(jù)恢復,RBC將存儲中心對應的備份記錄發(fā)送到LBC進行數(shù)據(jù)恢復。當業(yè)務正常運行期間,可以啟動實時同步,和定時同步進行相互補充,提高備份效率m。實時同步通過本地服務器的卷過濾驅(qū)動監(jiān)控對磁盤的寫操作,將數(shù)據(jù)變化封裝成備份記錄存儲在本地海量緩存中。在海量緩存滿或者同步時限到時依次取出備份記錄,發(fā)送到遠程備份中心,這樣就實現(xiàn)了本地服務器和遠程備份中心的實時一致,從而避免了傳統(tǒng)實時備份系統(tǒng)在增量備份時需要進行全盤一致性檢測這種低效的方法例。
1.2功能模塊
DBS由本地數(shù)據(jù)監(jiān)控模塊、安全控制模塊、網(wǎng)絡通信模塊、任務控制模塊、存儲控制模塊組成,功能模塊結(jié)構(gòu)圖如圖2所示。
圖2功能模塊結(jié)構(gòu)
(1)本地數(shù)據(jù)監(jiān)控模塊由卷過濾驅(qū)動(Nsfilter)和海量緩存組成。Nsfilter是一個WDM型卷過濾驅(qū)動,用于監(jiān)控Windows操作系統(tǒng)磁盤分區(qū)數(shù)據(jù)變化,位于塊設備驅(qū)動層。
(2)安全控制模塊包括數(shù)據(jù)加密、差錯校驗等功能,分別位于LBC和RBC。安全控制模塊實現(xiàn)了備份數(shù)據(jù)的無差錯傳輸和加密存儲,保障備份數(shù)據(jù)傳輸?shù)囊恢滦院痛鎯Φ陌踩浴?/p>
(3)網(wǎng)絡通信模塊負責SSL安全連接的建立和關閉、備份數(shù)據(jù)包的發(fā)送和接收,分別位于LBC和RBC。SSL技術的應用保障了數(shù)據(jù)在傳輸過程中的安全性。
(4)任務控制模塊位于管理主機,負責災備任務的新建、同步和恢復,由封裝了DBS通信協(xié)議和控制接口的ActiveX控件組成,該控件以瀏覽器作為容器,管理主機安裝該控件后所有操作對用戶都是透明的。
(5)存儲控制模塊位于LBC和RBC。在同步過程中,LBC存儲控制模塊從磁盤上讀出一個數(shù)據(jù)塊封裝成備份記錄,發(fā)送到RBC,RBC從該備份記錄中抽取有效數(shù)據(jù),根據(jù)文件偏移等信息將數(shù)據(jù)寫到存儲中心對應的映射邏輯卷上,存儲中心由一個或者多個RAID組成。在恢復過程中,RBC從該任務對應的映射邏輯卷上依次讀出數(shù)據(jù)塊封裝成備份記錄并發(fā)送到LBC,LBC抽取有效數(shù)據(jù)并根據(jù)磁盤偏移等信息將數(shù)據(jù)寫到磁盤上。備份記錄結(jié)構(gòu)為:BR
2 DBS安全性實現(xiàn)關鍵技術
作為網(wǎng)絡災難備份系統(tǒng),如果系統(tǒng)安全性不高,不能抵御黑客入侵、網(wǎng)絡攔截、惡意修改,那么存儲于遠程備份中心的數(shù)據(jù)可能被修改或者被截取,將會造成RBC的備份數(shù)據(jù)和LBC不一致,備份數(shù)據(jù)也就沒有意義,所以DBS首先要考慮的問題就是如何保證系統(tǒng)的安全性。DBS安全性由差錯校驗、安全傳輸和加密存儲三方面構(gòu)成。
2.1差錯校驗
BR通過計算備份記錄的MD5值進行差錯校驗,防止在傳輸過程中數(shù)據(jù)位出錯或者被惡意修改。
設LBC數(shù)據(jù)集為
圖3差錯校驗流程
2.2安全傳輸
DBS采用SSL進行網(wǎng)絡通信、數(shù)據(jù)傳輸,主要作用有兩方面:一是確保只有擁有DBS系統(tǒng)認可的安全證書的管理主機可以連接到RBC進行任務的建立、備份、同步和恢復等操作,從而確保只有授權用戶才能連接到DBS,防止惡意用戶的破壞性操作;二是確保管理主機連接到真實的服務器,服務器的數(shù)據(jù)發(fā)送到正確的客戶端。網(wǎng)絡連接建立過程中涉及到管理主機對RBC的認證和RBC對管理主機合法性的認證,只有雙向認證都通過才能進行任務控制、數(shù)據(jù)傳輸,時序圖如圖4所示。
圖4 DBS安全傳輸時序
2.3加密存儲
在網(wǎng)絡上傳輸?shù)臄?shù)據(jù)和RBC存儲的鏡像數(shù)據(jù)都是經(jīng)AES加密算法加密的密文,只有LBC存儲的是明文,加密發(fā)生在從LBC讀出數(shù)據(jù)封裝成備份記錄的過程中,而解密是在恢復過程中將從網(wǎng)絡接收到的備份記錄中的密文解密得到明文。在系統(tǒng)海量緩存中維護著兩個隊列,一個是讀出發(fā)送隊列SQuene,用于存儲有效數(shù)據(jù)為明文的備份記錄,需要加密后通過網(wǎng)絡通信模塊發(fā)送到災備中心,另一個是接收隊列RQuene,用于存儲從災備中心接收到的備份記錄,其中有效數(shù)據(jù)是密文,需要解密后根據(jù)任務對應盤符、磁盤偏移off寫入磁盤,這兩個隊列共享海量緩存空間,都是單循環(huán)隊列,系統(tǒng)為每個隊列維護著兩個指針PCurHead、PCurTail,分別指向隊列的頭和尾,隊列為空的條件為PCurHead—PCurTail。算法描述如下:
3 DBS高效性實現(xiàn)關鍵技術
對于任何系統(tǒng),安全性和高效性都是矛盾的。而對于數(shù)據(jù)備份系統(tǒng)而言,安全的重要性顯然高于效率,然而一個低效的數(shù)據(jù)備份系統(tǒng)無論安全性多高都是沒有價值的。一個好的備份系統(tǒng)必然在保障數(shù)據(jù)安全性的基礎上兼顧高效性。
DBS通過海量緩存和卷過濾驅(qū)動提高實時備份的效率。通過部署卷過濾驅(qū)動,在同步過程中截取LBC變化的數(shù)據(jù),封裝成備份記錄存于海量緩存,然后發(fā)送到RBC,而傳統(tǒng)的同步需要掃描整個磁盤,比較本地端和遠程端數(shù)據(jù)的一致性從而將不一致的數(shù)據(jù)發(fā)送到遠程端,截獲寫IRP包的方式避免了頻繁的磁盤掃描和一致性檢測,這種方式大大提高了NBS系統(tǒng)實時同步的效率。海量緩存是一個內(nèi)存映射文件,解決了本地備份數(shù)據(jù)生成速度與網(wǎng)絡通信模塊發(fā)送速度不一致的問題,降低了在系統(tǒng)內(nèi)存中維護一個很大的存儲隊列而帶來的效率損失,從而提高了系統(tǒng)效率。卷過濾驅(qū)動Nsfilter的設備擴展DEVICE-EXTENSION數(shù)據(jù)結(jié)構(gòu)中藥成員定義如下
PETHREAD保存了該驅(qū)動的IRP處理線程句柄,該線程在驅(qū)動創(chuàng)建的時候啟動,主要用于順序處理listEntry中的IRP包;listEntry中記錄了類型為IRP MJ DEVICE CONTROL、IRP_MJ—WRITE的IRP包,其狀態(tài)被標記為pending,其他類型的IRP包不需要Nsfilter進行處理,則直接發(fā)送到下層驅(qū)動;eventComplete用于在peTHREAD線程處理完listEntry中的一個IRP包時進行同步;listSpinLoek為listEntry的自旋鎖,用于控制peTHREAD對listEntry中的IRP包的順序訪問。
Nsfiler處理IRP MJ WRITE包是為了截取對磁盤寫操作的有效數(shù)據(jù),同時發(fā)往下層驅(qū)動,提高系統(tǒng)運行效率;處理IRP—MI—DEVICE CONTROL包是為了處理Nsfiler自定義的IO控制碼,如鎖卷、啟動監(jiān)控、設置緩存等,對這類IRP包處理完成后就標志其狀態(tài)為completed,不再往下層驅(qū)動轉(zhuǎn)發(fā),其他的操作系統(tǒng)自有的10控制則簡單的轉(zhuǎn)發(fā)到下層驅(qū)動。Nsfilter的處理流程偽碼描述如下:
Procedure:Nsfilter
其中StartHandlelRP這個線程函數(shù)主要負責處理listEntry中的IRP包,只要listEntry不為空,就一直順序處理其中的IRP包。這樣,只要驅(qū)動監(jiān)控處于啟動狀態(tài),就能不斷截獲需要處理的IRP包置于隊列中順序處理。
4對比實驗
DBS通過Nsfilter捕獲LBC數(shù)據(jù)變化,并采用高速緩存存儲需要發(fā)送的備份數(shù)據(jù),較傳統(tǒng)的備份技術每次同步都需要全盤掃描而言效率高,但是DBS采用了多種安全措施,在提高安全性的同時必然以犧牲系統(tǒng)的效率為代價,為了測試部署了上述3種安全措施所帶來的系統(tǒng)性能損失,筆者搭建了測試環(huán)境,部署了有安全措施和沒有安全措施的DBS{DBSI,NBS2),比較兩者的性能差異,就可以得出部署安全性措施的代價是否在用戶可以接受的范圍。實驗用網(wǎng)卡均為100Mbps,網(wǎng)絡環(huán)境為局域網(wǎng),主機環(huán)境配置如表1所示。
表1實驗環(huán)境
筆者對同一本地端的不同大小分區(qū)建立任務進行同步,比較DBS1、DBS2備份時間的差異。為了排除隨機性的干擾,每次實驗都進行10次取平均值,實驗數(shù)據(jù)如表2所示。
由表2可以看出,部署了3種安全措施的災備系統(tǒng)DBS1相對DBS2的性能低10%左右,但是作為實時的信息備份系統(tǒng)來說,效率和安全都是必須考慮的重要指標,部署安全性帶來的10%的效率損失是值得的。
5結(jié)束語
該文提出了一種安全高效的災難備份系統(tǒng)DBS,該系統(tǒng)通過差錯校驗、安全傳輸和加密存儲保障系統(tǒng)的安全性,防止了數(shù)據(jù)在傳輸、存儲過程中被截取、修改以及惡意用戶登錄系統(tǒng)進行破壞性操作;同時在LBC部署Nsfilter實時截獲磁盤數(shù)據(jù)變化,海量緩存的應用解決了數(shù)據(jù)變化率和網(wǎng)絡帶寬的平衡問題,實現(xiàn)了高效的實時同步,避免每次同步需要全盤掃描比較不一致數(shù)據(jù)這種耗時的傳統(tǒng)同步技術,在保障安全性的同時兼顧了系統(tǒng)實時同步的效率。
表2實驗數(shù)據(jù)
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:安全的災難備份系統(tǒng)
本文網(wǎng)址:http://www.oesoe.com/html/consultation/1083957747.html