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