視頻(pin)監控系(xi)統中(zhong)的平(ping)臺服務(wu)器(qi)VM 處于核心地位,一旦(dan)平(ping)臺服務(wu)器(qi)不(bu)可訪問(wen),用戶就(jiu)無法(fa)通過(guo)集中(zhong)方式使用所(suo)有的前端監控設(she)備。我們可以(yi)對(dui)平(ping)臺服務(wu)器(qi)采(cai)用雙機(ji)技(ji)術,保障其可靠(kao)性,但是,一旦(dan)平(ping)臺服務(wu)器(qi)所(suo)屬的中(zhong)心機(ji)房出現(xian)災(zai)難(nan)性事件,所(suo)用用戶將(jiang)無法(fa)正常使用視頻(pin)監控系(xi)統。
通常建立容災備份系統時會涉及到主要技術包括:
■遠程鏡像技術
遠程鏡像技術是(shi)(shi)在主數據中心和備援中心之(zhi)間的(de)數據備份時(shi)用到,是(shi)(shi)容災備份的(de)核心技術,同時(shi)也(ye)是(shi)(shi)保持(chi)遠程數據同步和實(shi)現災難恢復的(de)基礎。
■快照技術
遠(yuan)(yuan)(yuan)程(cheng)(cheng)鏡像技(ji)(ji)(ji)術往往同快照(zhao)技(ji)(ji)(ji)術結合起來實現(xian)遠(yuan)(yuan)(yuan)程(cheng)(cheng)備份(fen),即通(tong)過鏡像把數據備份(fen)到遠(yuan)(yuan)(yuan)程(cheng)(cheng)存儲系(xi)(xi)統(tong)中(zhong),再(zai)用快照(zhao)技(ji)(ji)(ji)術把遠(yuan)(yuan)(yuan)程(cheng)(cheng)存儲系(xi)(xi)統(tong)中(zhong)的(de)信息備份(fen)到遠(yuan)(yuan)(yuan)程(cheng)(cheng)的(de)磁(ci)帶庫、光(guang)盤庫中(zhong)。
■互連技術
當災(zai)難發生(sheng)時,由備援(yuan)數(shu)據中(zhong)心替代主(zhu)數(shu)據中(zhong)心保證系統工作的連續性。
■虛擬存儲
在有些(xie)容(rong)災方案產品中,還采取了虛擬存(cun)儲(chu)技術,它將幾個IDE 或SCSI 驅動器等不(bu)同的存(cun)儲(chu)設備串聯為(wei)(wei)一(yi)個存(cun)儲(chu)池。存(cun)儲(chu)集群的整個存(cun)儲(chu)容(rong)量可以分(fen)為(wei)(wei)多個邏輯卷,并作為(wei)(wei)虛擬分(fen)區進(jin)行管理。存(cun)儲(chu)由此成為(wei)(wei)一(yi)種(zhong)功能而(er)非物理屬性,而(er)這正是基于服務(wu)器的存(cun)儲(chu)結構存(cun)在的主要限(xian)制。
而(er)具體到對視頻(pin)監控系統而(er)言,我(wo)們需(xu)要做到對VM核(he)心的(de)數據庫進行實時(shi)遠(yuan)程備份(fen),同(tong)時(shi)遠(yuan)端的(de)備份(fen)節點能替代(dai)故(gu)障站點提供相(xiang)同(tong)的(de)服務(wu),而(er)用戶不需(xu)要做任何改變。也即上面(mian)的(de)遠(yuan)程鏡(jing)像(xiang)技術和互聯技術。
由于(yu)不需要對服(fu)(fu)務(wu)器(qi)進行全盤數據備(bei)(bei)份(fen)(fen),只需要對數據庫進行遠程備(bei)(bei)份(fen)(fen),宇視科技可以(yi)做到(dao)(dao)對N 個站(zhan)點共(gong)享一臺遠端備(bei)(bei)份(fen)(fen)服(fu)(fu)務(wu)器(qi),替用(yong)(yong)戶(hu)節(jie)(jie)省成本。同時,宇視科技使用(yong)(yong)浮(fu)動(dong)IP 對用(yong)(yong)戶(hu)提供VM 服(fu)(fu)務(wu),當提供服(fu)(fu)務(wu)的(de)節(jie)(jie)點出現故障后,相同的(de)浮(fu)動(dong)IP 能漂移到(dao)(dao)備(bei)(bei)份(fen)(fen)節(jie)(jie)點上提供服(fu)(fu)務(wu),用(yong)(yong)戶(hu)仍(reng)然通(tong)過(guo)原有的(de)IP 地(di)址(zhi)訪問視頻監控系統。由于(yu)備(bei)(bei)份(fen)(fen)浮(fu)動(dong)IP 與(yu)主(zhu)節(jie)(jie)點同網段,可以(yi)漂移到(dao)(dao)跨三層的(de)備(bei)(bei)節(jie)(jie)點上提供服(fu)(fu)務(wu)。
宇視科技(ji)通過在VM 上集成(cheng)開源(yuan)組件PACEMAKER、COROSYNC、DRBD,同(tong)時結合網絡設備的(de)(de)(de)特定功能(neng)(neng),實現(xian)上述遠程鏡像和互聯功能(neng)(neng)。DRBD 是一個(ge)用(yong)軟件實現(xian)的(de)(de)(de)、無共享的(de)(de)(de)、服務(wu)器(qi)之間鏡像塊設備內(nei)容的(de)(de)(de)存儲(chu)復制解決(jue)方(fang)案。簡單來說就(jiu)是兩臺機(ji)(ji)(ji)器(qi)分(fen)別(bie)拿出(chu)一部分(fen)空間給DRBD 管理(li),兩臺機(ji)(ji)(ji)器(qi)會被區(qu)分(fen)為主機(ji)(ji)(ji)和備機(ji)(ji)(ji),主機(ji)(ji)(ji)上的(de)(de)(de)修(xiu)改會被DRBD自動(dong)(dong)同(tong)步到備機(ji)(ji)(ji)上的(de)(de)(de)相同(tong)位置(zhi),這(zhe)樣一來,我(wo)們在業(ye)務(wu)中做的(de)(de)(de)修(xiu)改會被自動(dong)(dong)備份到備機(ji)(ji)(ji)上,主機(ji)(ji)(ji)故障時,備機(ji)(ji)(ji)上的(de)(de)(de)數(shu)據也是實時正(zheng)確的(de)(de)(de),能(neng)(neng)提供(gong)正(zheng)常的(de)(de)(de)服務(wu)。DRBD 可以(yi)理(li)解為一個(ge)跨網絡設備的(de)(de)(de)RAID1。備機(ji)(ji)(ji)上提供(gong)N 個(ge)DRBD 分(fen)區(qu)與N 個(ge)主節點的(de)(de)(de)對(dui)應分(fen)區(qu)進行數(shu)據庫的(de)(de)(de)實時鏡像備份。
Corosync:可以實現心跳信(xin)息(xi)傳輸的(de)功能,在傳遞信(xin)息(xi)的(de)時候可以通過一(yi)個簡單的(de)配置(zhi)文件來(lai)定(ding)義(yi)信(xin)息(xi)傳遞的(de)成員,整(zheng)個N+1 服(fu)務器的(de)集群通過Corosync 來(lai)檢測服(fu)務節(jie)點是否在線。
Pacemaker:Pacemaker 是一個集群(qun)(qun)資(zi)(zi)源管理者(zhe)。它用資(zi)(zi)源級別的(de)監測和恢復來保證集群(qun)(qun)服務(wu)的(de)最大可用性(xing)。在Pacemaker“眼中”,DRBD 也(ye)是它的(de)一種(zhong)資(zi)(zi)源,而且是一種(zhong)特殊的(de),有主從之分(fen)的(de)資(zi)(zi)源。VM 服務(wu)如何(he)啟(qi)動、如何(he)停止、檢測狀(zhuang)態都是pacemaker 配置(zhi)的(de)。目前主要用到(dao)的(de)資(zi)(zi)源包括:浮動IP、數據(ju)庫、第(di)三方(fang)IP、文件系統、DRBD。Pacemaker 通過(guo)一系列(lie)規則控制這些資(zi)(zi)源在對應的(de)服務(wu)器上啟(qi)動并提供(gong)服務(wu)。
網(wang)絡(luo)上主(zhu)要(yao)用到與備(bei)機相(xiang)連設(she)備(bei)的(de)(de)(de)利用網(wang)絡(luo)設(she)備(bei)的(de)(de)(de)相(xiang)關特性,網(wang)絡(luo)設(she)備(bei)實時(shi)(shi)檢(jian)測浮動(dong)IP 的(de)(de)(de)連通性,當(dang)發(fa)現(xian)主(zhu)節點(dian)故障,浮動(dong)IP 資源漂移到備(bei)機時(shi)(shi),網(wang)絡(luo)設(she)備(bei)將浮動(dong)IP 的(de)(de)(de)主(zhu)機路(lu)由引入動(dong)態路(lu)由并發(fa)布全網(wang)。
具(ju)體(ti)方案(an)如下(xia),用(yong)戶對任(ren)意(yi)站點(dian)(dian)(dian)的(de)(de)(de)配置(zhi)信息和數據庫(ku)修改通過(guo)DRBD 技術實時同步(bu)到(dao)(dao)遠(yuan)端備(bei)(bei)(bei)份站點(dian)(dian)(dian),當備(bei)(bei)(bei)份軟(ruan)件系統檢(jian)測到(dao)(dao)某(mou)個服(fu)務(wu)(wu)器(qi)節(jie)點(dian)(dian)(dian)異常(chang)斷網(wang)或者進(jin)程異常(chang)后,將對應故障(zhang)主(zhu)(zhu)節(jie)點(dian)(dian)(dian)的(de)(de)(de)浮動(dong)(dong)IP 漂移到(dao)(dao)備(bei)(bei)(bei)用(yong)節(jie)點(dian)(dian)(dian),由跨三層的(de)(de)(de)備(bei)(bei)(bei)用(yong)服(fu)務(wu)(wu)器(qi)接管故障(zhang)服(fu)務(wu)(wu)器(qi)的(de)(de)(de)VM 功能,網(wang)絡設備(bei)(bei)(bei)實時探測到(dao)(dao)浮動(dong)(dong)IP 漂移后,在路(lu)由協(xie)議中引入(ru)浮動(dong)(dong)IP 的(de)(de)(de)主(zhu)(zhu)機路(lu)由,并發布全網(wang),使全網(wang)的(de)(de)(de)用(yong)戶能正常(chang)的(de)(de)(de)訪(fang)問到(dao)(dao)備(bei)(bei)(bei)用(yong)服(fu)務(wu)(wu)器(qi)提供(gong)的(de)(de)(de)服(fu)務(wu)(wu)。當主(zhu)(zhu)機排除故障(zhang),正常(chang)啟動(dong)(dong)后,備(bei)(bei)(bei)份軟(ruan)件能將浮動(dong)(dong)IP 和業務(wu)(wu)功能切(qie)換(huan)回(hui)主(zhu)(zhu)節(jie)點(dian)(dian)(dian),并通過(guo)與備(bei)(bei)(bei)機相連的(de)(de)(de)網(wang)絡設備(bei)(bei)(bei)撤銷此(ci)前(qian)發布的(de)(de)(de)主(zhu)(zhu)機路(lu)由,使全網(wang)的(de)(de)(de)用(yong)戶能正常(chang)的(de)(de)(de)訪(fang)問到(dao)(dao)主(zhu)(zhu)節(jie)點(dian)(dian)(dian)提供(gong)的(de)(de)(de)服(fu)務(wu)(wu)。
主備機進行切換的條件如下:
■當(dang)網(wang)絡正常(chang),但主機(ji)(ji)檢(jian)測到關鍵進程(cheng)出現(xian)Stop的時(shi)(shi)候,主機(ji)(ji)會(hui)先停止運行的服(fu)務,隨后在當(dang)前(qian)節點嘗試重(zhong)啟,重(zhong)啟成功(gong)繼續在當(dang)前(qian)運行,如果重(zhong)啟失敗,會(hui)通知備機(ji)(ji),備機(ji)(ji)上浮動IP 生效,進程(cheng)服(fu)務開啟,此時(shi)(shi)主從機(ji)(ji)完成了(le)變換。
■主備機心跳保(bao)活失(shi)敗(如斷電、宕(dang)機),備機會使(shi)得浮動(dong)IP生(sheng)效(xiao),開啟(qi)進程(cheng)服務,接替主機,心跳保(bao)活由(you)Corosync負責。
由于此方案需要我司平臺服務器與網絡設備的利用網絡設備的相關特性功能配合使用,所以對網絡設備的型號有一定的要求。目前N+1異地容災方案支持的軟件組合包括(各個服務器必須一致):
■VM(含數據庫)+DM(含BM)
■VM(含數據庫)