數(shù)據(jù)容災(zāi)
數(shù)據(jù)備份系統(tǒng)只能保證實(shí)際上被安全復(fù)制了一份,如果生產(chǎn)系統(tǒng)故障懂版,必須將備份數(shù)據(jù)盡快的恢復(fù)到生產(chǎn)系統(tǒng)中繼續(xù)生產(chǎn)鹃栽,就叫
容災(zāi)
。
容災(zāi)可以分為四個(gè)級(jí)別:
數(shù)據(jù)級(jí)容災(zāi):只是將生產(chǎn)站點(diǎn)的數(shù)據(jù)同步到遠(yuǎn)端躯畴。
與應(yīng)用結(jié)合的數(shù)據(jù)級(jí)容災(zāi):保證對(duì)應(yīng)應(yīng)用數(shù)據(jù)一致性民鼓。
應(yīng)用級(jí)容災(zāi):需要保證災(zāi)難發(fā)生以后,需要保證原生成系統(tǒng)中的應(yīng)用系統(tǒng)在災(zāi)備站點(diǎn)可用私股。
業(yè)務(wù)級(jí)容災(zāi):除了保證數(shù)據(jù)摹察、應(yīng)用系統(tǒng)在災(zāi)備站點(diǎn)可用,還要保證整個(gè)企業(yè)的業(yè)務(wù)系統(tǒng)仍對(duì)外可用倡鲸,是最終層次的容災(zāi)供嚎。
概述
如果要充分保證數(shù)據(jù)的安全,只是在本地做備份是不夠的峭状,所以需要在遠(yuǎn)程建另一個(gè)系統(tǒng)克滴,并包含當(dāng)前生產(chǎn)系統(tǒng)的全部數(shù)據(jù),這個(gè)系統(tǒng)須
要保證主生產(chǎn)系統(tǒng)的數(shù)據(jù)實(shí)時(shí)的傳輸?shù)竭h(yuǎn)程備份系統(tǒng)上优床。
主故障后劝赔,必須將應(yīng)用程序切換到遠(yuǎn)程備份系統(tǒng)上。
那么備份和容災(zāi)有什么區(qū)別呢胆敞?生產(chǎn)系統(tǒng)就好比手機(jī)着帽,備份就是把手機(jī)上的數(shù)據(jù)備份到電腦上,但是如果這個(gè)手機(jī)壞了呢移层?要恢復(fù)數(shù)據(jù)需要大量的時(shí)間仍翰。
那么容災(zāi)
就是我們有兩部手機(jī),而且他們的數(shù)據(jù)是使用云實(shí)時(shí)同步的观话,所以可以無(wú)縫切換予借。
如果我們預(yù)算充足,可以使用一直兩臺(tái)手機(jī),那還需要備份嗎灵迫?當(dāng)然需要秦叛,比如某個(gè)時(shí)刻,我們把手機(jī)里面的某個(gè)聯(lián)系人給誤刪了瀑粥,因?yàn)槿轂?zāi)的手機(jī)是實(shí)時(shí)同步的挣跋,很難說(shuō)能通過(guò)另一部手機(jī)找回來(lái)。但是如果之前有備份過(guò)數(shù)據(jù)利凑,完全可以通過(guò)之前的備份進(jìn)行恢復(fù)浆劲。
下面繼續(xù)談容災(zāi)
。對(duì)于一個(gè)企業(yè)IT生產(chǎn)系統(tǒng)哀澈,主要有4個(gè)組件:
生產(chǎn)資料:原始數(shù)據(jù)
生產(chǎn)工具:服務(wù)器等基礎(chǔ)架構(gòu)
生產(chǎn)者:業(yè)務(wù)應(yīng)用程序
產(chǎn)品:對(duì)外提供的服務(wù)信息
下面將對(duì)這四大組件的容災(zāi)進(jìn)行講解
生產(chǎn)資料容災(zāi)
生產(chǎn)資源容災(zāi)指的就是對(duì)原始數(shù)據(jù)進(jìn)行容災(zāi)牌借。這最重要的,因?yàn)闆](méi)有生產(chǎn)資料一切等于從頭再來(lái)割按。
要設(shè)計(jì)這樣一套生產(chǎn)資料容災(zāi)膨报,需要注意的是
-
要把變化的實(shí)時(shí)同步到備用系統(tǒng),方法是
將某時(shí)刻的數(shù)據(jù)傳送到備用系統(tǒng)
將此時(shí)候后變化數(shù)據(jù)同步到備用系統(tǒng)
這樣就做了一次同步了适荣,之后只需要在數(shù)據(jù)變化以后才把變化的數(shù)據(jù)傳送到備用系統(tǒng)现柠。
數(shù)據(jù)必須至少保留額外一份。在容災(zāi)的同時(shí)還需要數(shù)據(jù)備份(避免誤刪等邏輯錯(cuò)誤)
如下為相應(yīng)的拓?fù)洌?/p>
主備站點(diǎn)都有相同的生產(chǎn)工具弛矛,使用網(wǎng)絡(luò)相連够吩。可以通過(guò)兩種方式來(lái)進(jìn)行同步:
通過(guò)前端網(wǎng)絡(luò)進(jìn)行同步
通過(guò)后端SAN網(wǎng)絡(luò)進(jìn)行同步丈氓。
通過(guò)前端網(wǎng)絡(luò)同步
通過(guò)路由器連接到專線或者Internet
變化的數(shù)據(jù)通過(guò)路由器傳送到備站點(diǎn)的路由器上周循。
通過(guò)交換機(jī)傳到備服務(wù)器上,寫(xiě)入磁盤(pán)陣列
那么到底選擇專線還是Internet呢万俗?專線可以保證數(shù)據(jù)同步的實(shí)時(shí)性湾笛,但是不適合大數(shù)量的傳輸。如果實(shí)時(shí)性要求不高闰歪,而且數(shù)據(jù)量大的時(shí)候嚎研,可以將主備站點(diǎn)接入100Mbps的Internet。
可以看出這種方式經(jīng)過(guò)了前端網(wǎng)絡(luò)库倘,所以必須在每臺(tái)需要備份的服務(wù)器上安裝軟件進(jìn)行同步临扮,這種軟件可以監(jiān)視目錄中的數(shù)據(jù)變化,然后與遠(yuǎn)端的軟件進(jìn)行通信教翩,寫(xiě)入相同的文件目錄中公条。
這種方式的同步一般都是文件級(jí)的同步,對(duì)底層卷的數(shù)據(jù)塊變化不做同步迂曲。
案例:DB2數(shù)據(jù)的HADR組件容災(zāi)
DB2數(shù)據(jù)庫(kù)利用主備上的數(shù)據(jù)庫(kù)軟件模塊(HADR)來(lái)實(shí)現(xiàn)兩端的數(shù)據(jù)同步。而且同步的是不卷上的原始數(shù)據(jù)寥袭,而是對(duì)數(shù)據(jù)操作的描述路捧,也就是日志关霸。這樣的好處是,不需要傳輸數(shù)據(jù)杰扫,備份機(jī)收到日志以后队寇,在備機(jī)的磁盤(pán)上重做操作即可。
HADR:High Availability Disaster Recovery
章姓,是數(shù)據(jù)庫(kù)級(jí)別的高可用性數(shù)據(jù)復(fù)制機(jī)制佳遣。需要兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器:primary , standby
當(dāng)
主數(shù)據(jù)庫(kù)
發(fā)生事務(wù)性操作,將日志通過(guò)TCP/IP傳送到備數(shù)據(jù)庫(kù)
凡伊,然后備機(jī)對(duì)日志文件進(jìn)行重放Replay零渐,從而保持?jǐn)?shù)據(jù)的一致性。當(dāng)
主數(shù)據(jù)庫(kù)
故障系忙,備機(jī)可以接管主數(shù)據(jù)庫(kù)诵盼,而客戶端應(yīng)用程序的數(shù)據(jù)庫(kù)連接可以通過(guò)自動(dòng)客戶端重新路由(Automatic Client Reroute)轉(zhuǎn)移到新的主服務(wù)器。當(dāng)原來(lái)的主數(shù)據(jù)庫(kù)服務(wù)器修復(fù)了银还,作為新的備用數(shù)據(jù)庫(kù)加入HADR风宁。
需要注意的是處于備用角色的數(shù)據(jù)庫(kù)不能被訪問(wèn)。
通過(guò)后端網(wǎng)絡(luò)實(shí)現(xiàn)同步
通過(guò)后端網(wǎng)絡(luò)進(jìn)行同步蛹疯,數(shù)據(jù)不會(huì)流經(jīng)前端網(wǎng)絡(luò)戒财,而全部通過(guò)后端網(wǎng)絡(luò)傳輸?shù)絺浞莸拇鎯?chǔ)上。所以需要將主站點(diǎn)和備站點(diǎn)的后端網(wǎng)絡(luò)設(shè)施連接起來(lái)捺弦。要么直接拉光纖饮寞,要么用專線。
如果用專線的話羹呵,需要增加額外的協(xié)議轉(zhuǎn)換設(shè)備骂际,現(xiàn)在電信部門(mén)的光纖專線一般為SDH傳輸方式,接入到用戶端的時(shí)候冈欢,一般將信號(hào)調(diào)制成E1歉铝、OC3等編碼方式。
上圖中凑耻,F(xiàn)C協(xié)議太示,經(jīng)過(guò)FCIP網(wǎng)關(guān),變成基于以太網(wǎng)的IP協(xié)議香浩,(FC over IP over ETH)类缤。經(jīng)過(guò)E1/以太網(wǎng)轉(zhuǎn)換器,承載到了E1協(xié)議上邻吭,然后多路E1信號(hào)匯聚到光端機(jī)餐弱,通過(guò)一條或者多條光纖,傳輸給電信部門(mén)的SDH交換設(shè)施進(jìn)行傳輸。
這樣我們就將主站點(diǎn)和備站點(diǎn)的后端網(wǎng)絡(luò)打通了膏蚓,此時(shí)主服務(wù)器就可以訪問(wèn)到備份的磁盤(pán)陣列瓢谢,也就是說(shuō)主站點(diǎn)的服務(wù)器可以同時(shí)操作本地磁盤(pán)和備站點(diǎn)的磁盤(pán)陣列了。
我們來(lái)看一下這種方式的路徑:
本地磁盤(pán)+SAN交換——本地服務(wù)器內(nèi)存——SAN網(wǎng)絡(luò)交換——電信部門(mén)網(wǎng)絡(luò)——遠(yuǎn)端SAN網(wǎng)絡(luò)交換——遠(yuǎn)端磁盤(pán)陣列
數(shù)據(jù)到了遠(yuǎn)端SAN不需要再經(jīng)過(guò)服務(wù)器驮瞧,因?yàn)橛辛藢?duì)方存儲(chǔ)設(shè)備的直接訪問(wèn)權(quán)氓扛。但是整個(gè)過(guò)程中,仍然至少需要一臺(tái)服務(wù)器论笔,服務(wù)器上需要安裝一個(gè)軟件采郎,可以將數(shù)據(jù)從本地卷A提取出來(lái),然后直接通過(guò)SAN網(wǎng)絡(luò)寫(xiě)到位于備份站點(diǎn)的卷B上狂魔。
但是試想一下蒜埋,如果數(shù)據(jù)直接在內(nèi)存中生成的,那么同時(shí)在A和B上各寫(xiě)一份毅臊,速度豈不是更快理茎,這種方式又叫“卷鏡像
”,因?yàn)榭梢詴r(shí)時(shí)刻刻保持兩個(gè)卷完全相同管嬉,它能保證數(shù)據(jù)同步的實(shí)時(shí)性皂林,但是不適合大規(guī)模遠(yuǎn)距離的數(shù)據(jù)同步。
同時(shí)還需要注意的是蚯撩,卷鏡像的的同步軟件工作在卷這一層础倍,可以感知數(shù)據(jù)塊的變化,而不是文件的變化胎挎。缺點(diǎn)在于對(duì)網(wǎng)絡(luò)速度要求更高沟启,所以成本也更高。
通過(guò)數(shù)據(jù)存儲(chǔ)設(shè)備實(shí)現(xiàn)同步
之前講的通過(guò)前端網(wǎng)絡(luò)和通過(guò)后端網(wǎng)絡(luò)的方式犹菇,都使用了一個(gè)泵
來(lái)提供動(dòng)力德迹。而如果將數(shù)據(jù)同步軟件安裝在存儲(chǔ)設(shè)備上,豈不是更省事揭芍。而且這樣徹底解放了服務(wù)器胳搞,所有工作都由磁盤(pán)陣列完成。
這種方式的同步称杨,不會(huì)識(shí)別卷上的文件系統(tǒng)肌毅,所以同步的是塊。而且要求主和備的存儲(chǔ)設(shè)備型號(hào)一致姑原。因?yàn)椴煌瑥S家的產(chǎn)品無(wú)法實(shí)現(xiàn)直接同步悬而。
這種方法的缺點(diǎn)是不能保證數(shù)據(jù)對(duì)應(yīng)用程序的可用性。
因?yàn)榇鎯?chǔ)設(shè)備與應(yīng)用程序之間還有操作系統(tǒng)這一層锭汛,操作系統(tǒng)也有自己的緩存機(jī)制笨奠,所有有可能造成數(shù)據(jù)的不一致性袭蝗。
總結(jié):
使用前端網(wǎng)絡(luò)進(jìn)行同步,路徑最長(zhǎng)艰躺,但是成本也最低呻袭。
使用后端網(wǎng)絡(luò)進(jìn)行同步,實(shí)時(shí)性強(qiáng)腺兴,但是對(duì)后端鏈路要求也高。不適合于數(shù)據(jù)量多的時(shí)候廉侧。
使用存儲(chǔ)設(shè)備直接進(jìn)行同步页响,路徑最短,不占用服務(wù)器段誊。但是仍然不適合于遠(yuǎn)距離低速鏈路環(huán)境闰蚕。而且還不能數(shù)據(jù)對(duì)應(yīng)用程序的可用性。
容災(zāi)中數(shù)據(jù)的同步復(fù)制和異步復(fù)制
同步復(fù)制
下圖是基于存儲(chǔ)設(shè)備的自主同步環(huán)境连舍。
主向磁盤(pán)發(fā)出IO請(qǐng)求没陡,向某LBA寫(xiě)入數(shù)據(jù),待寫(xiě)數(shù)據(jù)入緩存索赏,此時(shí)控制器不會(huì)給主的HBA驅(qū)動(dòng)程序發(fā)送成功
主磁盤(pán)陣列將變化的數(shù)據(jù)從緩存中寫(xiě)入LUN A盼玄,此時(shí)主的數(shù)據(jù)同步引擎感知,將變化的數(shù)據(jù)塊從緩存中通過(guò)SAN交換機(jī)發(fā)送到備的緩存中潜腻。
備磁盤(pán)陣列運(yùn)行的同步引擎接收到數(shù)據(jù)后埃儿,在FC協(xié)議隱式的發(fā)一個(gè)ACK或者通過(guò)上層顯試的發(fā)給主站點(diǎn)
-
主收到應(yīng)答,向服務(wù)器發(fā)一個(gè)FC協(xié)議的隱式ACK融涣。服務(wù)器上的FC HBA驅(qū)動(dòng)程序探測(cè)成功童番。
若備站點(diǎn)遲遲未收到數(shù)據(jù),則不會(huì)返回成功威鹿,應(yīng)用程序會(huì)等待剃斧。如果此時(shí)應(yīng)用程序使用的是同步IO,則相關(guān)進(jìn)程會(huì)掛起忽你,稱為
IO等待幼东。
所以同步復(fù)制的特點(diǎn)是主站點(diǎn)必須等待備份站點(diǎn)的成功信號(hào),保持嚴(yán)格的同步檀夹,一榮俱榮筋粗,一損俱損。
異步復(fù)制
相對(duì)于同步復(fù)制炸渡,兩邊的步調(diào)不需要一致娜亿,要保證重要的事情先做完,所以會(huì)存在一定的數(shù)據(jù)不一致蚌堵。
-
主向磁盤(pán)發(fā)出IO請(qǐng)求买决,待寫(xiě)數(shù)據(jù)進(jìn)入控制器緩存沛婴,如果此時(shí)
主控制器設(shè)置為Write Back模式:則立刻返回應(yīng)答。
主控制器設(shè)置為Write Through模式督赤,則先寫(xiě)入LUN A以后嘁灯,再返回ACK。
主站點(diǎn)將數(shù)據(jù)通過(guò)SAN網(wǎng)絡(luò)發(fā)送到備站點(diǎn)的緩存躲舌。
備站點(diǎn)磁盤(pán)成功接收丑婿,則返回成功。
生產(chǎn)者容災(zāi)——應(yīng)用程序容災(zāi)
之前講的都是生產(chǎn)資料的容災(zāi)没卸,也就是整個(gè)系統(tǒng)最重要的數(shù)據(jù)的容災(zāi)羹奉。而對(duì)于生產(chǎn)者,無(wú)疑就是服務(wù)器上的應(yīng)用程序约计,如果主發(fā)生故障诀拭,需要在備站點(diǎn)重新運(yùn)行這些應(yīng)用程序。最直觀的想法是煤蚌,在備站點(diǎn)預(yù)備應(yīng)用程序的安裝文件耕挨,一定主出現(xiàn)故障,在備上配置這些應(yīng)用程序尉桩,但是實(shí)際上應(yīng)用程序安裝和配置需要大量的時(shí)間筒占。所以可以將備份站點(diǎn)預(yù)裝應(yīng)用程序,但是不工作魄健,這樣就可保證同一時(shí)刻整個(gè)IT系統(tǒng)只有一個(gè)站點(diǎn)的生產(chǎn)者處理一份數(shù)據(jù)
既要求處理同一份數(shù)據(jù)赋铝,又要求發(fā)生事故的時(shí)候,備份站點(diǎn)的生產(chǎn)者立即啟動(dòng)沽瘦,要做到這點(diǎn)革骨,需要讓備份站點(diǎn)的應(yīng)用程序感知到主站點(diǎn)的應(yīng)用程序狀態(tài),一旦發(fā)現(xiàn)故障析恋,立即啟動(dòng)開(kāi)始生產(chǎn)良哲。
在之前的章節(jié)中,我們說(shuō)到了高可用群集助隧,在容災(zāi)系統(tǒng)領(lǐng)域筑凫,群集的范圍擴(kuò)大到了異地,主備可能相隔很遠(yuǎn)并村,交換運(yùn)行狀態(tài)的數(shù)據(jù)量很小巍实,最好使用專線,這樣可以很好的保證QoS哩牍。
傳統(tǒng)的HA軟件是使用共享存儲(chǔ)的方式來(lái)作用的棚潦,即在HA系統(tǒng)中,共享一份物理存儲(chǔ)膝昆,不管誰(shuí)來(lái)操作這份數(shù)據(jù)丸边,最終只有一份叠必,而且是一致,有上下文邏輯關(guān)系的妹窖。
所以HA軟件是基于資源切換的纬朝,把組件看作是資源,比如應(yīng)用骄呼、IP地址共苛、存儲(chǔ)卷等。
當(dāng)故障時(shí)谒麦,
備份機(jī)HA軟件會(huì)檢測(cè)到對(duì)方的故障俄讹,
然后強(qiáng)行將資源遷移到本地,比如在備份機(jī)上修改網(wǎng)卡的IP地址绕德,并發(fā)出ARP廣播來(lái)刷新所有廣播域的客戶端以及網(wǎng)關(guān)的ARP記錄
掛載共享存儲(chǔ)設(shè)備上的卷,
最后啟動(dòng)備份應(yīng)用系統(tǒng)摊阀。
這樣應(yīng)用系統(tǒng)可以訪問(wèn)共享卷耻蛇,客戶端也可以使用原來(lái)的IP地址來(lái)訪問(wèn)服務(wù)器,這樣生產(chǎn)就可以繼續(xù)下去胞此。
但是在異地容災(zāi)系統(tǒng)中臣咖,主備站點(diǎn)各有一份數(shù)據(jù),所以必須保證數(shù)據(jù)的同步漱牵。這也是為什么兩個(gè)站點(diǎn)同時(shí)只有一個(gè)在工作夺蛇,這樣的話才能以一邊數(shù)據(jù)為準(zhǔn),另一邊與之同步酣胀。
本地容災(zāi)
本地HA系統(tǒng)中刁赦,多個(gè)節(jié)點(diǎn)如果共同擁有同一個(gè)卷,但是同一時(shí)刻只有一個(gè)節(jié)點(diǎn)能掛載它闻镶,這種模式叫共享存儲(chǔ)模式
與之對(duì)應(yīng)的是Share-Nothing模式甚脉,每個(gè)節(jié)點(diǎn)都有自己獨(dú)占的存儲(chǔ)卷,怎么進(jìn)行數(shù)據(jù)共享呢铆农?可以通過(guò)同步復(fù)制技術(shù)同步到所有節(jié)點(diǎn)上牺氨。若某節(jié)點(diǎn)發(fā)生故障,這個(gè)節(jié)點(diǎn)對(duì)應(yīng)的備份節(jié)點(diǎn)啟動(dòng)應(yīng)用程序墩剖。因?yàn)橹暗臄?shù)據(jù)已經(jīng)同步過(guò)了猴凹,所以數(shù)據(jù)一定是一致的。
在Share-Nothing模式下岭皂,不存在任何的接管問(wèn)題郊霎,所以客戶端需要感知服務(wù)端群集這種切換動(dòng)作,通過(guò)客戶端進(jìn)行配置的切換即可蒲障。
可以對(duì)共享存儲(chǔ)和Share-Nothing兩種存儲(chǔ)模式進(jìn)行對(duì)比歹篓。
共享存儲(chǔ) | Share-Nothing | |
---|---|---|
數(shù)據(jù)本身是否容災(zāi) | × | √ |
軟硬件成本 | 高 | 低 |
前端網(wǎng)絡(luò)資源消耗 | 低 | 高 |
管理難度 | 高 | 低 |
維護(hù)數(shù)據(jù)是否需要停機(jī) | √ | × |
實(shí)現(xiàn)的復(fù)雜度 | 高 | 低 |
是否需要第三方軟件 | √ | × |
故障因素?cái)?shù)量 | 3個(gè) | 2個(gè) |
-
數(shù)據(jù)本身是否容災(zāi)
共享存儲(chǔ):數(shù)據(jù)損壞瘫证,必須使用鏡像進(jìn)行還原。而且要停機(jī)庄撮。
Share-Nothing:每個(gè)節(jié)點(diǎn)都有自己的數(shù)據(jù)拷貝背捌,若損壞,可切換到另外的節(jié)點(diǎn)洞斯,不影響應(yīng)用毡庆,不停機(jī)。修復(fù)后的節(jié)點(diǎn)可以重新加入容災(zāi)系統(tǒng)烙如。
-
軟硬成本
共享:需要外接磁盤(pán)陣列么抗,為了保證數(shù)據(jù)訪問(wèn)速度,必須自身實(shí)現(xiàn)RAID亚铁,主機(jī)也需要安裝適配器蝇刀。成本高。需要HA軟件
Share-Nothing:各個(gè)節(jié)點(diǎn)各自保存數(shù)據(jù)徘溢,不需要外接存儲(chǔ)系統(tǒng)吞琐,不需要額外的HA軟件
-
前端網(wǎng)絡(luò)耗費(fèi)
共享存儲(chǔ):前端只需要交互控制信息,資源耗費(fèi)較小然爆。
Share-Nothing:數(shù)據(jù)同步靠前端站粟,對(duì)資源消耗很大。
-
管理難度:
共享:需要管理節(jié)點(diǎn)間的交互配置曾雕,還需要管理外部存儲(chǔ)奴烙,增加了管理難度
Share-Nothing:只需要管理節(jié)點(diǎn)配置。
-
是否停機(jī)
共享:需要將數(shù)據(jù)從單機(jī)轉(zhuǎn)移到共享存儲(chǔ)供其他節(jié)點(diǎn)使用剖张,需要停機(jī)來(lái)保證一致性切诀。
Share-Nothing:數(shù)據(jù)同步是動(dòng)態(tài)的,不需要停機(jī)修械。
-
實(shí)現(xiàn)復(fù)雜度
共享存儲(chǔ):有三種基本元素:節(jié)點(diǎn)趾牧、節(jié)點(diǎn)間的交互、共享數(shù)據(jù)肯污。如果使用共享存儲(chǔ)模式做容災(zāi)翘单,需要將數(shù)據(jù)移動(dòng)到共享存儲(chǔ)上镜会,增加額外的工作量和不可控因素
Share-Nothing:只有兩種元素 節(jié)點(diǎn)&節(jié)點(diǎn)交互
-
第三方
共享存儲(chǔ):備份節(jié)點(diǎn)需要通過(guò)HA軟件來(lái)監(jiān)控主節(jié)點(diǎn)的狀態(tài)豺旬,發(fā)生故障的時(shí)候自動(dòng)接管,如MSCS
share-Nothing:不需要第三方軟件參與
-
故障因素
共享存儲(chǔ):OS贮聂、應(yīng)用程序柬唯、HA軟件
Share-nothing:OS认臊、應(yīng)用程序
異地容災(zāi)
如果主站點(diǎn)和備站點(diǎn)不在同一個(gè)機(jī)房中,這樣備份應(yīng)用程序需要跨越很遠(yuǎn)的距離來(lái)與主程序交互狀態(tài)锄奢。只是說(shuō)這種交互包很小失晴,不需要擔(dān)心延時(shí)的問(wèn)題剧腻。
IP切換
在異地容災(zāi)系統(tǒng),主服務(wù)器和備服務(wù)器不大可能在同一個(gè)廣播域涂屁,所以需要通過(guò)網(wǎng)關(guān)來(lái)轉(zhuǎn)發(fā)IP包书在,正因?yàn)榇瞬荒苡?strong>資源切換的方式來(lái)切換IP地址。
如果想故障后拆又,客戶端繼續(xù)使用原來(lái)的IP地址連接備份服務(wù)器儒旬,那么可以在路由上做文章。動(dòng)態(tài)修改路由器上的路由表帖族,將IP包路由到備份站點(diǎn)而不是主站點(diǎn)栈源。如果利用域名來(lái)訪問(wèn)服務(wù)器,那么可以直接在DNS設(shè)備上修改IP指向記錄來(lái)實(shí)現(xiàn)竖般。
卷切換
異地容災(zāi)系統(tǒng)在主站點(diǎn)和備站點(diǎn)各有卷甚垦,兩個(gè)卷通過(guò)前端或者后端網(wǎng)絡(luò)進(jìn)行同步。
如果備的HA軟件檢測(cè)到主站點(diǎn)通信失敗涣雕,通過(guò)某種方式制轰,斷開(kāi)同步關(guān)系(若不斷開(kāi),卷會(huì)被鎖定而不可訪問(wèn))胞谭。然后就是重新掛載備站點(diǎn)的卷
此時(shí)同步引擎可以是運(yùn)行在存儲(chǔ)設(shè)備上,也可以由HA來(lái)執(zhí)行男杈。
如果同步引擎是運(yùn)行在存儲(chǔ)設(shè)備上的丈屹,必須由管理員手動(dòng)利用存儲(chǔ)設(shè)備的配置工具來(lái)斷開(kāi)同步關(guān)系。斷開(kāi)了以后伶棒,本地的卷才可以被訪問(wèn)旺垒,然后HA軟件可以在備份機(jī)上調(diào)用操作系統(tǒng)相關(guān)功能來(lái)掛載這個(gè)卷。
如果同步引擎本來(lái)就是HA來(lái)執(zhí)行的肤无,那么HA軟件可以自動(dòng)斷開(kāi)同步關(guān)系先蒋,在備份機(jī)上掛載對(duì)應(yīng)的卷。
異地容災(zāi)的應(yīng)用切換
應(yīng)用宛渐,也就是生產(chǎn)者的切換竞漾,是所有HA容災(zāi)系統(tǒng)在故障發(fā)生后所執(zhí)行的最后一步。與共享存儲(chǔ)式的HA容災(zāi)一樣窥翩,異地容災(zāi)的應(yīng)用切換业岁,是有備機(jī)的HA軟件來(lái)執(zhí)行腳本,或者調(diào)用相應(yīng)的接口來(lái)啟動(dòng)備份機(jī)的應(yīng)用的寇蚊。