容災,運維們都不會陌生的詞語。今天,咱們來聊一聊關於容災的那些事兒。web
災備,是企業中一項重要的技術應用,對於企業數據安全起到了很大的做用。 通常來講,災備的級別能夠分爲數據級、應用級和業務級三個級別。數據庫
數據級災備:主要關注的就是數據,就是在災難發生以後,能夠確保數據不受到損壞。好比早期的經過備份到磁帶轉移到異地或者基於網絡實現災備中心與生產中心的異步\同步的數據傳輸。安全
應用級災備:創建在數據級災備的基礎上,對應用系統進行復制,也就是在異地災備中心再構建一套應用支撐系統,可提供應用接管能力。支撐系統包括數據備份系統、備用應用系統、以及備用網絡等。服務器
業務級災備:也是最高級別的災備系統,包括超過IT系統的部分,好比業務用戶的辦公場因此及業務工做人員備份等。網絡
談到災備這個話題,不少CIO就會把異地應用級災備放在首位,還特別強調建設一個數據零丟失、應用自動切換的最高級別的異地災備系統。(通常業務級災備須要額外考慮超過IT系統建設的部分,因此從IT的角度來講,業務級災備不會放在首位來考慮。)架構
災備的重要性是毋容置疑的,但這並非說災備就必定要建應用級,不一樣的企業應該從實際需求出發,「選擇適合本身的」才最重要。負載均衡
災備建設中,如何選擇數據級,仍是應用級呢?咱們能夠從災備的目標,結合數據和業務分析作一個參考分析。運維
數據分析異步
對於企業來講,最重要的IT信息資產就是數據。咱們從數據用途的角度來分析,能夠將須要備份的數據分爲系統數據、基礎數據、應用數據和臨時數據;同時根據數據存儲和管理方式又可分爲數據庫數據、非數據庫數據、孤立數據和遺失數據。性能
系統數據:主要是指操做系統、應用系統安裝的各種軟件包和應用系統執行程序。系統數據在系統安裝後基本上不會再變更,只有在操做系統、應用系統版本升級或應用程序調整時才發生變化。
基礎數據:主要是指保證業務系統正常運行所使用的系統目錄、用戶目錄、系統配置文件、網絡配置文件、應用配置文件、存取權限控制等。基礎數據隨業務系統運行環境的變化而變化,通常做爲系統檔案進行保存。
應用數據:主要是指業務系統的全部業務數據,對數據的安全性、準確性、完整性要求很高並且變化頻繁。
臨時數據:主要是指操做系統、應用系統、數據庫產生的系統運行記錄、數據庫邏輯日誌和應用程序在執行過程當中產生的各類打印、傳輸臨時文件,隨系統運行和業務的發生而變化。臨時數據對業務數據的完整性影響不大,增大後須要按期進行清理。
業務分析
企業裏有不一樣的業務場景,咱們能夠根據各類業務系統處理的業務類型、處理方式、實時性要求、以及天天處理的業務量等條件,將業務系統劃分爲關鍵業務系統、重要業務系統、通常業務系統等。
關鍵業務系統:業務數據比較集中和核心,所連服務器節點較多,對保證整個企業的正常運轉相當重要;一旦業務中斷,將會馬上使企業提供的服務及正常業務運做受到至關嚴重的影響,並直接帶來企業經濟損失或影響企業信譽,甚至嚴重狀況可能要承擔潛在的法律責任。如線上攜程、淘寶、京東等。
重要業務系統:業務中斷將對整個企業的正常、有效運轉產生較嚴重的影響。一旦業務發生中斷,會使企業部分提供的服務及部分業務受到影響和中斷,但無關大局。如:內部企業網站、郵件傳輸系統、業務運營系統等。
通常業務系統:業務中斷將不會馬上對整個企業的正常運轉產生嚴重影響,一旦中短能夠容忍在數天或數週內恢復。好比:人事檔案系統、考勤系統、工程預決算系統等。
談完容災級別的選擇,咱們來看下容災的參數指標,有兩個關鍵指標咱們必需要了解:RTO和RPO。
RTO和RPO是災難恢復方面的重要參數指標,能夠很好地反映出容災性能如何。
RTO(恢復時長目標)
RTO(RecoveryTimeObjective,恢復時間目標)是可允許服務中斷的時間長度。好比說服務發生後半天內便須要恢復,RTO數值就是十二小時。RTO具體時間長短是指從故障發生後,從系統宕機致使應用停頓之刻開始,到系統恢復至能夠支持各部門運做之時,此兩點之間的時間段。
RTO是反映業務恢復的及時性指標,表示業務從中斷到恢復正常所需的時間。RTO數值越小,表明容災系統的數據恢復能力越強。咱們能夠部署不少容災系統,來獲取最小的RTO,但這意味着投入大量資金。
提高RTO的經常使用技術有:磁帶恢復、人工遷移、應用系統遠程切換,這幾種技術的RTO的表現以下表所示:
RPO(恢復點目標)
RPO(RecoveryPointObjective,恢復點目標)是指能容忍的最大數據丟失量,是指當業務恢復後,恢復得來的數據所對應時間點。
RPO取決於數據恢復到怎樣的更新程度,這種更新程度能夠是上一週的備份數據,也能夠是昨天的數據,這和數據備份的頻率有關。爲了改進RPO,必然要增長數據備份的頻率才行。
RPO是反映恢復數據完整性的指標。在同步數據複製方式下,RPO等於數據傳輸時延的時間,在異步數據複製方式下,RPO基本爲異步傳輸數據排隊的時間。提高RPO的經常使用技術有:磁帶備份、按期數據複製、異步數據複製、同步數據複製等,這幾種技術的RPO的表現以下表所示:
RTO和RPO關係
RTO和RPO指標並非孤立的,而是從不一樣角度來反映的容災能力。咱們用下面的圖說明下RTO和RPO兩個指標在故障處理過程當中的關係:
幾種常見災備技術
軟件複製:應用高可用、應用負載均衡、應用配置文件同步、VMware HA
數據庫複製:Oracle DG、MySQL 主從、MSSQL 鏡像、日誌同步;
存儲複製:EMC Vplex 、IBM SVC、NetAPP MetroCluster。
幾種常見災備架構
同城雙活:互聯網用戶可同時訪問生產和容災機房入口
容災級別:應用級容災;
容災技術:CDN、EMC Vplex 存儲複製、應用負載均衡、應用配置文件複製;
RTO:可達到秒級恢復;
RPO:根據雙活機房的同步複製,可達到數據零丟失;
災備切換關鍵:
網絡層:經過CDN可將用戶訪問自動切換至容災機房;
Web及應用層:容災機房一直處於運行狀態,無需手動切換。但部分應用可能須要調整配置;
數據庫:經過RAC+基於vplex的存儲複製,實現自動切換。
異地容災:某公司內部財務系統異地容災架構
容災級別:應用級容災;
容災技術:數據庫複製(Oracle Dataguard)、應用配置文件複製;
RTO:可達到分鐘級別恢復;
RPO:基本爲異步傳輸數據排隊的時間,可達到分鐘級別;
災備切換關鍵:
Web及應用層:容災機房一直處於運行狀態,無需手動切換。但部分應用可能須要調整配置;
數據庫:經過Oracle dataguard實現數據庫複製,切換時須要將容災機房的數據庫服務器配置爲主節點。
同城容災:某公司互聯網業務同城容災架構
容災級別:應用級容災;
容災技術:存儲複製、VMware HA集羣【生產ESX主機與容災ESX主機在同一個HA集羣中】;
RTO:可達到分鐘級別恢復;
RPO:根據雙活機房的同步複製,可達到數據零丟失;
災備切換關鍵:
Web、應用、數據庫服務器:在HA集羣上遷移虛擬機至容災ESX主機上,而後啓動虛擬機;
虛擬機文件、數據庫文件均使用存儲虛擬化技術實時複製。
不管數據級仍是應用級,都只是災備建設的技術手段。災備建設做爲一項系統工程,其複雜程度遠遠超出了技術的範疇。要想災備系統在關鍵時刻能發揮應有的做用,完善的災備應急預案、按期的災備演練也很是重要。
接下來咱們以上述的異地容災架構案例,結合嘉維藍鯨應用災備演練自動化SaaS的功能逐一闡述災備演練的全過程。
基於藍鯨的應用災備演練
在上述「異地容災:某公司內部財務系統異地容災架構」中,已經告訴了你們災備切換的關鍵點有兩個:
一個是web應用層,容災機房一直處於運行狀態,但切換應用到災備機房可能會涉及一些配置參數的調整;
二是在數據庫Oracle Dataguard架構中,切換時須要將容災機房的數據庫服務提起爲主動節點對外服務。
根據關鍵點,咱們梳理一下真實的應用災備演練的過程以下:
容災應用管理
應用管理員,登陸到SaaS後,首先添加目標災備應用,包括應用系統基礎信息、服務器對象、數據庫對象等;
災備預案管理
在災備預案管理中,添加針對目標應用的災備切換的預案,定義災備預案的名稱與後臺標準運維的流程關聯;
標準運維流程
災備預案建立完成後,基於最開始調研的容災切換的流程,進行原子開發,並在標準運維中進行原子流程的編排,操做流程編排完成,與預案管理ID關聯;
容災切換任務
容災切換任務,包括切換、恢復的任務,基於目標應用和預案管理,建立切換任務;
容災大屏實時展現
管理員基於應用災備預案及演練計劃建立好了災備切換的計劃,在任務執行的時間窗口,可經過菜單中的「大屏」功能,實時展現災備切換全流程及切換進度。
SaaS架構設計
嘉維藍鯨應用災備演練SaaS,基於藍鯨智雲PaaS平臺開發,能夠兼容各類災備架構。主要特性以下:
預案統一管理
往期傳統的容災預案管理,都是基於如今的文檔管理,通常只在一年一次或一年兩次的災備演練結果後,進行文檔的維護更新。任意時刻的人員變更或文檔的交接,均可能會致使災備預案的信息不許備,也就意味着下一次的災備演練又是從新開始。經過在線SaaS的方式,可集中添加多個災備應用系統,並集中管理好每一個核心的災備預案,而且在每一次的災備演練完成後,直接可在線更新和完善,同時記錄其每次預案的更新信息,從而實現災備演練目標—持續驗證和完善災備預案 。
大屏可視化
在SaaS中,增長了大屏功能的設計,讓本來須要經過線下溝通和彙報進度的工做,所有經過可視化的大屏,實時展現全部的切換流程和進度節點,讓整個演練過程更爲直觀高效。
適配驅動衆多技術對象
嘉維藍鯨應用災備演練SaaS,是基於藍鯨平臺上開發的應用運維場景SaaS,可經過藍鯨管控平臺提供的服務能力,如文件分發傳輸能力、命令實時執行與反饋的能力、大數據採集與傳輸的能力,來實現針對容災架構中涉及的衆多技術和衆多廠商產品的驅動,包括操做系統、數據庫、中間件、存儲設備以及網絡層面。關於藍鯨管控平臺介紹,請參考閱讀 《藍鯨智雲的幕後英雄:管控平臺》。
強大靈活的流程編排
嘉維藍鯨應用災備演練SaaS,是基於藍鯨平臺上開發的,藉助藍鯨平臺標準運維的核心能力--任務流程編排和自動化調度能力,實現各個驅動對象的做業原子及腳本,跨技術的編排總體的切換流程,包括數據庫切換、應用服務測試等。關於藍鯨標準運維介紹,可參考閱讀《看藍鯨標準運維如何編排一切》。
本文主要是從容災級別選擇、容災系統指標、常見容災技術及架構、以及應用災備演練的部分角度,來闡述對企業建設應用容災系統的觀點。固然,對於一整套龐大的災備體系在實際建設過程當中,還有更多的角度分析,如從應對災難分類進行分級建設,從災備系統的安全可擴展及易管理需求設計總體架構,從企業流程管理來設計災備預案,從災備演練目的選擇不一樣演練方法等等。歡迎聯繫咱們進行探討。