什么是雙活數(shù)據(jù)中心?
首先我們要知道雙活就是Active-Active,故名思義就是兩邊都是活動(dòng)在線提供服務(wù)的,是相對(duì)于傳統(tǒng)的主備模式Active-Standby模式的。一個(gè)真正的雙活方案是應(yīng)該涵蓋基礎(chǔ)設(shè)施、中間件、應(yīng)用程序各個(gè)層次的。
雙數(shù)據(jù)中心同時(shí)對(duì)外提供業(yè)務(wù)生產(chǎn)服務(wù)的雙活模式,兩個(gè)數(shù)據(jù)中心是對(duì)等的、不分主從、并可同時(shí)部署業(yè)務(wù),可極大的提高資源的利用率和系統(tǒng)的工作效率、性能,讓客戶從容災(zāi)系統(tǒng)中獲得最大的價(jià)值。
a.兩個(gè)生產(chǎn)中心部署相同的業(yè)務(wù)系統(tǒng),結(jié)合網(wǎng)絡(luò)層、主機(jī)層或應(yīng)用的負(fù)載均衡技術(shù),實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)在兩個(gè)數(shù)據(jù)中心并行工作和負(fù)載分擔(dān)。
b.兩個(gè)生產(chǎn)中心部署不同的業(yè)務(wù)系統(tǒng),互相實(shí)時(shí)災(zāi)備接管。
數(shù)據(jù)中心雙活又分為:同城雙活、異地雙活。
傳統(tǒng)主備模式的缺點(diǎn)
出于災(zāi)備(Disaster Recovery)的目的,一般都會(huì)建設(shè)2個(gè)(或多個(gè))數(shù)據(jù)中心。一個(gè)是主數(shù)據(jù)中心用于承擔(dān)用戶的業(yè)務(wù),一個(gè)是備份數(shù)據(jù)中心用于備份主數(shù)據(jù)中心的數(shù)據(jù)、配置、業(yè)務(wù)等。
主備數(shù)據(jù)中心之間一般有熱備、冷備、雙活三種備份方式。
熱備的情況下,只有主數(shù)據(jù)中心承擔(dān)用戶的業(yè)務(wù),此時(shí)備數(shù)據(jù)中心對(duì)主數(shù)據(jù)中心進(jìn)行實(shí)時(shí)的備份,當(dāng)主數(shù)據(jù)中心掛掉以后,備數(shù)據(jù)中心可以自動(dòng)接管主數(shù)據(jù)中心的業(yè)務(wù),用戶的業(yè)務(wù)不會(huì)中斷,所以也感覺不到數(shù)據(jù)中心的切換。
冷備的情況下,也是只有主數(shù)據(jù)中心承擔(dān)業(yè)務(wù),但是備用數(shù)據(jù)中心不會(huì)對(duì)主數(shù)據(jù)中心進(jìn)行實(shí)時(shí)備份,這時(shí)可能是周期性的進(jìn)行備份或者干脆不進(jìn)行備份,如果主數(shù)據(jù)中心掛掉了,用戶的業(yè)務(wù)就會(huì)中斷。
雙活是覺得備用數(shù)據(jù)中心只做備份太浪費(fèi)了,所以讓主備兩個(gè)數(shù)據(jù)中心都同時(shí)承擔(dān)用戶的業(yè)務(wù),此時(shí),主備兩個(gè)數(shù)據(jù)中心互為備份,并且進(jìn)行實(shí)時(shí)備份。一般來(lái)說(shuō),主數(shù)據(jù)中心的負(fù)載可能會(huì)多一些,比如分擔(dān)6070%的業(yè)務(wù),備數(shù)據(jù)中心只分擔(dān)40%30%的業(yè)務(wù)。
傳統(tǒng)主備模式是一個(gè)業(yè)務(wù)只在一個(gè)數(shù)據(jù)中心運(yùn)行,企業(yè)結(jié)合災(zāi)備等級(jí)需求和業(yè)務(wù)需求,在備份中心部署了大量的備份服務(wù)器,但備份中心僅為該業(yè)務(wù)提供災(zāi)備服務(wù),只有當(dāng)災(zāi)難發(fā)生、生產(chǎn)數(shù)據(jù)中心癱瘓時(shí),災(zāi)備中心的業(yè)務(wù)系統(tǒng)才啟動(dòng)這些服務(wù)器,造成備份中心服務(wù)器資源浪費(fèi),廣域網(wǎng)鏈路也無(wú)法得到充分的利用。
雙活數(shù)據(jù)中心優(yōu)點(diǎn)
充分利用資源,避免了一個(gè)數(shù)據(jù)中心常年處于閑置狀態(tài)而造成浪費(fèi)。通過(guò)資源整合,“雙活”數(shù)據(jù)中心的服務(wù)能力是雙倍的。
雙活數(shù)據(jù)中心如果斷了一個(gè)數(shù)據(jù)中心,另外一個(gè)數(shù)據(jù)中心還在運(yùn)行,對(duì)用戶來(lái)說(shuō)是不可感知的。
而一個(gè)災(zāi)備中心的模式,如果生產(chǎn)數(shù)據(jù)中心癱瘓,需要半個(gè)小時(shí)、甚至兩個(gè)小時(shí)、甚至更長(zhǎng)時(shí)間才能啟動(dòng)災(zāi)備中心,在啟動(dòng)災(zāi)備中心的時(shí)間里,用戶交易會(huì)嚴(yán)重受損。
雙活數(shù)據(jù)中心的最大優(yōu)勢(shì)是有效利用資源。災(zāi)備中心建設(shè)的投資巨大及每年運(yùn)維成本極高,如果資源處于閑置狀態(tài),資源是相當(dāng)浪費(fèi)的,有了虛擬化,能夠把閑置的資源整合,服務(wù)能力會(huì)提高一倍。銀行系統(tǒng)中很多資源都是彈性需求,如基金、貴金屬交易、電子支付、和網(wǎng)銀交易,在交易火爆時(shí)一天交易量可能達(dá)到全年交易量總和。故銀行系統(tǒng)容量規(guī)劃時(shí)是充分考慮到交易峰值的,但這樣在正常時(shí)間就有很大的交易浪費(fèi),以淘寶“雙十一”活動(dòng)為例,交易量在幾分鐘內(nèi)就可能達(dá)到全年交易量的總和,需要系統(tǒng)服務(wù)能力提高十倍,這時(shí)雙活數(shù)據(jù)中心和靈活快速的資源調(diào)度就充分發(fā)揮出了作用。云計(jì)算技術(shù),讓IT系統(tǒng)有了資源整合的能力,讓系統(tǒng)有了充分的彈性,隨時(shí)可以調(diào)度十臺(tái)機(jī)器來(lái)提高服務(wù)能力,來(lái)保證交易的突發(fā)需求,以及各種突發(fā)因素造成的交易量猛增。
有了云計(jì)算技術(shù),不代表投入會(huì)更少,但是資源利用率會(huì)更高,系統(tǒng)但抗沖擊能力會(huì)更強(qiáng),自由調(diào)度能力會(huì)更強(qiáng)。
自動(dòng)化是“雙活”與“云計(jì)算”必不可少的前提條件
云計(jì)算需要自動(dòng)化手段來(lái)幫助系統(tǒng)維護(hù)人員進(jìn)行自動(dòng)的資源調(diào)配。比如,通過(guò)虛擬化技術(shù)虛擬出了上萬(wàn)臺(tái)虛擬機(jī)器,白天需要50臺(tái)機(jī)器給網(wǎng)銀系統(tǒng)提供web服務(wù),晚上網(wǎng)銀交易少了,貴金屬交易多了,這50臺(tái)機(jī)器要調(diào)配到另一個(gè)系統(tǒng)上。這五十臺(tái)不可能一個(gè)人一臺(tái)臺(tái)調(diào)配,那可能配一晚上都配不完,就需要自動(dòng)化的軟件來(lái)自動(dòng)調(diào)整資源分配。
異地“雙活”難度大
當(dāng)然,部署“雙活”數(shù)據(jù)中心的難度也非常大,尤其是異地“雙活”,涉及到數(shù)據(jù)同步效率問(wèn)題。如果數(shù)據(jù)同步效率達(dá)不到要求,在災(zāi)難發(fā)生時(shí)就會(huì)造成一段時(shí)間的交易丟失。在異地“雙活”的模式中,兩地?cái)?shù)據(jù)中心同時(shí)接納交易,技術(shù)難度很大,需要更改眾多底層程序。
雙活數(shù)據(jù)中心的建設(shè)三個(gè)條件
雙活數(shù)據(jù)中心的建設(shè)首先要滿足三個(gè)條件,第一個(gè)是應(yīng)用雙活,也就是說(shuō)數(shù)據(jù)庫(kù)一定要實(shí)現(xiàn)雙活,第二個(gè)是網(wǎng)絡(luò)要雙活,業(yè)務(wù)網(wǎng)絡(luò)要保證能夠同時(shí)聯(lián)通兩個(gè)數(shù)據(jù)中心,第三個(gè)是數(shù)據(jù)要雙活,兩邊的數(shù)據(jù)要能夠?qū)崿F(xiàn)被獨(dú)立使用。
雙活數(shù)據(jù)中心解決方案缺點(diǎn)
雖然雙活容災(zāi)解決方案對(duì)于集中式管理的數(shù)據(jù)中心更大限度的保證了業(yè)務(wù)生產(chǎn)的在線性及有效的防御了災(zāi)難性事件恢復(fù)業(yè)務(wù)生產(chǎn)的能力。但是雙活數(shù)據(jù)中心的容災(zāi)方案還是存在一定的不足之處,理想與現(xiàn)實(shí)總存在一定的距離。
1.腦裂現(xiàn)象
雙活數(shù)據(jù)中心方案實(shí)現(xiàn)了站點(diǎn)級(jí)的冗余的容災(zāi)解決方案,但是受限于當(dāng)前的技術(shù)等因素,在建設(shè)過(guò)程中解決了企業(yè)當(dāng)前面臨的業(yè)務(wù)連續(xù)性問(wèn)題,同時(shí)也產(chǎn)生了新的問(wèn)題,就是雙活解決方案普遍存在的腦裂現(xiàn)象,在意外事件發(fā)生時(shí),若監(jiān)測(cè)技術(shù)不到位、系統(tǒng)平臺(tái)不健康、兩數(shù)據(jù)中網(wǎng)絡(luò)波動(dòng)性中斷等因素的發(fā)生,使得兩個(gè)數(shù)據(jù)中心一體化的業(yè)務(wù)系統(tǒng)會(huì)分裂成兩個(gè)獨(dú)立的數(shù)據(jù)中心。使用戶很難取舍那一個(gè)是唯一的生產(chǎn)數(shù)據(jù),那一個(gè)是將要廢掉的非生產(chǎn)數(shù)據(jù)。這就是早年veritas VVR解決方案退出災(zāi)備舞臺(tái)的原因之一。
2.非“零丟失”,不具備軟錯(cuò)誤的保障
雙活容災(zāi)解決方案的優(yōu)勢(shì)強(qiáng)調(diào)在健康的運(yùn)行平臺(tái)下,大型災(zāi)難事件發(fā)生是的“零”數(shù)據(jù)丟失,但是若雙活平臺(tái)本身不健康或者遭遇邏輯故障時(shí),并不能保障數(shù)據(jù)零丟失。這種故障發(fā)生的數(shù)據(jù)恢復(fù)或漸變式災(zāi)難發(fā)生的情況下,還需借助備份系統(tǒng)的數(shù)據(jù)恢復(fù)手段或方法。因此,雙活容災(zāi)方案大多數(shù)情況下不具備解決軟錯(cuò)誤的保障,而恰恰這種事件發(fā)生的概率遠(yuǎn)遠(yuǎn)超過(guò)站點(diǎn)級(jí)的災(zāi)難及硬件故障事件。在2012年時(shí),某省政府部門的業(yè)務(wù)系統(tǒng)已建設(shè)容災(zāi)系統(tǒng),但是在業(yè)務(wù)系統(tǒng)進(jìn)行升級(jí)時(shí)出錯(cuò),導(dǎo)致業(yè)務(wù)宕機(jī)一周多時(shí)間,而這期間的大部分時(shí)間是查找依據(jù)恢復(fù)數(shù)據(jù)。
3.需容忍高可靠性及性能的下降
雙活容災(zāi)解決方案雖然提升了站點(diǎn)級(jí)的冗余保護(hù),但是,在實(shí)際中確除低了整體業(yè)務(wù)平臺(tái)的可靠性及性能。在可靠性方案,雙活容災(zāi)解決方案就是把本地的雙機(jī)雙柜的硬件冗余方案跨站點(diǎn)建設(shè),無(wú)論是傳統(tǒng)的集群系統(tǒng)、虛擬化主機(jī)平臺(tái)Vmware,還是Oracle RAC等,跨站點(diǎn)建設(shè)都會(huì)無(wú)形中在業(yè)務(wù)平臺(tái)中增添幾分不穩(wěn)定的因素,我想從現(xiàn)在流行的一體機(jī)解決方案更能說(shuō)明這方面的問(wèn)題,即系統(tǒng)越簡(jiǎn)單越穩(wěn)定。在性能方案,站點(diǎn)間的監(jiān)測(cè)、業(yè)務(wù)會(huì)話的同步確認(rèn)等的網(wǎng)絡(luò)延遲數(shù),加上數(shù)據(jù)同步雙寫的光纖延遲,都或多或少的影響了整體業(yè)務(wù)處理的性能。距離越遠(yuǎn)影響越明顯,如果距離較近,也會(huì)失去建設(shè)雙活容災(zāi)數(shù)據(jù)中心的意義。
4.運(yùn)營(yíng)維護(hù)并不簡(jiǎn)單
雙活容災(zāi)解決方案災(zāi)難切換方面變的較為簡(jiǎn)單,但在實(shí)際的維護(hù)方面并不簡(jiǎn)單,除了要求企業(yè)用戶提升自己的維護(hù)能力,還需雙活容災(zāi)解決方案提供商的售后服務(wù)能力。
a.企業(yè)自身人員的維護(hù)能力必須加強(qiáng),才具備能力維護(hù)跨站點(diǎn)的雙活系統(tǒng),也就是需企業(yè)用戶自身人維護(hù)人員必須從維護(hù)設(shè)備的能力轉(zhuǎn)變?yōu)榫邆渚S護(hù)雙活系統(tǒng)架構(gòu)的能力,才能維穩(wěn)系統(tǒng)的正常運(yùn)行,讓雙活系統(tǒng)實(shí)現(xiàn)該有的效果。
b.提供商的服務(wù)能力也直接影響雙活容災(zāi)系統(tǒng)部署后的效果,在已有的案例中,我們經(jīng)??吹教峁┥痰?00電話,除了收集日志還是收集日志,除了正在后臺(tái)診斷還是后臺(tái)診斷,經(jīng)常讓一個(gè)小小問(wèn)題需有好多層、次的溝通才能解決,這樣的方式如何保障雙活容災(zāi)系統(tǒng)的穩(wěn)定?如保達(dá)到用戶對(duì)雙活系統(tǒng)在線性要求的期望?
5.性價(jià)比并不會(huì)太高
我們經(jīng)常會(huì)聽到雙活容災(zāi)方案可以讓生產(chǎn)中心和容災(zāi)中心都“活”起來(lái),有效的利用資源,面臨災(zāi)難性事件時(shí),最大化業(yè)務(wù)系統(tǒng)的在線性,解除原有災(zāi)備系統(tǒng)有災(zāi)無(wú)備等等的不足之處。但是,當(dāng)我們認(rèn)真考慮建設(shè)雙活容災(zāi)系統(tǒng)時(shí)發(fā)現(xiàn),如果自身IT人員的維護(hù)能力不足,很難達(dá)到我們期望的效果。在現(xiàn)實(shí)案例中,很多用戶一次性的費(fèi)用建設(shè)的系統(tǒng),后續(xù)的維保經(jīng)費(fèi)很難申請(qǐng),這種情況很難有效的保障我們的信息系統(tǒng)的健康運(yùn)行。寧夏銀行就是在沒有后續(xù)維保經(jīng)費(fèi)支撐的情況下,硬件出故障,自身IT人員修復(fù)過(guò)程中出現(xiàn)人為錯(cuò)誤而引起的重大事故。因此,建設(shè)雙活容災(zāi)系統(tǒng)的同時(shí),必須要保障后續(xù)的維護(hù)經(jīng)費(fèi)。使得雙活容災(zāi)系統(tǒng)向高大上偏移。
一般國(guó)內(nèi)的IDC,金融業(yè)務(wù)會(huì)考慮兩地三中心,非金融業(yè)務(wù)會(huì)考慮主備IDC或雙活I(lǐng)DC,如果是全球的業(yè)務(wù),一般會(huì)分區(qū)域在全球建立全球IDC,并一個(gè)區(qū)域至少建立2個(gè)節(jié)點(diǎn)做主備或雙活。