Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

14.7. 災備培訓和演練

演練的主要目的是,驗證兩個交易系統能夠互備,相互做對方的備份,我們將當前登錄的系統稱為主系統,另一次叫做災備系統(僅僅是觀看的角度)。

另一個目的是,雙活系統能夠自動規避很多小災難,災難沒有擴大前系統已經自動修復了,長此以往系統管理員就會麻木,懶惰,僥倖。當更大的故障發生或雙活不能正常工作時,由於管理員長期不再狀態,就會產生難以預期的後果。

14.7.1. 培訓內容

  1. 災備原理

  2. 災備中心繫統結構(系統部署圖、網絡結構圖)

  3. 災備系統運營維護

  4. 公司操作流程

  5. 切換操作流程

  6. 數據檢查與驗證

14.7.1.1. 培訓對象

公司災備應急小組所有成員

其他感興趣員工

14.7.1.2. 操作流程

公司操作流程

  1. 報告災難發生並申請災備切換
  2. 確認災難發生並同意災備切換(主交易中心無法進行正常交易)
  3. 獲取授權
  4. 做切換前準備
  5. 切換到災備系統
  6. 切換後檢查
  7. 切換後報告
  8. 發佈消息(通知營業部、客戶)
  9. 進行正常交易

14.7.2. 演練環境設置

業務準備

  1. 確定演練時間

  2. 通知參與演練的客戶

  3. 通知參與演練的業務部門

技術準備

  1. 做好演練前的數據備份

  2. 檢查災備各應用服務狀態

參與部門

  1. 開發部門

  2. 測試部門

  3. 業務部門

模擬災難: 在演練開始時間,關閉主交易中心的所有的應用,模擬災難發生。此時,公司應完全按照“公司操作流程”和“災備系統切換流程”來切換災備系統。

演練過程: 見“切換操作”和“公司操作流程”

14.7.3. 演練級別與方式

演練級別定義

  1. 接入線路故障
  2. 網絡設備故障
  3. 伺服器故障
  4. 資料庫故障

演練的方式有兩種

演練方式

  1. 有計劃的演練,通知各部門,災備應急小組人員各就位,然後開始演練
  2. 突擊演練,在沒有通知其他部門的情況下,臨時啟動演練,搶修主交易系統。

第一種方式適合災備演練初期,因為各部門都有準備,是在良好的環境下進行,大家都坐在電腦前,看著嚴控數據,有條不紊按部就班。

但故障是隨時都能出現的,是無法預知的。所以我們還需要實行“突擊演練”。“突擊演練”最近接真是故障發生的場景,可能大家會手忙腳亂,打破之前的各種流程。你會接到各部門領導的電話,可能你當時還在睡覺或外出路上,你沒有地方上網,你的腦子一片空白,這才是真實場景。

14.7.4. 開始演練

14.7.4.1. 切換前操作

切換前操作

  1. 確認資料庫已經備份無誤
  2. 檢查監控系統是否正工作,短信網關是否正常工作

主要的工作室數據備份,其他工作可能作為演練的一部們,工作流程等各種問題在演練中暴漏出來,才能對後面的工作改進有所幫助。

14.7.4.2. 切換操作

雙活互備切換操作,要進行兩次,第一次將A機房視為主機房,從A向災備機房B切換。完成後檢查無誤,再反向操作一次。

切換要模擬各種故障,通常採用的手段就是拔網綫,關閉伺服器,關閉應用,使其每條災備鏈路都能跑通。

數據中心故障

  1. 模擬機房停電,將另一側災備機房關機

  2. 接入鏈路故障

  3. 防火牆設備故障

  4. 交換機故障設備故障

伺服器故障

  1. 網站故障
  2. 數據源故障
  3. 交易伺服器故障
  4. 資料庫故障

切換過程中,每一次動作,都應該收到來自監控系統的報警並精確描述的故障。這也是完善監控系統絶佳機會。

14.7.4.3. 切換後檢查

由於數據實時採集同步存在延時以及線路中斷可能,導致同步時存在數據丟失,故災備系統中的數據與主交易系統的數據可能存在不一致,故客戶端連上災備系統後,需要重新登錄,獲取災備系統中的數據進行確認,在確認正確後,即可重新進行交易。

檢查項目

  1. 網站訪問壓力是否正常
  2. 交易系統的壓力是否正常
  3. 數據同步是否正常
  4. 數據源是否正常

測試部門介入項目

  1. 開戶,入金,出金
  2. 行情數據
  3. 各種交易情況驗證
  4. 交易記錄
  5. 各種報表
  6. 多方面的數據核對

14.7.5. 演練結果檢查

應用系統服務狀態檢查

  1. 主庫備庫數據是否一致

  2. 介面能否正常工作

  3. 網上交易能否正常進行

  4. 交易壓力是否正常

公司需要進行多方面的數據核對,包括

  1. 委託單是否一致, 委託回報是否完整

  2. 成交回報是否完整, 交易記錄是否完整

  3. 行情數據是否正確

  4. 客戶資金是否正常

14.7.6. 可能存在的風險

當主交易系統切換到災備系統後,必然會有一些影響業務的情況會發生,公司需要事先有所準備,並制定相關應急預案。

14.7.6.1. 主交易系統短期無法恢復

由於發生重大事件,可能造成災害發生時切換到災備中心的交易系統無法切換回主交易系統。導致交易需要長時間在災備中心運行,對災備中心形成壓力。對於此情況,公司應該制定詳細的預案,保證災備中心能承擔起正常交易壓力,使用戶交易正常進行。 當確認災備中心無法在短時間切換回主交易中心時,公司應立即啟動預案,並和服務部門聯繫,請求技術支持。通過增加伺服器、增加訪問頻寬、交易數據備份等方式,使災備中心轉換為主交易系統,長期承擔主交易系統交易工作。

14.7.6.2. 切換災備系統後業務的影響

當主交易系統需要切換到災備系統時,為避免一部分人仍然連接到主交易系統,一部分人連接到災備系統,切換前必須關閉主交易系統的應用伺服器或者段外網絡。

在切換以後,有部分業務將受影響,以下為部分情況:

  1. 各類終端需要重新登錄,如果有業務流水沒有同步到災備系統,則會丟失部分業務數據。
  2. 客戶的尚未觸發的條件單不再有效也不會再觸發,這個必須和客戶聲明,避免引起糾紛;
  3. 第三方交易系統在災備切換後,也需要進行切換,否則會無法使用。

14.7.6.3. 數據不同步產生的影響

由於數據同步時,存在延時,故有可能災備系統和主系統之間線路中斷後,有部分已經發生的業務沒有同步到災備系統中,部分業務也會受些影響, 故客戶端切換到災備系統中時需要重新登錄系統,以便重新查詢資料庫中的數據進行核對。

相關影響如下:

  1. 雙活互備相互切換,導致兩套數據中的數據不一致,系統管理員可以重新同步資料庫;
  2. 主交易系統中已經生成但沒有發往交易所的委託單沒有同步,此時災備系統中將沒有這筆記錄,且資金是不凍結的;
  3. 主交易系統中已經發往交易所的委託單沒有同步,此時災備系統中將沒有這筆記錄,且資金是不凍結的,需要補發此筆委託的委託回報;

14.7.7. 災備系統備份

當災備中心承擔交易時,災備系統中的所有交易數據將進行備份,供事後的查詢和備案。公司可以採用熱備系統,備份災備中心的交易數據。並做好災備中心數據及時轉移到安全位置。確保災備中心數據不會丟失。

14.7.8. 系統運營維護

應用系統服務狀態檢查

  1. 每日實時監控
  2. 每日無人值守備份檔案傳輸到備機上
  3. 保證交易系統升級版本相同
  4. 每月做一次災備切換預演,確保備份系統能正常工作
  5. 嚴重災難記錄