廣泛應用的容災技術

   2年前的9.11事件震驚了全世界,隨着世貿中心的坍塌,數百家在世貿內辦公的公司也遭到了毀滅性的打擊。它們不僅損失了優秀的人才,很多對企業生存、發展至關重要的數據也完全丟失,許多公司因此倒閉。而著名的財經諮詢公司摩根斯坦利雖然也在這起恐怖襲擊中遭到重創,但它在第二天就奇蹟般的恢復了業務,這完全得益於該公司在新澤西的Teaneck市建立的一個容災中心。
    9.11事件使得人們更加重視數據安全和業務連續性的問題,也間接推動了容災技術的發展。在國內,很多電信、金融等行業的高端用戶也都開始規劃、建設自己的容災中心,使得容災逐漸成爲比較熱門的話題。作爲國內電信行業最大的軟硬件供應商,華爲公司也在HLR、智能網、客服中心等領域爲客戶推出了自己的容災解決方案。
本文將簡要介紹目前業界幾種主流的容災技術,希望起到拋磚引玉的作用,並使大家對容災技術有初步的瞭解。
容災系統的關鍵指標
   容災系統就是建立一個異地的系統,該系統是本地生產系統的一個複製。在本地系統出現災難時,系統在異地保存有一份可用的業務系統。當發生災難或其它原因使得主系統長時間不可用時,可以將應用切換到容災系統,從而保證業務的連續性。
一般來說,容災系統應該對以下五類情況實現容災:
──地震、戰爭、火災等自然災害和其它不可抗力的災難
──長時間無法恢復性停電、大樓損壞等外部設備損壞的災害
──主機升級、檢修等計劃性或策略性宕機等長時間無法正常工作
──人爲失誤造成的災害(如主機系統、數據信息被嚴重破壞等)
──長時間無法修復電路中斷(局域或廣域網線路故障等)

對容災系統而言,有兩個指標非常關鍵:
    恢復時間目標(RTO):即災難過後,必須恢復數據以便重新開始業務的最長時間,即業務中斷的最長時間。這個指標關係到業務連續性系統對災難的控制能力。
恢復點目標 (RPO):這個指標的含義是災難過後,必須應用數據以便重新開始業務交易的時間點,意即恢復後的數據有多長時間的數據丟失。

容災系統的目標
我們認爲一個理想的容災系統,應該具備以下幾個特點:
支持熱容災(即主備節點可以併發使用)

    熱容災就是指容災系統總是處於打開狀態,該系統上的數據可被其他相關係統所讀取,有關應用軟件的工作量可以被容災端的設備資源分擔。這將使容災系統不僅起到容災的作用,也可以起到一定的負荷分擔作用,從而大大提高容災系統的投資回報率。
支持異構平臺
   指主系統與容災系統上的硬件、OS、數據庫版本可以隨意選擇,二者採用的平臺不一定相同,但是兩系統可以識別同樣的數據。

無數據丟失
    一個理想的容災系統與主系統的數據應該完全同步,如果主系統發生災難,應用切換到備系統後應該做到不丟失任何數據。
切換速度快,成功率高
   理想的容災系統應該能夠做到成功的快速切換
   複雜程度適中(包括實施和維護)
因爲太複雜的容災方案,系統的穩定性可能會受影響,維護成本相應會增大很多;
對主系統系統資源佔用小
   爲保證容災系統與主系統數據的一致性,不同的容災方案有自己不同的數據同步方法,這些數據同步手段可能會給主系統的性能帶來嚴重影響;
成本適中
   對用戶而言,如果容災方案的成本超過了被保護數據的價值,那麼再好的容災方案也是不可接受的。
當然,以目前的容災技術,這種理想的容災系統可能並不存在,所以在制定容災方案時要對各方面做綜合考慮,選取一個相對合理的方案。

4.1應用級容災
    應用級容災是指在應用程序中嵌入數據同步的功能,主備雙方採用相同的應用軟件,兩套系統具有相同的處理能力,從而實現容災的目的。這種方案全部依賴於應用軟件,根據業務處理的特點來完成系統和數據處理的同步,從而大大減少主系統和備系統同步所需的信息,降低了對網絡帶寬的需求。它的缺點是系統的軟件複雜度較高,從而導致日後在增加新業務功能時
金蛋軟件維護成本增加。
    應用級容災因爲複雜度較高,且要修改原有應用程序,因此有一定的風險,成功的案例並不多。但在某些情況下,應用級容災因爲靈活性較高,容災端可同時負擔生產任務等原因,也會成爲容災方案的首選。
    比較典型的案例是國內某電信運營商的清算系統。該運營商原清算中心設在北京,爲抵禦區域性災難,在深圳又建立了一個清算中心,兩個中心互爲備份,構成容災系統。北京中心負責國際清算任務,深圳中心負責國內清算任務。因爲北京深圳間2000多公里的距離、TB級的數據、每日上千萬張話單,且要求支持熱容災,這對任何依賴於硬件或單純數據複製技術的容災方案都存在着難於克服的技術障礙。這種情況下,應用級容災幾乎成爲唯一的選擇。          、
    該容災系統在軟件系統結構上主要分爲三個層次:應用層、容災同步管理平臺、主備同步數據傳輸層。容災系統的核心爲容災同步管理平臺,主要包括同步索引管理器、
傾角傳感器、結果導出/導入、軟件版本控制、容災應用程序接口;應用層爲系統應用程序,通過容災應用程序接口與容災平臺相聯,也包括容災系統特有的主備差異報表及容災平臺的維護與配置界面;傳輸層爲容災文件傳輸,負責在主備系統之間傳遞容災同步平臺產生的同步數據。
    容災系統還包括容災的監控和切換工具,負責監測主備系統狀態,爲潛在的災難提供報警,並在災難發生後完成主備系統切換等操作。容災系統還對原系統管理和高可靠性管理進行改造,以保證容災系統的安全性和可靠性等。另外爲確保整個容災系統的正常運作,並且在災難發生時迅速決策和切換,還建立了一套完善的容災運作管理規範和規章。同時爲保證應用程序更新及新業務的開發能夠同容災平臺配合協作,也建立起了嚴格的軟件開發規範。
     該系統開發完畢上線後運行基本正常,並做了多次的容災切換演習,基本達到了當初的設計目的。以下是對應用級容災的總結。
4.2數據級容災

    目前應用最廣的是數據級容災,即在遠程建立一個容災中心,該中心的數據通過一定的機制保持與主系統的同步。根據數據同步技術的不同,數據級容災又可分爲以下幾類:基於文件(卷)複製的軟件容災方案;基於專用存儲設備的硬件複製容災方案;基於數據庫日誌複製的容災方案。
4.2.1 基於文件(卷)複製的軟件容災方案
    目前基於文件(卷)複製的軟件容災方案已經比較成熟,該技術的代表是Veritas公司推出的基於卷複製的容災方案。Veritas的容災系統由Veritas Volume Manager(VxVM)和Veritas Volume Replicator(VVR)組成。
    VERITAS Volume Manager(簡稱VxVM) 在物理磁盤上建立多個或一個邏輯卷(Volume)。以裸設備的方式使用卷,或在捲上建立文件系統。將數據(特別是需要進行遠程複製的相關文件系統、數據庫)存放在捲上。由於數據複製是基於卷的,所以,Volume 是進行VVR進行復制的基礎。VERITAS Volume Replicator(簡稱VVR)負責遠程數據複製。VVR複製基於Volume進行。複製的數據可以是數據庫中的數據(文件方式或裸設備方式)和文件,複製方式可以是同步也可以是異步。

    這種複製方式可以支持任何數據庫,支持同步/異步的複製模式,支持不同廠家的磁盤陣列(但主備節點的陣列類型必須相同)。它的缺點是佔用主機資源,主機寫操作性能受距離影響較大,而且不支持異構平臺,容災端數據基本不可用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章