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