本發(fā)明涉及一種基于同步復(fù)制的容災(zāi)方法,屬于計(jì)算機(jī)數(shù)據(jù)安全處理領(lǐng)域。
背景技術(shù):
近幾年,隨著信息技術(shù)日新月異的發(fā)展,各企業(yè)在信息化應(yīng)用和要求方面也在逐步提高,信息覆蓋面也越來(lái)越大,而信息在人們的生活工作中也顯得更加的重要,故此,信息的安全問(wèn)題也成為了當(dāng)今計(jì)算機(jī)數(shù)據(jù)安全領(lǐng)域的一個(gè)重點(diǎn)。在現(xiàn)今社會(huì)中容災(zāi)備份已經(jīng)解決了IT行業(yè)的信息安全問(wèn)題,并且得到了得到了很好的普及。
容災(zāi)系統(tǒng)是指在相隔較遠(yuǎn)的異地,建立兩套或多套功能相同的IT系統(tǒng),互相之間可以進(jìn)行健康狀態(tài)監(jiān)視和功能切換,當(dāng)一處系統(tǒng)因意外(如火災(zāi)、地震等)停止工作時(shí),整個(gè)應(yīng)用系統(tǒng)可以切換到另一處,使得該系統(tǒng)功能可以繼續(xù)正常工作。容災(zāi)技術(shù)是系統(tǒng)的高可用性技術(shù)的一個(gè)組成部分,容災(zāi)系統(tǒng)更加強(qiáng)調(diào)處理外界環(huán)境對(duì)系統(tǒng)的影響,特別是災(zāi)難性事件對(duì)整個(gè)IT節(jié)點(diǎn)的影響,提供節(jié)點(diǎn)級(jí)別的系統(tǒng)恢復(fù)功能。
從其對(duì)系統(tǒng)的保護(hù)程度來(lái)分,容災(zāi)系統(tǒng)分為:數(shù)據(jù)容災(zāi)和應(yīng)用容災(zāi)。對(duì)磁盤(pán)級(jí)復(fù)制技術(shù)的原理和類型進(jìn)行討論。
磁盤(pán)陣列之間數(shù)據(jù)復(fù)制
磁盤(pán)級(jí)數(shù)據(jù)同步方式都分為兩種:同步復(fù)制方式和異步復(fù)制方式。同步方式保證了生產(chǎn)中心磁盤(pán)陣列和災(zāi)備中心磁盤(pán)陣列上數(shù)據(jù)的完全同步,異步方式需要和同步方式結(jié)合使用才能夠發(fā)揮其特點(diǎn)。
1、同步復(fù)制方式
同步復(fù)制技術(shù)的實(shí)現(xiàn)流程描述如下:(1)服務(wù)器應(yīng)用將I/O數(shù)據(jù)寫(xiě)入生產(chǎn)磁盤(pán)陣列的數(shù)據(jù)緩存;(2)生產(chǎn)磁盤(pán)陣列同時(shí)將寫(xiě)I/O發(fā)送到備份磁盤(pán)陣列;(3)備份磁盤(pán)陣列完成I/O數(shù)據(jù)到緩存的寫(xiě)操作后,發(fā)送“寫(xiě)完成”給生產(chǎn)陣列;(4)生產(chǎn)磁盤(pán)陣列將“寫(xiě)完成”發(fā)送給服務(wù)器應(yīng)用。同步復(fù)制技術(shù)是在生產(chǎn)磁盤(pán)陣列和備份磁盤(pán)陣列同時(shí)完成寫(xiě)操作后,應(yīng)用的寫(xiě)I/O才完成,這樣保證了備份磁盤(pán)陣列和生產(chǎn)磁盤(pán)陣列上數(shù)據(jù)的一致性和完整性。同步復(fù)制技術(shù)使用專有協(xié)議,對(duì)于通信鏈路和帶寬要求高,因此通常采用光纖通道協(xié)議進(jìn)行數(shù)據(jù)的傳輸。
2、異步復(fù)制方式
異步復(fù)制技術(shù)的實(shí)現(xiàn)流程描述如下:
服務(wù)器應(yīng)用將I/O數(shù)據(jù)寫(xiě)入生產(chǎn)磁盤(pán)陣列的數(shù)據(jù)緩存;(2)生產(chǎn)磁盤(pán)陣列將“寫(xiě)完成”發(fā)送給服務(wù)器應(yīng)用;(3)生產(chǎn)磁盤(pán)陣列將未發(fā)送的寫(xiě)I/O發(fā)送到備份磁盤(pán)陣列;(4)備份磁盤(pán)陣列完成I/O數(shù)據(jù)到緩存的寫(xiě)操作后,發(fā)送“寫(xiě)完成”給生產(chǎn)磁盤(pán)陣列陣列。目前業(yè)界有另外一種成熟的異步復(fù)制技術(shù)Hitachi Universal Replicator,專門用在HDS高端存儲(chǔ)之上,在國(guó)內(nèi)金融行業(yè)有非常成功的應(yīng)用。
這種異步復(fù)制技術(shù)的實(shí)現(xiàn)流程描述如下:(1)服務(wù)器應(yīng)用將I/O數(shù)據(jù)寫(xiě)入生產(chǎn)磁盤(pán)陣列的數(shù)據(jù)緩存;(2)生產(chǎn)磁盤(pán)陣列將“寫(xiě)完成”返回給服務(wù)器應(yīng)用;(3)備份磁盤(pán)陣列主動(dòng)到生產(chǎn)磁盤(pán)陣列讀取未發(fā)送的生產(chǎn)數(shù)據(jù),稱為“拉數(shù)據(jù)”方式,寫(xiě)操作完成后發(fā)送“寫(xiě)完成”給生產(chǎn)磁盤(pán)陣列。與傳統(tǒng)的異步方式相比,這種“拉數(shù)據(jù)”的方式帶來(lái)的優(yōu)勢(shì)是:(1)不占用生產(chǎn)磁盤(pán)陣列資源,對(duì)生產(chǎn)系統(tǒng)的影響非常小(2)對(duì)數(shù)據(jù)復(fù)制網(wǎng)絡(luò)帶寬要求低,節(jié)省網(wǎng) 絡(luò)投資(3)日志數(shù)據(jù)緩存空間大,能夠承受復(fù)制網(wǎng)絡(luò)的長(zhǎng)時(shí)間中斷
異步復(fù)制技術(shù)和同步復(fù)制技術(shù)的不同在于,異步復(fù)制技術(shù)不用等待備份磁盤(pán)陣列寫(xiě)操作完成,就將“寫(xiě)完成”發(fā)送給服務(wù)器應(yīng)用,因此生產(chǎn)磁盤(pán)陣列和備份磁盤(pán)陣列的數(shù)據(jù)會(huì)有部分差距,當(dāng)災(zāi)難發(fā)生時(shí)將丟失部分的生產(chǎn)數(shù)據(jù)。異步復(fù)制技術(shù)也使用專有協(xié)議,或者采用協(xié)議轉(zhuǎn)換設(shè)備,將光纖通道協(xié)議轉(zhuǎn)換為TCP/IP協(xié)議實(shí)現(xiàn)遠(yuǎn)距離的傳輸,但是對(duì)于遠(yuǎn)距離的通信鏈路和帶寬要求同樣也很高。
通過(guò)磁盤(pán)陣列內(nèi)部的數(shù)據(jù)復(fù)制技術(shù),可以實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)空間在同一個(gè)陣列內(nèi)部創(chuàng)建多個(gè)時(shí)間點(diǎn)的數(shù)據(jù)拷貝。通過(guò)實(shí)時(shí)生產(chǎn)數(shù)據(jù)的時(shí)間點(diǎn)拷貝,可以完成如日常數(shù)據(jù)備份、日常報(bào)表生成、數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘等應(yīng)用的需要,特別在容災(zāi)系統(tǒng)建設(shè)和演練過(guò)程中,非常有必要?jiǎng)?chuàng)建磁盤(pán)陣列內(nèi)部時(shí)間點(diǎn)拷貝。目前主流磁盤(pán)陣列都能夠幫助客戶實(shí)現(xiàn)這個(gè)需求,能夠提供一個(gè)時(shí)間點(diǎn)的拷貝服務(wù)功能,從源卷到目標(biāo)卷快速地復(fù)制數(shù)據(jù),邏輯拷貝通??梢栽跀?shù)秒時(shí)間內(nèi)完成,然后就釋放源卷,進(jìn)行正常工作,而物理拷貝操作在后臺(tái)進(jìn)行。
利用磁帶拷貝進(jìn)行數(shù)據(jù)備份和恢復(fù)是常見(jiàn)的傳統(tǒng)災(zāi)難備份方式,這些磁帶拷貝通常都是按天、按周或按月進(jìn)行組合保存的。使用這種方式的數(shù)據(jù)備份通常是存儲(chǔ)在盤(pán)式磁帶或盒式磁帶上,并存放在遠(yuǎn)離生產(chǎn)系統(tǒng)的某個(gè)安全地點(diǎn)或容災(zāi)地點(diǎn)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,在生產(chǎn)中心和容災(zāi)中心之間建立通信網(wǎng)絡(luò),通過(guò)專業(yè)的備份軟件定時(shí)地實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)到容災(zāi)中心的備份,取代原有的傳送磁帶方式。
復(fù)制的流程描述如下:【1】生產(chǎn)中心:備份軟件客戶端讀取生產(chǎn)磁盤(pán)陣列的數(shù)據(jù)?!?】容災(zāi)中心:備份服務(wù)器將接收到的數(shù)據(jù)備份至磁帶庫(kù)的存儲(chǔ)池?!?】容災(zāi)中心:備份服務(wù)器讀取存儲(chǔ)池中的數(shù)據(jù)恢復(fù)到磁盤(pán)陣列?!?】 容災(zāi)中心:備用服務(wù)器訪問(wèn)陣列中恢復(fù)的數(shù)據(jù),驗(yàn)證數(shù)據(jù)可用性。
通過(guò)專業(yè)備份軟件實(shí)現(xiàn)數(shù)據(jù)備份有明顯的缺點(diǎn),因此只能實(shí)現(xiàn)較低級(jí)別的系統(tǒng)容災(zāi):1)網(wǎng)絡(luò)的帶寬和性能對(duì)這種備份方式影響很大。數(shù)據(jù)量很大的時(shí)候,每次備份的時(shí)間會(huì)很長(zhǎng),結(jié)果就是RPO非常大;特別當(dāng)網(wǎng)絡(luò)不穩(wěn)定引起備份不成功時(shí),數(shù)據(jù)備份任務(wù)需要重新開(kāi)始,這將帶來(lái)更大的數(shù)據(jù)延遲和對(duì)帶寬需求,此時(shí)如果生產(chǎn)系統(tǒng)發(fā)生問(wèn)題,則丟失大量的生產(chǎn)數(shù)據(jù);2)數(shù)據(jù)備份過(guò)程和恢復(fù)過(guò)程都非常復(fù)雜。特別是復(fù)雜的恢復(fù)過(guò)程將會(huì)極大地影響業(yè)務(wù)系統(tǒng)恢復(fù)的時(shí)間。因?yàn)閿?shù)據(jù)恢復(fù)過(guò)程中需要將已經(jīng)備份的數(shù)據(jù)恢復(fù)到備份磁盤(pán)陣列的存儲(chǔ)空間,由于日常的數(shù)據(jù)備份是全備份或者增量備份相結(jié)合的使用,因此恢復(fù)的過(guò)程非常復(fù)雜,需要的時(shí)間也很長(zhǎng)(數(shù)據(jù)量越大那么需要的恢復(fù)時(shí)間越長(zhǎng),而且恢復(fù)的過(guò)程一旦出錯(cuò),就要重新來(lái)做恢復(fù)),導(dǎo)致容災(zāi)恢復(fù)目標(biāo)RTO也很長(zhǎng)。3)如果備份是直接備到磁帶庫(kù)上,那么在進(jìn)行恢復(fù)操作時(shí),必須使用正確的磁帶。而存檔磁帶的數(shù)量可能有成百上千盒,要在成堆的磁帶中找到正確時(shí)間的磁帶給管理上帶來(lái)很大的挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了實(shí)現(xiàn)同步復(fù)制的容災(zāi),通過(guò)對(duì)數(shù)據(jù)的處理保證了生產(chǎn)中心磁盤(pán)陣列和災(zāi)備中心磁盤(pán)陣列上數(shù)據(jù)的完全同步,從而是提高了數(shù)據(jù)的安全性,更有效的保護(hù)了用戶的數(shù)據(jù)。
本發(fā)明的技術(shù)方案是這么實(shí)現(xiàn)的,所述的方法包括下述步驟:
首先在數(shù)據(jù)源端和目標(biāo)端端分別安裝Agent進(jìn)程,數(shù)據(jù)源端的Agent進(jìn)程對(duì)日志進(jìn)行監(jiān)控,發(fā)現(xiàn)改變及時(shí)對(duì)目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行更新。
其次當(dāng)應(yīng)用系統(tǒng)在數(shù)據(jù)源端向數(shù)據(jù)庫(kù)進(jìn)行任何操作時(shí)時(shí),這些信息都將保 存,Agent通過(guò)對(duì)實(shí)時(shí)獲取的Log日志進(jìn)行分析,獲得本次操作的交易指令和交易數(shù)據(jù),然后將這些交易指令和交易數(shù)據(jù)經(jīng)過(guò)分析篩選出涉及數(shù)據(jù)變化的指令,并將單條指令合成日志文件。經(jīng)過(guò)編譯后,導(dǎo)出加密文件傳輸?shù)侥繕?biāo)端。
最后目標(biāo)端系統(tǒng)的Agent接收數(shù)據(jù)庫(kù)包,經(jīng)過(guò)校驗(yàn)碼檢查,確認(rèn)正確的數(shù)據(jù)庫(kù)包后,解碼恢復(fù)成日志文件,進(jìn)行日志前滾。
附圖說(shuō)明
圖1是對(duì)目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行實(shí)時(shí)更新的容災(zāi)技術(shù)應(yīng)用示意圖
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,結(jié)合一下附圖,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明的目的是為了實(shí)現(xiàn)同步復(fù)制的容災(zāi)功能,通過(guò)對(duì)數(shù)據(jù)的處理保證了生產(chǎn)中心磁盤(pán)陣列和災(zāi)備中心磁盤(pán)陣列上數(shù)據(jù)的完全同步,從而是提高了數(shù)據(jù)的安全性,更有效的保護(hù)了用戶的數(shù)據(jù)。
所述方法包括下述步驟:
首先在數(shù)據(jù)源端和目標(biāo)端端分別安裝Agent進(jìn)程,數(shù)據(jù)源端的Agent進(jìn)程對(duì)日志進(jìn)行監(jiān)控,發(fā)現(xiàn)改變及時(shí)對(duì)目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行更新。
其次當(dāng)應(yīng)用系統(tǒng)在數(shù)據(jù)源端向數(shù)據(jù)庫(kù)進(jìn)行任何操作時(shí)時(shí),這些信息都將保存,Agent通過(guò)對(duì)實(shí)時(shí)獲取的Log日志進(jìn)行分析,獲得本次操作的交易指令和交易數(shù)據(jù),然后將這些交易指令和交易數(shù)據(jù)經(jīng)過(guò)分析篩選出涉及數(shù)據(jù)變化的指令,并將單條指令合成日志文件。經(jīng)過(guò)編譯后,導(dǎo)出加密文件傳輸?shù)侥繕?biāo)端。
最后目標(biāo)端系統(tǒng)的Agent接收數(shù)據(jù)庫(kù)包,經(jīng)過(guò)校驗(yàn)碼檢查,確認(rèn)正確的數(shù) 據(jù)庫(kù)包后,解碼恢復(fù)成日志文件,進(jìn)行日志前滾。