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