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

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

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

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