視頻監控系統中的平臺服務器VM 處于核心地位,一旦平臺服務器不可訪問,用戶就無法通過集中方式使用所有的前端監控設備。我們可以對平臺服務器采用雙機技術,保障其可靠性,但是,一旦平臺服務器所屬的中心機房出現災難性事件,所用用戶將無法正常使用視頻監控系統。

通常建立容災備份系統時會涉及到主要技術包括:
■遠程鏡像技術
遠程鏡像技術是在主數據中心和備援中心之間的數據備份時用到,是容災備份的核心技術,同時也是保持遠程數據同步和實現災難恢復的基礎。
■快照技術
遠程鏡像技術往往同快照技術結合起來實現遠程備份,即通過鏡像把數據備份到遠程存儲系統中,再用快照技術把遠程存儲系統中的信息備份到遠程的磁帶庫、光盤庫中。
■互連技術
當災難發生時,由備援數據中心替代主數據中心保證系統工作的連續性。
■虛擬存儲
在有些容災方案產品中,還采取了虛擬存儲技術,它將幾個IDE 或SCSI 驅動器等不同的存儲設備串聯為一個存儲池。存儲集群的整個存儲容量可以分為多個邏輯卷,并作為虛擬分區進行管理。存儲由此成為一種功能而非物理屬性,而這正是基于服務器的存儲結構存在的主要限制。
而具體到對視頻監控系統而言,我們需要做到對VM核心的數據庫進行實時遠程備份,同時遠端的備份節點能替代故障站點提供相同的服務,而用戶不需要做任何改變。也即上面的遠程鏡像技術和互聯技術。
由于不需要對服務器進行全盤數據備份,只需要對數據庫進行遠程備份,宇視科技可以做到對N 個站點共享一臺遠端備份服務器,替用戶節省成本。同時,宇視科技使用浮動IP 對用戶提供VM 服務,當提供服務的節點出現故障后,相同的浮動IP 能漂移到備份節點上提供服務,用戶仍然通過原有的IP 地址訪問視頻監控系統。由于備份浮動IP 與主節點同網段,可以漂移到跨三層的備節點上提供服務。

宇視科技通過在VM 上集成開源組件PACEMAKER、COROSYNC、DRBD,同時結合網絡設備的特定功能,實現上述遠程鏡像和互聯功能。DRBD 是一個用軟件實現的、無共享的、服務器之間鏡像塊設備內容的存儲復制解決方案。簡單來說就是兩臺機器分別拿出一部分空間給DRBD 管理,兩臺機器會被區分為主機和備機,主機上的修改會被DRBD自動同步到備機上的相同位置,這樣一來,我們在業務中做的修改會被自動備份到備機上,主機故障時,備機上的數據也是實時正確的,能提供正常的服務。DRBD 可以理解為一個跨網絡設備的RAID1。備機上提供N 個DRBD 分區與N 個主節點的對應分區進行數據庫的實時鏡像備份。
Corosync:可以實現心跳信息傳輸的功能,在傳遞信息的時候可以通過一個簡單的配置文件來定義信息傳遞的成員,整個N+1 服務器的集群通過Corosync 來檢測服務節點是否在線。
Pacemaker:Pacemaker 是一個集群資源管理者。它用資源級別的監測和恢復來保證集群服務的最大可用性。在Pacemaker“眼中”,DRBD 也是它的一種資源,而且是一種特殊的,有主從之分的資源。VM 服務如何啟動、如何停止、檢測狀態都是pacemaker 配置的。目前主要用到的資源包括:浮動IP、數據庫、第三方IP、文件系統、DRBD。Pacemaker 通過一系列規則控制這些資源在對應的服務器上啟動并提供服務。

網絡上主要用到與備機相連設備的利用網絡設備的相關特性,網絡設備實時檢測浮動IP 的連通性,當發現主節點故障,浮動IP 資源漂移到備機時,網絡設備將浮動IP 的主機路由引入動態路由并發布全網。
具體方案如下,用戶對任意站點的配置信息和數據庫修改通過DRBD 技術實時同步到遠端備份站點,當備份軟件系統檢測到某個服務器節點異常斷網或者進程異常后,將對應故障主節點的浮動IP 漂移到備用節點,由跨三層的備用服務器接管故障服務器的VM 功能,網絡設備實時探測到浮動IP 漂移后,在路由協議中引入浮動IP 的主機路由,并發布全網,使全網的用戶能正常的訪問到備用服務器提供的服務。當主機排除故障,正常啟動后,備份軟件能將浮動IP 和業務功能切換回主節點,并通過與備機相連的網絡設備撤銷此前發布的主機路由,使全網的用戶能正常的訪問到主節點提供的服務。
主備機進行切換的條件如下:
■當網絡正常,但主機檢測到關鍵進程出現Stop的時候,主機會先停止運行的服務,隨后在當前節點嘗試重啟,重啟成功繼續在當前運行,如果重啟失敗,會通知備機,備機上浮動IP 生效,進程服務開啟,此時主從機完成了變換。
■主備機心跳保活失敗(如斷電、宕機),備機會使得浮動IP生效,開啟進程服務,接替主機,心跳保活由Corosync負責。
由于此方案需要我司平臺服務器與網絡設備的利用網絡設備的相關特性功能配合使用,所以對網絡設備的型號有一定的要求。目前N+1異地容災方案支持的軟件組合包括(各個服務器必須一致):
■VM(含數據庫)+DM(含BM)
■VM(含數據庫)