江蘇省郵電規(guī)劃設計院有限責任公司通信規(guī)劃設計院 孫恒超、梁 晶
由于各種客觀原因,人們無法預測何時、何地會發(fā)生何種程度的系統災難,也不可能完全阻止其發(fā)生。據IDC(因特網數據中心)統計,1990年至2000年十年間,在所有發(fā)生過系統災難的美國公司中,55%當時倒閉,剩下的45%,因為數據丟失,有29%也在兩年內倒閉,生存下來的僅占16%。因此,如何備份和保護關鍵數據,保證IT(信息技術)系統的安全運行,已經成為信息化時代每一家公司都必須解決的重要問題。
備份一般是指利用備份軟件將數據從磁盤備份到磁帶進行離線保存(最新的備份技術也支持磁盤到磁盤的備份)的過程。通過備份,可以在原始數據遭到破壞甚至丟失的時候,對數據進行恢復,降低甚至杜絕數據損失,保證數據和系統的完整性[1]。
一套完整的備份系統通常包括備份軟件、備份服務器和磁帶3個部分。備份服務器上安裝備份軟件服務器端,應用服務器上安裝備份軟件客戶端,按照預先制定的備份策略,自動或手動地將主機數據備份到磁帶上。具體的備份策略制定、備份介質管理以及一些擴展功能的實現,都由備份軟件完成。
其中,備份策略的制定是備份工作的重要組成部分,它決定了備份工作的工作量。常用的備份策略有3種:全量備份、增量備份和差量備份。
全量備份,是對指定的數據集進行一次完整的備份,備份的數據量和數據集的數據總量相等。
增量備份,是在上一次備份(全量備份或增量備份)的基礎上,對所指定的數據集在上次備份后發(fā)生了改變的數據進行備份,備份的數據量較小,需要的時間較短。
差量備份,是在上一次全量備份的基礎上,對所指定的數據集在上次全量備份后發(fā)生了改變的數據進行備份,備份的數據量通常小于數據總量。
全量備份是最完整、最安全的備份方式,使用全量備份,一次就可以將數據完整的恢復過來,缺點是耗費的時間與空間較多;增量備份所需的時間與空間較少,通過較小的代價保存多個時間點的數據狀態(tài),但是單一增量備份無法對數據集進行恢復,要恢復到某次增量備份時的數據狀態(tài),必須將該增量備份之前的全量備份和所有增量備份依次進行恢復;差量備份同樣存在這個問題,要恢復到某個差量備份時的數據狀態(tài),必須先恢復該差量備份之前的全量備份。
廣義上,任何可以提高系統可用性和業(yè)務連續(xù)性的活動,都可被稱為容災。狹義層面上,容災是指在生產站點之外,建立與生產站點功能相同的冗余站點,當生產站點發(fā)生災難時,冗余站點可以快速接管業(yè)務,實現業(yè)務的連續(xù)性[2]。
從對IT系統的保護程度來講,可以將容災分為兩個級別:數據容災和應用容災。
數據容災是指在異地建立一個數據系統,該系統是本地關鍵數據的可用復制,在本地數據及應用系統發(fā)生災難時,通過該數據系統進行恢復,確保數據的安全性。該級別的災難恢復時間較長,且只能保證數據無丟失,無法保證應用和業(yè)務的連續(xù)性。
應用容災是在數據容災的基礎上,把業(yè)務處理能力也復制一份,在備份站點建立起業(yè)務系統的備份,當生產站點發(fā)生災難時,備份站點快速接管業(yè)務,保證系統的不間斷運行,實現應用和業(yè)務的連續(xù)性。建立一個應用級別的容災系統是比較復雜的,不僅需要備份數據,還需要包括網絡、主機、應用、甚至IP等資源的支持,以及各種資源之間的良好協調。
備份和容災都是存儲領域的重要組成部分,二者有著密切聯系。首先,二者都包含數據保護工作,備份多采用磁帶方式,性能低,成本低,容災則使用磁盤進行數據保護,性能高,成本高;其次,備份是存儲領域的基礎,一個完整的容災方案中必然包括備份;最后,備份還是容災的有效補充,容災系統中的數據始終在線,存儲有被完全破壞的可能,而備份提供了最后一道防線,如果在線數據丟失,還可以從備份中對數據進行恢復。
二者的區(qū)別在于各自的關注對象不同,備份關注的是數據安全性,容災關注的是業(yè)務安全性,具體來看,容災和備份的不同主要體現為[3]:
·容災主要是應對火災、地震等重大自然災害帶來的數據破壞,因此生產中心與災備中心之間必須具有一定的安全距離;備份是在同一數據中心進行。
·容災不僅保護數據,還能有效保障業(yè)務的連續(xù)性;備份只保護數據。
·容災保證數據的實時完整性;備份只能對備份時間點以前的數據進行恢復。
·容災系統的故障切換時間非常短;備份系統的恢復時間一般比較長。
·容災是在線過程,備份是離線過程。
衡量容災系統的技術指標主要有兩個:RPO(恢復點目標)和RTO(恢復時間目標),RPO表示災難發(fā)生時允許丟失的數據量,RTO表示系統的恢復時間[4]。
RPO針對的是數據丟失,RTO針對的是服務丟失,RPO與RTO越小,系統的可用性就越高,但二者沒有必然的關聯。RPO和RTO的合理制定,需要以風險分析和業(yè)務影響分析為前提,同時結合實際業(yè)務需求來完成,二者的基本關系如圖1所示。

設計容災備份系統需要考慮的因素很多,如備份/恢復數據量大小、生產中心和災備中心的距離、災難發(fā)生時要求的恢復速度、災備中心的投入與回報等。根據不同的應用場合,可以將災備系統分為4個等級:
1)第0級:本地備份、本地保存的冷備份。
這一級的容災實際上就是本地數據備份,數據備份在本地進行,備份磁帶在本地保存,容災能力最弱,無法防御能對生產中心實際場所造成破壞的災難。在這種方案中,最常用的備份設備就是磁帶機,根據需要可以是手工加載磁帶機或自動加載磁帶機。
2)第1級:本地備份、異地保存的冷備份。
這一級的容災是在本地將數據備份,然后把備份磁帶送到異地保存。若系統發(fā)生災難,則從異地取回備份磁帶,利用備份磁帶對系統和數據進行恢復。這種容災方案也是采用磁帶機等存儲設備進行備份,磁帶設備的選擇可參見前面介紹,也可以選擇磁帶庫、光盤庫等存儲設備。
3)第2級:熱備份站點備份。
這一級的容災是在異地建立熱備份點,通過生產中心和災備中心之間的網絡連接進行在線數據備份。即通過網絡以同步或異步的方式,把生產站點的數據備份到備份站點。當出現災難時,備份站點可迅速接管生產站點的業(yè)務,從而實現業(yè)務的連續(xù)性。
4)第3級:活動互援備份。
這一級的容災與第2級都采用了熱備份,不同的是主、從系統的關系不再是固定的,而是互為備份。生產站點和備份站點分別在相隔較遠的地方建立,同時處于工作狀態(tài),并相互進行數據備份。任一個站點發(fā)生災難,另一站點都可快速接管之。在這兩個站點間的連接中通常還提供冗余通道,以備工作通道出現故障時及時接替。采用這種容災方式的主要是資金較為雄厚的大型企業(yè)和電信企業(yè)。
2.3.1 磁盤陣列
很多服務器都使用磁盤陣列來提高數據的安全性,常用的有 RAID1(獨立磁盤冗余陣列 1)、RAID5、RAID6 等,分別為磁盤數據提供了不同級別的保護,為信息系統提供了基礎的數據保護,當單塊磁盤出現故障時,通過磁盤陣列對數據進行恢復。
但其缺點也比較明顯。首先,它無法實現業(yè)務的連續(xù)性,在數據恢復期間系統無法提供服務,對于由于服務器其他部件故障導致的宕機或其他原因導致的業(yè)務停滯,它也無法解決;其次,它只能解決單個服務器問題,不是一種集中解決方案。
2.3.2 磁帶庫/虛擬磁帶庫
傳統的磁帶庫以及近年出現的虛擬磁帶庫技術是一種為超大容量數據提供的存儲備份方式,能夠以較高的性能和較低的成本為異構系統提供存儲、歸檔和備份,廣泛應用于銀行、石油、軍隊等需要海量數據存儲的行業(yè)和部門,便于備份和保存。
這種備份方式是基于數據層面的備份,與應用系統無關,因此它可以為由異構應用構成的系統提供統一的、集中的數據存儲和備份。但磁帶庫技術只是單純的備份技術,它不能為業(yè)務系統提供業(yè)務的應急恢復,在數據恢復期間業(yè)務是停滯的,即它只能保證數據的容災,不能保證應用的容災。
2.3.3 集群技術及雙機熱備
集群(cluster)是指由一組相互獨立的計算機通過高速網絡連接組成的一個計算機系統。每個群集節(jié)點(集群中的計算機)都作為獨立服務器運行自己的進程,進程之間可以相互通信。集群技術的出發(fā)點是為了構建一個具有更高可用性、可管理性和可伸縮性的計算機系統。一個集群包含多臺擁有共享存儲空間的服務器,各服務器之間通過局域網相互通信,當一個節(jié)點發(fā)生故障時,它所運行的程序由其他節(jié)點自動接管,所有節(jié)點協同合作向用戶提供應用程序、系統資源和數據,并以單一系統模式進行管理,在客戶機看來就像是一個系統。
其中,只有兩個節(jié)點的高可用集群又稱為雙機熱備,即兩臺服務器互相備份,當其中一臺出現故障時,另一臺自動迅速接管業(yè)務,從而在不需要人工干預的情況下,保證系統能持續(xù)對外提供服務。雙機熱備是集群技術中最簡單的一種情況。
雖然集群技術能夠達到數據和應用的雙保險,但它也有弊端:它無法避免數據誤刪除、邏輯性破壞和自然災難,且代價高昂,難以統一和集中管理。
2.3.4 持續(xù)數據保護
持續(xù)數據保護(CDP)是一種在不影響應用系統運行的前提下,持續(xù)捕捉和跟蹤目標數據所發(fā)生的任何變化,并可以將數據恢復到此前任意時間點狀態(tài)的技術方法。CDP技術通過在操作系統核心層中植入文件過濾驅動程序來實時捕獲所有文件訪問操作,對于需要CDP連續(xù)備份保護的文件,當CDP管理模塊經由文件過濾驅動檢測到其進行寫操作時,將文件中數據發(fā)生變化的部分連同當前的系統時間戳一起自動備份到存儲設備,任何一次的文件數據變化都會被自動記錄,因而稱之為持續(xù)數據保護。
CDP技術是對傳統數據備份技術的一次重大突破。傳統數據備份技術專注于對數據進行周期性備份,因此一直存在備份窗口、數據一致性以及對生產系統性能的影響等問題。CDP則提供了全新的數據保護方式,系統管理員無須關注數據的備份過程(CDP會不斷監(jiān)測數據變化,自動實現數據備份),而是僅僅需要在系統發(fā)生災難后,簡單地選擇需要恢復到的時間點即可實現數據的快速恢復。
[1] 王彥龍, 李戰(zhàn)懷, 鄭然. 多平臺數據容災系統的研究與設計[J]. 計算機應用研究, 2007,24(2): 215-218.
[2] 張艷, 李舟軍, 何德全. 災難備份和恢復技術的現狀與發(fā)展[J]. 計算機工程與科學, 2005(2): 78-81.
[3] 王仁福. 數據異地備份系統的設計與實現[J]. 中國金融電腦, 2004(8): 46-49.
[4] 王德軍, 王麗娜. 容災系統研究 [J]. 計算機工程, 2005,31(6): 43-45,113. ◆