許多用戶都處在磁帶庫備份的應(yīng)用上,有些使用了遠(yuǎn)程數(shù)據(jù)記錄的技術(shù)。但容災(zāi)不只是簡單備份。傳統(tǒng)備份是將數(shù)據(jù)保留在非生產(chǎn)設(shè)備的其他介質(zhì)上,更著重于數(shù)據(jù)的日志管理,記錄并保護(hù)數(shù)據(jù)的增量、差分,以恢復(fù)歷史數(shù)據(jù)為目標(biāo)。同時(shí)這種容災(zāi)能力非常有限,因?yàn)閭鹘y(tǒng)的備份主要是采用數(shù)據(jù)內(nèi)置或外置的磁帶機(jī)進(jìn)行冷備份,備份磁帶同時(shí)也在機(jī)房中統(tǒng)一管理,一旦整個(gè)機(jī)房出現(xiàn)了災(zāi)難,如火災(zāi)、盜竊和地震等災(zāi)難時(shí),這些備份磁帶也隨之銷毀,所存儲的磁帶備份也起不到任何容災(zāi)功能。而容災(zāi)的數(shù)據(jù)復(fù)制并不考慮歷史數(shù)據(jù)的恢復(fù)。它以恢復(fù)實(shí)時(shí)應(yīng)用為目標(biāo),著重于保持?jǐn)?shù)據(jù)的一致性。以便在災(zāi)難發(fā)生時(shí)能夠恢復(fù)實(shí)時(shí)的應(yīng)用生產(chǎn)。這種容災(zāi)備份都將數(shù)據(jù)復(fù)制到處在同一座城市不同建筑內(nèi)或者異地的的存貯設(shè)備里,備份設(shè)備在空間上有足夠的跨度遠(yuǎn)離生產(chǎn)系統(tǒng)所在的地點(diǎn),從而有效的使數(shù)據(jù)保存在可能發(fā)生的災(zāi)害能夠波及的范圍之外。
客戶對什么是容災(zāi)還沒有充分的了解,很多人認(rèn)為容災(zāi)系統(tǒng)就是要實(shí)現(xiàn)實(shí)時(shí)切換的備份系統(tǒng)。但建設(shè)一整套與生產(chǎn)系統(tǒng)完全一樣的容災(zāi)系統(tǒng),無論在成本投資,傳輸網(wǎng)絡(luò),備用系統(tǒng)技術(shù)人員儲備,全系統(tǒng)維護(hù),等方面消耗大量的資金,人力和時(shí)間的投入。這種巨大的投入在平時(shí)正常生產(chǎn)的絕大多數(shù)情況下沒有任何的產(chǎn)出,而每時(shí)每刻發(fā)生的網(wǎng)絡(luò)費(fèi)用、人力成本和設(shè)備維護(hù)費(fèi)用使大部分用戶望而卻步。即使承擔(dān)了這些高昂的費(fèi)用,一旦災(zāi)害發(fā)生時(shí),備用系統(tǒng)要完全接管生產(chǎn)系統(tǒng),還要依靠于網(wǎng)絡(luò)的環(huán)境。首先,備用系統(tǒng)啟動,在這個(gè)過程中要更改應(yīng)用的生產(chǎn)系統(tǒng)主機(jī)的地址,然后所有的用戶端要更改訪問的服務(wù)器地址,而這些工作是否能順利進(jìn)行還要依靠于廣域網(wǎng)的狀態(tài)。使恢復(fù)工作的效果難以預(yù)測。
數(shù)據(jù)備份是數(shù)據(jù)高可用的最后一道防線,無論是采用哪種容災(zāi)方案,數(shù)據(jù)備份還是最基礎(chǔ)的,沒有備份的數(shù)據(jù),任何容災(zāi)方案都沒有現(xiàn)實(shí)意義。在投資有限的條件下,實(shí)施數(shù)據(jù)容災(zāi)備份是用戶進(jìn)行容災(zāi)系統(tǒng)建設(shè)的第一步,也是最終容災(zāi)恢復(fù)系統(tǒng)的基礎(chǔ)。對于多數(shù)用戶來說,可以分步進(jìn)行,先實(shí)現(xiàn)數(shù)據(jù)的容災(zāi)備份,然后再延時(shí)建設(shè)容災(zāi)恢復(fù)系統(tǒng)。但不論是分期分批的建設(shè),還是一步到位的投入,采用何種復(fù)制技術(shù)以最大可能的保持?jǐn)?shù)據(jù)的一致仍然是容災(zāi)系統(tǒng)建設(shè)的關(guān)鍵。
事實(shí)上容災(zāi)有很多層次,例如國際標(biāo)準(zhǔn)SHARE 78 定義的容災(zāi)系統(tǒng)有七個(gè)層次:從最簡單的僅在本地進(jìn)行磁帶備份,到將備份的磁帶存儲在異地,再到建立應(yīng)用系統(tǒng)實(shí)時(shí)切換的異地備份系統(tǒng),恢復(fù)時(shí)間也可以從幾天到小時(shí)到分鐘、秒或0數(shù)據(jù)丟失等。從技術(shù)上看,衡量容災(zāi)系統(tǒng)有兩個(gè)主要指標(biāo):RPO(Recovery Point Object)和RTO(Recovery Time Object)。
其中RPO代表了當(dāng)災(zāi)難發(fā)生時(shí)允許丟失的數(shù)據(jù)量;而RTO則代表了系統(tǒng)恢復(fù)的時(shí)間。本文討論的數(shù)據(jù)復(fù)制技術(shù)是在第6,第7層的應(yīng)用技術(shù)。
二、 應(yīng)用技術(shù)
容災(zāi)數(shù)據(jù)備份在目前有三種方式
本文重點(diǎn)討論第二種物理級,即基于智能磁盤陣列的數(shù)據(jù)復(fù)制技術(shù),它包含以下內(nèi)容:
1. 遠(yuǎn)程鏡像技術(shù)
遠(yuǎn)程鏡像技術(shù)是在主數(shù)據(jù)中心和備援中心之間的數(shù)據(jù)備份時(shí)用到。鏡像是在兩個(gè)或多個(gè)磁盤或磁盤子系統(tǒng)上產(chǎn)生同一個(gè)數(shù)據(jù)的鏡像視圖的信息存儲過程,一個(gè)叫主鏡像系統(tǒng),另一個(gè)叫從鏡像系統(tǒng)(見圖)。按主從鏡像存儲系統(tǒng)所處的位置可分為本地鏡像和遠(yuǎn)程鏡像。
遠(yuǎn)程鏡像又叫遠(yuǎn)程復(fù)制,是容災(zāi)備份的核心技術(shù),同時(shí)也是保持遠(yuǎn)程數(shù)據(jù)同步和實(shí)現(xiàn)災(zāi)難恢復(fù)的基礎(chǔ)。遠(yuǎn)程鏡像按請求鏡像的主機(jī)是否需要遠(yuǎn)程鏡像站點(diǎn)的確認(rèn)信息,又可分為同步遠(yuǎn)程鏡像和異步遠(yuǎn)程鏡像。
同步遠(yuǎn)程鏡像(同步復(fù)制技術(shù))是指通過遠(yuǎn)程鏡像軟件,將本地?cái)?shù)據(jù)以完全同步的方式復(fù)制到異地,每一本地的I/O事務(wù)均需等待遠(yuǎn)程復(fù)制的完成確認(rèn)信息,方予以釋放。同步鏡像使遠(yuǎn)程拷貝總能與本地機(jī)要求復(fù)制的內(nèi)容相匹配。當(dāng)主站點(diǎn)出現(xiàn)故障時(shí),用戶的應(yīng)用程序切換到備份的替代站點(diǎn)后,被鏡像的遠(yuǎn)程副本可以保證業(yè)務(wù)繼續(xù)執(zhí)行而沒有數(shù)據(jù)的丟失。但它存在往返傳播造成延時(shí)較長的缺點(diǎn),只限于在相對較近的距離上應(yīng)用。
異步遠(yuǎn)程鏡像(異步復(fù)制技術(shù))保證在更新遠(yuǎn)程存儲視圖前完成向本地存儲系統(tǒng)的基本I/O操作,而由本地存儲系統(tǒng)提供給請求鏡像主機(jī)的I/O操作完成確認(rèn)信息。遠(yuǎn)程的數(shù)據(jù)復(fù)制是以后臺同步的方式進(jìn)行的,這使本地系統(tǒng)性能受到的影響很小,傳輸距離長(可達(dá)1000公里以上),對網(wǎng)絡(luò)帶寬要求小。但是,許多遠(yuǎn)程的從屬存儲子系統(tǒng)的寫沒有得到確認(rèn),當(dāng)某種因素造成數(shù)據(jù)傳輸失敗,可能出現(xiàn)數(shù)據(jù)一致性問題。為了解決這個(gè)問題,目前大多采用延遲復(fù)制的技術(shù),即在確保本地?cái)?shù)據(jù)完好無損后進(jìn)行遠(yuǎn)程數(shù)據(jù)更新。
2.快照技術(shù)
遠(yuǎn)程鏡像技術(shù)往往同快照技術(shù)結(jié)合起來實(shí)現(xiàn)遠(yuǎn)程備份,即通過鏡像把數(shù)據(jù)備份到遠(yuǎn)程存儲系統(tǒng)中,再用快照技術(shù)把遠(yuǎn)程存儲系統(tǒng)中的信息備份到遠(yuǎn)程的磁帶庫、光盤庫中。
快照技術(shù)分為兩類,一類指針型,是通過軟件對要備份的磁盤子系統(tǒng)的數(shù)據(jù)快速掃描,建立一個(gè)要備份數(shù)據(jù)的快照邏輯單元號LUN和快照cache,在快速掃描時(shí),把備份過程中即將要修改的數(shù)據(jù)塊同時(shí)快速拷貝到快照cache中。快照LUN是一組指針,它指向快照cache和磁盤子系統(tǒng)中不變的數(shù)據(jù)塊(在備份過程中)。在正常業(yè)務(wù)進(jìn)行的同時(shí),利用快照LUN實(shí)現(xiàn)對原數(shù)據(jù)的一個(gè)完全的備份。
另一類是空間型,也駐留在磁盤陣列系統(tǒng)中。它使主機(jī)系統(tǒng)和磁盤陣列設(shè)備管理者能夠在后臺狀態(tài)下,為主機(jī)處理的數(shù)據(jù)在磁盤陣列內(nèi)部實(shí)時(shí)創(chuàng)建可獨(dú)立尋址多copy卷。這些copy卷是應(yīng)用數(shù)據(jù)存放的現(xiàn)用生產(chǎn)卷的鏡象,可同時(shí)并行運(yùn)行任務(wù)。一旦生產(chǎn)數(shù)據(jù)的copy卷建立后,通過命令可以與其生產(chǎn)卷分割開,應(yīng)用系統(tǒng)數(shù)據(jù)庫可通過生產(chǎn)卷繼續(xù)做聯(lián)機(jī)應(yīng)用,與此同時(shí),備份系統(tǒng)可利用copy卷進(jìn)行備份、報(bào)表生成和應(yīng)用開發(fā)測試等工作。大大縮短了應(yīng)用系統(tǒng)因備份等原因OFFLINE脫機(jī)的時(shí)間,工作示意圖如下:
無論是生產(chǎn)、測試、災(zāi)難恢復(fù),還是數(shù)據(jù)倉庫應(yīng)用,該系統(tǒng)件套件都能提供業(yè)務(wù)數(shù)據(jù)影像拷貝的生成和管理維護(hù),使客戶以不同的方式更好、更充分的利用業(yè)務(wù)數(shù)據(jù),獲得更大的增值效益?;跀?shù)據(jù)復(fù)制、保護(hù)和信息共享而設(shè)計(jì)的復(fù)制管理系統(tǒng)件,提供了非常強(qiáng)大的功能:既可以在一個(gè)數(shù)據(jù)中心內(nèi)部或者不同數(shù)據(jù)中心之間實(shí)現(xiàn)數(shù)據(jù)復(fù)制,也可以在不同部門之間實(shí)現(xiàn)信息共享,快速、有效地適應(yīng)業(yè)務(wù)的靈活擴(kuò)展,在競爭中獲得領(lǐng)先優(yōu)勢。它可使用戶在正常業(yè)務(wù)不受影響的情況下,實(shí)時(shí)提取當(dāng)前在線業(yè)務(wù)數(shù)據(jù)。其“備份窗口”接近于零,可大大增加系統(tǒng)業(yè)務(wù)的連續(xù)性,為實(shí)現(xiàn)系統(tǒng)真正的7×24運(yùn)轉(zhuǎn)提供了保證。
三、 數(shù)據(jù)一致性
在容災(zāi)數(shù)據(jù)復(fù)制的應(yīng)用種,能否保持?jǐn)?shù)據(jù)的一致性是決定容災(zāi)效果的關(guān)鍵。我們從上文的介紹中可以看出:使用同步技術(shù)要停頓應(yīng)用,如示意圖。這樣是以犧牲應(yīng)用資源為代價(jià)的,所以絕大多數(shù)用戶都會選擇采用異步方式來進(jìn)行應(yīng)用。
異步方式異步操作為了保證遠(yuǎn)程拷貝的數(shù)據(jù)能夠保持?jǐn)?shù)據(jù)的完整性, 必須在每個(gè)遠(yuǎn)程拷貝的I/O內(nèi)考慮傳輸過程中可能出現(xiàn)的失敗而重傳,都加上了時(shí)間標(biāo)簽( Time Stamp ),當(dāng)生產(chǎn)磁盤控制器收到來自主機(jī)的一個(gè)寫更新時(shí),立即返回一個(gè)I/O完成的應(yīng)答,數(shù)據(jù)被放置到控制器CACHE里的一個(gè)文件(sidefile)中。應(yīng)用軟件定期地或在磁盤控制器達(dá)到某個(gè)臨界狀態(tài)時(shí)收集來自所有控制器的更新數(shù)據(jù),根據(jù)更新記錄上的時(shí)間戳(Time Stamp),將更新記錄組成能夠保證數(shù)據(jù)和順序更新完整性的一組記錄,稱為CONSISTENCY GROUP(數(shù)據(jù)分組號),然后一次性地用這組記錄去更新備份磁盤。這個(gè)數(shù)據(jù)一致組保證備份磁盤系統(tǒng)的更新與生產(chǎn)磁盤系統(tǒng)有完全相同的順序即順序的完整性。下圖表示了異步遠(yuǎn)程拷貝的實(shí)現(xiàn)流程。
由于異步遠(yuǎn)程更新的執(zhí)行,應(yīng)用程序不必等待遠(yuǎn)程更新的完成,因此遠(yuǎn)程數(shù)據(jù)備份的性能的影響通常較小,并且備份磁盤的距離和生產(chǎn)磁盤間的距離理論上沒有限制。然而,當(dāng)傳送中的數(shù)據(jù)在生產(chǎn)磁盤控制器或在應(yīng)用中還沒有形成數(shù)據(jù)一致組時(shí)生產(chǎn)中心發(fā)生災(zāi)難,這些數(shù)據(jù)就會丟失。因此在系統(tǒng)和應(yīng)用程序重新啟動之前,需要額外的數(shù)據(jù)恢復(fù)。所花費(fèi)的時(shí)間和造成的影響取決于客戶的環(huán)境,例如應(yīng)用程序和設(shè)備配置的復(fù)雜性,更新的完整性等等。
數(shù)據(jù)容災(zāi)以恢復(fù)實(shí)時(shí)應(yīng)用為目標(biāo),必須盡可能地保持?jǐn)?shù)據(jù)的一致性,以便能夠在災(zāi)害發(fā)生時(shí)有效的保存即時(shí)數(shù)據(jù),從而對原有應(yīng)用進(jìn)行恢復(fù)。時(shí)間戳技術(shù)的使用使數(shù)據(jù)在傳輸過程種因網(wǎng)絡(luò)環(huán)境等等意外因素而收到影響的可能性大大降低,有效地保護(hù)了數(shù)據(jù)的一致性。與其他同類技術(shù)相比,具有顯著的優(yōu)勢。
當(dāng)然,在應(yīng)用設(shè)備上采用的任何技術(shù),都不能完全避免因網(wǎng)絡(luò)環(huán)境等等意外因素對數(shù)據(jù)傳輸造成的影響。一旦這種影響發(fā)生,勢必造成數(shù)據(jù)傳輸?shù)牡却?。如何克服?shù)據(jù)等待的問題,目前主要有兩種技術(shù),一是磁盤陣列或者主機(jī)本地硬盤上使用預(yù)留空間待網(wǎng)絡(luò)環(huán)境良好時(shí)進(jìn)行傳輸。但這樣做會占用主機(jī)或磁盤陣列的資源,而且等待數(shù)據(jù)量超過預(yù)留空間會破壞數(shù)據(jù)的一致性。
另一種最新的技術(shù)是智能磁盤陣列在原數(shù)據(jù)保存的LUN上生成一個(gè)位圖表(Bit Map),用于指示每一個(gè)數(shù)據(jù)字節(jié)(Bit)的變化和傳輸與否。當(dāng)位圖表形成后,覆蓋中國用于保存原數(shù)據(jù)的LUN上,因此它占用的空間很小而且不再變化。但能夠全部記錄下需要傳輸?shù)臄?shù)據(jù)包的狀態(tài),使數(shù)據(jù)等待的數(shù)據(jù)得到優(yōu)化,節(jié)約了磁盤陣列的空間資源。同時(shí)完全保證了向遠(yuǎn)端發(fā)送一致的數(shù)據(jù)。就目前技術(shù)水平而言,數(shù)據(jù)戳和位圖表技術(shù)的結(jié)合使用,是在容災(zāi)數(shù)據(jù)備份應(yīng)用中的最佳方式。
本文首發(fā)于DOSTOR《信息存儲》雜志創(chuàng)刊號封面故事。
點(diǎn)此免費(fèi)訂閱《信息存儲》雜志,讓“信息創(chuàng)造存儲價(jià)值”。