上一篇博客整理了關於災難恢復的些許知識,這篇博客,主要內容是和災難恢復息息相關的知識:容災測試。
一、容災的定義
1、定義
當各種災難發生時,在保證生產系統的數據盡量少丟失的情況下,保持生產系統的業務不間斷的運行。任何針對可能發生的災難,提高系統可靠性和可用性的措施都可以稱為容災。
2、目的
在災難發生時,減少數據丟失和計划外的宕機時間,保證業務平台可以連續性的正常運行。
3、容災類型
①、硬件容災
比如自然災害、設備故障、人為破壞三種典型的災難中任何一種災難發生時,保證生產系統的數據盡可能的少丟失的情況下,保證生產系統的主業務不間斷運行。
關注點:自然災害、設備故障、人為破壞、意外斷電等情況,大多數都是可以進行模擬測試。
②、數據容災
指的是建立一個異地的數據備份和恢復系統,該系統是關鍵應用數據的一個實時復制和備份恢復中心。這也是幾種類型中最重要的一種容災措施。
③、應用容災
在數據容災的基礎上,異地建立一套完整的與本地生產系統相同的備份應用系統,可以是互為備份。在在災難發生的情況下,遠程系統迅速接管並保證平台業務正常運行。
4、容災建設示意圖
二、容災的區別
1、容災與備份
一般而言,容災指的是在不同機房的數據或者應用系統備份,備份指的是本地數據或者系統備份。
通常說的災備是將容災與備份結合起來描述,即本地結合遠程數據復制,實現完善的數據保護。示意圖如下,僅供參考:
2、容災與容錯
容錯測試:主要檢查系統或平台的容錯能力, 檢查軟件在異常情況下是否具有自動恢復性的措施或者某種災難性恢復手段,主要是自我恢復能力。
區別:容災必須通過系統亢余、災難檢測和系統遷移等技術來實現。
3、容災與災難恢復
容災:災難發生時,保證生產系統的數據盡量少丟失的情況下,保持生產系統業務不間斷的運行。
災難恢復:災難發生后,將系統恢復到正常運行的能力。
三、容災的細節
1、容災項目的特性
①、需求無法提前計划,所有容災的設計都是在持續優化和測試過程中不斷發現新的需求;
②、容災測試點相互交錯復雜,並行測試難度高,測試效率低;
③、項目測試環境依賴較多,復雜度高;
④、項目研發涉及到的業務場景覆蓋廣,涉及人員多,測試數據准備工作量大;
⑤、測試難度較其他普通業務項目要求高,需要同步根據日志定位所有的測試場景出現原因。
2、容災測試遵循的標准
①、模擬極端錯誤發生,測試業務恢復功能和業務持續性流程;
②、發現平台潛在的隱患,確保出線突發情況時平台能夠正常運行;
③、在極端流量沖擊下,犧牲一小部分非主要業務功能或者一小部分用戶體驗,保障整體系統的穩定以及主要功能的正常運行(分流、服務降級);
④、進行測試時,需要同步分析日志(確認當前展示的結果是否是因為容災測試用例生效而出現的)。
3、容災測試的要點
①、核心原則:基於業務影響分析,全面提高IT系統的抗風險能力;
②、關注兩個重要指標:RTO(恢復時間)和RPO(數據丟失量);
③、做好三件事:數據傳輸、業務切換、容災演練和監控;
④、實現操作系統、文件、數據庫、應用四項恢復。
PS:以上內容都是基於自己看過的資料整理的內容,更詳細的資料和實踐請自行查找相關資料。