黃海端,張佳杰,李紅斌,陳曉
(1.河北聯(lián)合大學(xué)遷安學(xué)院,河北唐山064400;2.河北聯(lián)合大學(xué)冶金與能源學(xué)院,河北唐山063009)
“金保工程”是利用先進(jìn)的信息技術(shù),以中央、省、市三級網(wǎng)絡(luò)為依托,支持勞動和社會保障業(yè)務(wù)經(jīng)辦、公共服務(wù)、基金監(jiān)管和宏觀決策等核心應(yīng)用,覆蓋全國統(tǒng)一的勞動和社會保障電子政務(wù)工程[1]。其內(nèi)涵可以簡要概括為“一二三四”四個字:“一”是一個工程,指在全國范圍建設(shè)一個統(tǒng)一規(guī)劃、統(tǒng)籌建設(shè)、網(wǎng)絡(luò)共用、信息共享、覆蓋各項勞動和社會保障業(yè)務(wù)的電子政務(wù)工程;“二”是兩大系統(tǒng),指建設(shè)社會保險子系統(tǒng)和勞動力市場子系統(tǒng);“三”是三級結(jié)構(gòu),指由中央(勞動保障部)、省、市三層數(shù)據(jù)分布和管理結(jié)構(gòu)組成;“四”是四項功能,指具備業(yè)務(wù)經(jīng)辦、公共服務(wù)、基金監(jiān)管和宏觀決策四項功能。
隨著計算機的普及和信息技術(shù)的進(jìn)步,特別是計算機網(wǎng)絡(luò)的飛速發(fā)展,信息安全的重要性日趨明顯。系統(tǒng)一旦遭到災(zāi)難性銷毀,如果沒有備份措施,則所有重要數(shù)據(jù)就沒有辦法恢復(fù),將面臨永久性銷毀,這樣的損失是極其嚴(yán)重的,有可能是無法承受的,所以在一個重要系統(tǒng)的設(shè)計中,備份設(shè)計是非常有必要性的。因此數(shù)據(jù)備份非常重要,也是數(shù)據(jù)安全的最后一道屏障。
SAN(Storage Area Network),即存儲區(qū)域網(wǎng)絡(luò),是一項將存儲設(shè)備、連接設(shè)備和接口集成在一個高速網(wǎng)絡(luò)中的技術(shù)。SAN是由一組被設(shè)計用于服務(wù)器和存儲設(shè)備之間實現(xiàn)透明連接的部件構(gòu)成的[2]。
在NAS中,數(shù)據(jù)傳輸是通過現(xiàn)有局域網(wǎng)實現(xiàn)的,這給用戶局域網(wǎng)帶寬造成了沉重的負(fù)擔(dān),因為局域網(wǎng)只適合短暫的突發(fā)數(shù)據(jù)傳輸。另一方面,在SAN網(wǎng)絡(luò)中,所有的數(shù)據(jù)傳輸都發(fā)生在一個專門數(shù)據(jù)傳輸?shù)木哂懈咚?、高帶寬的網(wǎng)絡(luò)中。通過提供一種不同于傳統(tǒng)存儲技術(shù)的新技術(shù),SAN降低了網(wǎng)絡(luò)中的交通阻塞。另外,SAN本身是一個存儲網(wǎng)絡(luò),由于該網(wǎng)絡(luò)承擔(dān)了原本在主網(wǎng)絡(luò)中實現(xiàn)的數(shù)據(jù)存儲,從而提高了SAN的性能和升級能力。
作為目前流行的存儲架構(gòu)SAN將所有的備份數(shù)據(jù)流都遷移到一個專門進(jìn)行數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)中,備份和恢復(fù)的時間縮短了,網(wǎng)絡(luò)擁擠也減少了。它是一種可以實現(xiàn)跨平臺,集中式管理的網(wǎng)絡(luò)存儲。在數(shù)據(jù)的可用性和網(wǎng)絡(luò)性能方面都有了大大的改善。
在基于SAN的存儲系統(tǒng)中,所需的備份數(shù)據(jù)量為600GB,使用LTO磁帶機LTO II磁帶機的速度為35MB/S,希望進(jìn)行全備份在5小時內(nèi)能完成,根據(jù)公式:磁帶機數(shù)量=(備份的數(shù)據(jù)量/備份的時間窗口)/磁帶機的速度。(600000/18000)/35=0.9,計算當(dāng)前磁帶機的數(shù)量為2個。磁帶庫的技術(shù)配置為多于2個的磁帶庫驅(qū)動器,可擴展數(shù)為大于等于4;支持LTO,SDLT,AIT磁帶機類型;支持1GB和2GB的自適應(yīng)模式的光纖接口。
由于整個系統(tǒng)的數(shù)據(jù)量比較大,在該市勞動保障信息系統(tǒng)項目中區(qū)備份系統(tǒng)采用SAN架構(gòu)進(jìn)行設(shè)計,將磁盤陣列直接連接到SAN的交換機上[3,4],和備份服務(wù)器、多臺服務(wù)器均通過SAN相互連接,利用SAN的高性能來提高備份速度、降低數(shù)據(jù)備份對網(wǎng)絡(luò)和服務(wù)器的影響。實際的SAN存儲架構(gòu)設(shè)計如圖1所示。
圖1 SAN存儲框架結(jié)構(gòu)
通過以上的分析和比較,采用基于SAN架構(gòu)的第三方存儲設(shè)備作為最后整個生產(chǎn)系統(tǒng)的存儲設(shè)備是社會保險應(yīng)用存儲的最佳選擇,通過這種方式能夠最大限度的保證系統(tǒng)隨著業(yè)務(wù)量的不斷發(fā)展而具有最佳的擴展性(跨平臺數(shù)據(jù)資源整合)。
在“金保工程”市域網(wǎng)生產(chǎn)區(qū)建設(shè)中,基于SAN架構(gòu)的勞動保障信息系統(tǒng)數(shù)據(jù)庫存儲中實際的配置主要包括以下五部分:
①Server(服務(wù)器):它是SAN解決方案的基礎(chǔ),該市勞動保障信息系統(tǒng)中市勞動和社會保障局信息中心連入SAN中的服務(wù)器為數(shù)據(jù)庫服務(wù)器系統(tǒng)雙機系統(tǒng)和應(yīng)用服務(wù)器系統(tǒng)雙機系統(tǒng)。
②Storage(存儲設(shè)備):存儲設(shè)備包括本地、遠(yuǎn)程的數(shù)據(jù)存儲設(shè)備和本地數(shù)據(jù)備份設(shè)備三部分。其中本地和遠(yuǎn)程的數(shù)據(jù)存儲設(shè)備部分,本系統(tǒng)中采用的是2臺同檔次高端存儲服務(wù)器,存儲容量應(yīng)該大于等于3TB;本地數(shù)據(jù)備份設(shè)備,本系統(tǒng)中采用的是1臺磁帶庫設(shè)備作為備份設(shè)備,并配置兩個以上光纖驅(qū)動器。
③SAN fabric(連接設(shè)備):配置了3臺16端口光纖交換機作為SAN連接設(shè)備,構(gòu)架成數(shù)據(jù)中心存儲區(qū)域網(wǎng)以及容災(zāi)中心的存儲區(qū)域網(wǎng)。
④Software(管理軟件):SAN的管理包括存儲系統(tǒng)的管理、存儲網(wǎng)絡(luò)的管理和系統(tǒng)級管理。SAN存儲級管理由不同的存儲設(shè)備組成,如磁盤、磁盤陣列、磁帶、磁帶庫等。SAN存儲網(wǎng)絡(luò)的管理由可以提供連通性的所有各類逐漸組成,如SAN線纜、SAN交換機、SAN網(wǎng)關(guān)以及主機總線適配器等。
⑤SAN存儲級管理軟件:根據(jù)配置的存儲設(shè)備配置了不同的管理軟件。
從邏輯上網(wǎng)絡(luò)備份系統(tǒng)分為客戶端程序、備份管理程序和備份代理程序三個子系統(tǒng)[5]。備份管理程序向客戶端程序和備份代理程序發(fā)送控制信息,并不進(jìn)行數(shù)據(jù)的傳輸工作,這三個子系統(tǒng)之間相互獨立又相互依存,工作時需要三者配合才能完成。具體部署系統(tǒng)時,客戶端程序、備份代理程序和備份管理程序分別部署在備份客戶機上、備份服務(wù)機上和管理服務(wù)機上??梢栽谝粋€主機上同時部署這三種程序,但一個備份系統(tǒng)只能有一個管理服務(wù)機,系統(tǒng)中的任一臺成員計算機至少擔(dān)任這三種角色之一。圖2為系統(tǒng)的軟件體系結(jié)構(gòu)圖。
圖2 軟件體系結(jié)構(gòu)圖
由圖2可知,備份系統(tǒng)有備份管理程序、備份代理程序和備份客戶程序三個邏輯子系統(tǒng)。由若干個功能模塊構(gòu)成的這三個邏輯子系統(tǒng)之間通過TCP/IP網(wǎng)絡(luò)連接。
備份管理程序是整個系統(tǒng)的中心控制部分,有與代理程序和客戶程序相對應(yīng)的子程序模塊。它控制著各個代理程序和客戶端程序之間的交互和通訊,各部分的分工合作以及各項系統(tǒng)的功能完成。
備份代理程序包括了備份恢復(fù)源代理和目的代理程序,同時還包括了負(fù)責(zé)將備份/恢復(fù)任務(wù)的執(zhí)行結(jié)果、磁盤損壞等告警信息、用戶登錄等系統(tǒng)事件報告給備份管理程序的報告模塊。
人機交互處理過程完成備份客戶程序與備份管理程序之間的通訊。
選擇了存儲備份軟件、存儲備份技術(shù)后,首先需要確定數(shù)據(jù)備份的策略。當(dāng)前所用的備份策略指確定需備份的內(nèi)容、備份時間及備份方式。要根據(jù)自己的實際情況來制定不同的備份策略。目前被采用最多的備份策略[6]主要有以下三種。
完全備份是對所有數(shù)據(jù)元素的備份。增量備份和差異備份都是以完全備份作為參照的,完全備份是任何備份的起點。特點是備份的數(shù)據(jù)好多都是重復(fù)的,占用了大量的磁盤空間,備份所需時間最長。但恢復(fù)較容易,只需最近的一次備份。
增量備份只備份上次備份以后有變化的數(shù)據(jù)。增量備份的優(yōu)點是能有效利用時間和備份介質(zhì)。沒有重復(fù)的備份數(shù)據(jù),平均消耗的介質(zhì)相對要少得多。缺點是恢復(fù)起來比較麻煩,可能需要從更多的磁帶中恢復(fù)數(shù)據(jù)。
差量備份只備份上次完全備份以后有變化的數(shù)據(jù)。差量備份的優(yōu)點:由于使用了更少的磁帶,所以對系統(tǒng)進(jìn)行完全恢復(fù)的時間比增量備份要快。缺點:相比增量備份,它占用較多的磁盤空間和時間。這是因為它是參照全備份,這相對于增量備份還有很多重復(fù)的數(shù)據(jù)。
在實際應(yīng)用中,備份策略通常是以上三種的結(jié)合。但是以上三種備份策略只能備份某些特定時間的系統(tǒng)數(shù)據(jù),無法做到完全備份以及靈活的恢復(fù)。需要改善備份恢復(fù)機制,在這里提出了一種新的基于事務(wù)日志的差異數(shù)據(jù)備份,彌補傳統(tǒng)的備份恢復(fù)體系中存在的漏洞。
事務(wù)日志[7]是記錄系統(tǒng)數(shù)據(jù)操作的“流水賬”,目前絕大多數(shù)的系統(tǒng)都支持對事務(wù)日志的記錄,傳統(tǒng)的事務(wù)日志主要記載了事務(wù)操作時間、操作對象、操作類型、操作結(jié)果等,如果把事務(wù)日志記錄得夠詳細(xì),例如增加對事務(wù)涉及的數(shù)據(jù)庫對象、操作前后的數(shù)據(jù)映像等信息,就可充分靈活的利用起事務(wù)日志,將事務(wù)日志作為系統(tǒng)數(shù)據(jù)備份恢復(fù)的數(shù)據(jù)來源和依據(jù),而不是僅僅用于日志的審計、統(tǒng)計等。傳統(tǒng)的事務(wù)操作日志記載信息大致如表1所示。
表1 傳統(tǒng)的操作日志記載信息
可用于恢復(fù)的事務(wù)操作日志記載信息如表2所示。
表2 可用于恢復(fù)的事務(wù)操作日志記載信息
從表1與表2的對比中可以看出可用于恢復(fù)的事務(wù)操作日志比傳統(tǒng)的事務(wù)日志多了數(shù)據(jù)映像等字段。對象地址記錄變動對象的地址,如某一個數(shù)據(jù)庫中的某一個表單,或者是記錄某個文件的物理地址;操作前的數(shù)據(jù)映像記錄的是此操作COMMIT前的數(shù)據(jù)狀態(tài);操作后的數(shù)據(jù)映像記錄的是此操作執(zhí)行后的數(shù)據(jù)狀態(tài)。如修改操作,將Data原來的值d1修改為d2,則操作前的數(shù)據(jù)映像記錄的是“Data=d1”,操作后的數(shù)據(jù)映像記錄的是“Data=d2”。按表2所示數(shù)據(jù)項詳細(xì)的記載每一個操作信息,實際上就完成了系統(tǒng)數(shù)據(jù)的備份工作。
系統(tǒng)備份設(shè)計時,除了需要在異地配置一套備份系統(tǒng)以外,還可以在本地配置一套備份服務(wù)器。如圖3所示。
圖3 本地與異地相結(jié)合的日志同步備份方案
系統(tǒng)與本地備份服務(wù)器配置于同一個地方,通過局域網(wǎng)互通,由管理系統(tǒng)將日志變動信息同步給本地備份服務(wù)器,實現(xiàn)變動信息高效地實時備份。本地備份服務(wù)器通過網(wǎng)絡(luò)與異地備份系統(tǒng)互通,本地備份服務(wù)器以日志文件的方式將變動日志同步給異地備份系統(tǒng),實現(xiàn)異地同步備份。
因為兩兩間同步的是變動日志,不是變動數(shù)據(jù)池中的變動數(shù)據(jù),所以不需要再維護(hù)一個變動數(shù)據(jù)池,減少了系統(tǒng)的負(fù)荷,并且有效地避免了因變動數(shù)據(jù)池引起的效率低等問題。因主系統(tǒng)與本地備份服務(wù)器配置于同一個局域網(wǎng)中,如果鏈路上出現(xiàn)故障,很容易進(jìn)行故障排查和定位,能及時進(jìn)行維修。這樣就大大減少了變動信息大量累積的可能,有效地避免了因異常情況導(dǎo)致的數(shù)據(jù)丟失。另外,本地備份服務(wù)器與異地備份系統(tǒng)間采用文件的形式同步變動日志,將本地備份服務(wù)器未完成異地同步的變動信息打包成文件,以文件形式傳輸給異地備份系統(tǒng),采用定時同步機制不用逐條地進(jìn)行同步,能有效地減少網(wǎng)絡(luò)負(fù)擔(dān)。
通過對傳統(tǒng)的備份技術(shù)存在的缺陷進(jìn)行分析,針對這些缺陷,提出了基于事務(wù)日志的備份策略,同時采用本地與異地相結(jié)合的備份技術(shù)以及日志文件同步手段,改善了系統(tǒng)的可維修性,提高了數(shù)據(jù)同步的效率和實時性,彌補了傳統(tǒng)的備份體系的不足。并充分利用事務(wù)日志,使系統(tǒng)的數(shù)據(jù)備份與恢復(fù)更為靈活,做到數(shù)據(jù)的完全備份和完全恢復(fù)??傊?,利用基于SAN的數(shù)據(jù)存儲在硬件上實現(xiàn)了高速的數(shù)據(jù)傳輸,同時根據(jù)實際情況制定合適的備份策略,保證了高效的數(shù)據(jù)備份。
[1] 尹靜濤.“金保工程”市域網(wǎng)建設(shè)中系統(tǒng)安全性的設(shè)計[J].江西農(nóng)業(yè)大學(xué)學(xué)報,2006,28:123-125.
[2] 熊琦,王麗娜.基于SAN的集中存儲備份系統(tǒng)的設(shè)計與實現(xiàn)[D].成都,電子科技大學(xué),2010.
[3] Tom C.Designing storage area networks[M].Publishing House of Electronics Industry,2005:170-174.
[4] M.Kaczmarski,T.Jiang.Beyond backup toward storagemanagement,IBM Systems Journal,2003,v42,p322-337.
[5] 郭曉敏.網(wǎng)絡(luò)備份系統(tǒng)的研究與實現(xiàn)[D].南京:東南大學(xué),2005.
[6] 王海飛.基于網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)備份方法[J].電腦學(xué)習(xí),2010,4:28-30.
[7] 劉英,王效武,曾兵.一種數(shù)據(jù)備份與恢復(fù)系統(tǒng)體系設(shè)計[J].通信技術(shù),2010,01(44):66-68.
[8] Oracle Corporation.Oracle Database Documentation Library(10gRelease2)[EB/OL].(2009-11-04)[2010-08-10].http://www.intelligentedu.com/blogs/post/free_computer_books/4454/oracle-database-10g-documentation-library.