歡迎光臨陜西驪山低速風(fēng)機(jī)動(dòng)力制造有限公司官網(wǎng)!

全國(guó)咨詢熱線:

400-8888-888

printershare高級(jí)版_printer下載

所屬分類:客戶案例 發(fā)布日期:2024-10-03 瀏覽次數(shù):6

  離線與在線容災(zāi)數(shù)據(jù)復(fù)制技術(shù)printershare高級(jí)版的比較

  一、概述

  近幾年來(lái)printershare高級(jí)版,容災(zāi)已經(jīng)成為信息數(shù)據(jù)中心建設(shè)printershare高級(jí)版的熱門(mén)課題。很多容災(zāi)技術(shù)也快速發(fā)展起來(lái),對(duì)用戶來(lái)說(shuō)也有很廣闊的選擇余地。但由于容災(zāi)方案的技術(shù)復(fù)雜性和多樣性,一般用戶很難搞清其中的優(yōu)劣以確定如何選擇最適合自己狀況的容災(zāi)解決方案。本文printershare高級(jí)版我們就容災(zāi)建設(shè)中的備份及復(fù)制技術(shù)做一個(gè)初步探討,希望能對(duì)客戶的數(shù)據(jù)中心容災(zāi)建設(shè)提供一些參考。

  目前有很多種容災(zāi)技術(shù),分類也比較復(fù)雜。但總體上可以區(qū)分為離線式容災(zāi)(冷容災(zāi))和在線容災(zāi)(熱容災(zāi))兩種類型。

  二、離線式容災(zāi)

  所謂的離線式容災(zāi)主要依靠備份技術(shù)來(lái)實(shí)現(xiàn)。其重要步驟是將數(shù)據(jù)通過(guò)備份系統(tǒng)備份到磁帶上面,而后將磁帶運(yùn)送到異地保存管理。離線式容災(zāi)具有實(shí)時(shí)性低、可備份多個(gè)副本、備份范圍廣、長(zhǎng)期保存、投資較少等特點(diǎn),由于是備份一般是壓縮后存放到磁帶的方式所以數(shù)據(jù)恢復(fù)較慢,而且備份窗口內(nèi)的數(shù)據(jù)都會(huì)丟失,因此一般用于數(shù)據(jù)恢復(fù)的RTO(目標(biāo)恢復(fù)時(shí)間)和RPO(目標(biāo)恢復(fù)點(diǎn))要求較低的容災(zāi)。也有很多客戶將離線式容災(zāi)和在線容災(zāi)結(jié)合起來(lái)增加系統(tǒng)容災(zāi)的完整性和安全性。

  三、在線容災(zāi)

  在線容災(zāi)要求生產(chǎn)中心和災(zāi)備中心同時(shí)工作,生產(chǎn)中心和災(zāi)備中心之間有傳輸鏈路連接。數(shù)據(jù)自生產(chǎn)中心實(shí)時(shí)復(fù)制傳送到災(zāi)備中心。在此基礎(chǔ)上,可以在應(yīng)用層進(jìn)行集群管理,當(dāng)生產(chǎn)中心遭受災(zāi)難出現(xiàn)故障時(shí)可由災(zāi)備中心接管并繼續(xù)提供服務(wù)。因此實(shí)現(xiàn)在線容災(zāi)的關(guān)鍵是數(shù)據(jù)的復(fù)制。

  和數(shù)據(jù)備份相比,數(shù)據(jù)復(fù)制技術(shù)具有實(shí)時(shí)性高、數(shù)據(jù)丟失少或零丟失、容災(zāi)恢復(fù)快、投資較高等特點(diǎn)。根據(jù)數(shù)據(jù)復(fù)制的層次,數(shù)據(jù)復(fù)制技術(shù)的實(shí)現(xiàn)可以分為三種printershare高級(jí)版:存儲(chǔ)系統(tǒng)層數(shù)據(jù)復(fù)制、操作系統(tǒng)數(shù)據(jù)復(fù)制和數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制。

  1、存儲(chǔ)系統(tǒng)層數(shù)據(jù)復(fù)制

  現(xiàn)在的存儲(chǔ)設(shè)備經(jīng)過(guò)多年的發(fā)展已經(jīng)十分成熟。特別是中高端產(chǎn)品,一般都具有先進(jìn)的數(shù)據(jù)管理功能。遠(yuǎn)程數(shù)據(jù)復(fù)制功能幾乎是現(xiàn)有中高端產(chǎn)品的必備功能。要實(shí)現(xiàn)數(shù)據(jù)的復(fù)制需要在生產(chǎn)中心和災(zāi)備中心都部署1套這樣的存儲(chǔ)系統(tǒng),數(shù)據(jù)復(fù)制功能由存儲(chǔ)系統(tǒng)實(shí)現(xiàn)。如果距離比較近(幾十公里之內(nèi))之間的鏈路可由兩中心的存儲(chǔ)交換機(jī)通過(guò)光纖直接連接,如果距離在100公里內(nèi)也可通過(guò)增加DWDM等設(shè)備直接進(jìn)行光纖連接,超過(guò)100公里的距離則可增加存儲(chǔ)路由器進(jìn)行協(xié)議轉(zhuǎn)換途徑WAN或INTERNET實(shí)現(xiàn)連接,因此從理論上可實(shí)現(xiàn)無(wú)限制連接。

  存儲(chǔ)系統(tǒng)層的數(shù)據(jù)復(fù)制技術(shù)對(duì)于主機(jī)的操作系統(tǒng)是完全透明的,是對(duì)于將來(lái)增加新的操作平臺(tái),可不用增加任何復(fù)制軟件的投資,即可完成實(shí)現(xiàn)復(fù)制。這樣管理比較簡(jiǎn)單,最大程度保護(hù)了用戶的投資,達(dá)到充分利用資源的目的?;诖鎯?chǔ)的復(fù)制一般都是采ATM或光纖通道做為遠(yuǎn)端的鏈路連接,不僅可以做到異步復(fù)制,更可以做到同步復(fù)制,使兩端數(shù)據(jù)可做到實(shí)時(shí)同步的目的,保證了數(shù)據(jù)的一致性。缺點(diǎn)是由于基于存儲(chǔ)是由存儲(chǔ)硬件廠商提供的,在兼容性方面有局限性。用戶要使用同一廠商的devices,給用戶造成的選擇面太小,成本容易提高,并且對(duì)線路帶寬的要求通常也較高。對(duì)于預(yù)算充足,存儲(chǔ)環(huán)境不是很復(fù)雜的企業(yè)來(lái)說(shuō),選擇基于存儲(chǔ)的技術(shù)比較適合。

  存儲(chǔ)系統(tǒng)層的數(shù)據(jù)復(fù)制基于同構(gòu)的存儲(chǔ),各個(gè)存儲(chǔ)廠商都有自己的復(fù)制軟件,如IBM PPRC、EMC SRDF、HP Continues Access、HDS TrueCopy等,以下舉例說(shuō)明存儲(chǔ)系統(tǒng)層的數(shù)據(jù)復(fù)制原理。

  遠(yuǎn)程鏡像(CA)介紹

  HP Continuous Access XP 通過(guò)向遠(yuǎn)地鏡像復(fù)制數(shù)據(jù)來(lái)滿足系統(tǒng)的高可用性和災(zāi)難恢復(fù)的需求。它通過(guò)同步模式,將數(shù)據(jù)從一臺(tái)XP磁盤(pán)陣列上拷貝到遠(yuǎn)端的另一臺(tái)XP磁盤(pán)陣列上,從而實(shí)現(xiàn)容災(zāi)解決方案。

  Continuous Access XP Extension 使Continuous Access XP能夠以高性能的異步或同步方式進(jìn)行遠(yuǎn)程XP磁盤(pán)陣列的拷貝。根據(jù)標(biāo)書(shū)中的要求,必須同時(shí)提供同步和異步的存儲(chǔ)復(fù)制方式,CA完全滿足。

  CA是基于磁盤(pán)陣列的容災(zāi)方式。其中, CA能夠?qū)崿F(xiàn)同步/異步、同城集群/洲際集群,以及Solaris、AIX、Windows各種OS集群擴(kuò)展,還可以實(shí)現(xiàn)新XP到新XP、老XP到新XP以及多中心容災(zāi)等功能,全面實(shí)現(xiàn)了可用性與可擴(kuò)展性的結(jié)合。

  CA同步加上CA異步,在本地和遠(yuǎn)程XP磁盤(pán)陣列之間實(shí)現(xiàn)高性能實(shí)時(shí)遠(yuǎn)程數(shù)據(jù)鏡像,以及快速切換及回切,使用戶能輕松管理,并實(shí)現(xiàn)高可用性。CA同步方式的距離可以達(dá)到100公里,但是從性能的角度出發(fā),一般都控制在50公里內(nèi)??梢越ㄔO(shè)同城容災(zāi)集群,消除計(jì)劃宕機(jī)時(shí)間,降低非計(jì)劃的宕機(jī)時(shí)間;異步方式的距離可以達(dá)到數(shù)千公里,可以集成遠(yuǎn)程數(shù)據(jù)鏡像和異構(gòu)服務(wù)器的集群,增強(qiáng)總體方式的可用性,在同城災(zāi)難發(fā)生的時(shí)候,保證連續(xù)運(yùn)作。其中,洲際集群沒(méi)有距離的限制,對(duì)應(yīng)用和數(shù)據(jù)完全透明,可實(shí)現(xiàn)全球范圍的容災(zāi)方案。

  同時(shí),針對(duì)關(guān)鍵用戶的特殊需求,CA可以實(shí)現(xiàn)多中心容災(zāi)解決方案,其中,同步容災(zāi)中心的距離可以達(dá)到50公里,異步中心可以在全球的任何一個(gè)地方,至少有三個(gè)中心有鏡像的數(shù)據(jù),而且三個(gè)中心之間可以實(shí)現(xiàn)遠(yuǎn)程容災(zāi)。

  (1)CAXP磁盤(pán)卷組

  CAXP的磁盤(pán)卷組由不同的XP裝置內(nèi)或不同CLUSTER內(nèi)命名為P-VOL和S-VOL的2個(gè)邏輯磁盤(pán)卷構(gòu)成。在具有CAXP磁盤(pán)卷組關(guān)系后:

  P-VOL被稱為主磁盤(pán)卷。P-VOL可被讀/寫(xiě)。

  S-VOL(遠(yuǎn)程磁盤(pán)卷)被稱為副磁盤(pán)卷。在XP內(nèi)部的控制裝置的作用下,P-VOL的內(nèi)容和服務(wù)器來(lái)的寫(xiě)數(shù)據(jù)被拷貝到S-VOL(可采用同步或異步兩種方式)。CAXP卷組建立后,S-VOL為只讀磁盤(pán)卷。在一個(gè)XP里,既可有P-VOL,也可有S-VOL,這樣可以實(shí)現(xiàn)雙向數(shù)據(jù)境像。

  CAXP的磁盤(pán)卷組,即P-VOL和S-VOL間,可以是相同的RAID類型,也可以是不同的RAID類型,具體的RAID級(jí)別配合表如下所示:

  For P-VOL

  For S-VOL

  RAID 1

  RAID 1

  RAID 5

  RAID 5

  RAID 1

  RAID 5

  RAID 5

  RAID 1

  CAXP的RAID級(jí)別

  (2)MCU和RCU

  MCU(主磁盤(pán)控制器)和RCU(遠(yuǎn)程磁盤(pán)控制器)分別和P-VOL,S-VOL相連,MCU控制由服務(wù)器來(lái)的寫(xiě)向P-VOL的數(shù)據(jù)的寫(xiě)操作,還控制P-VOL和S-VOL之間數(shù)據(jù)拷貝的操作,并且提供CAXP磁盤(pán)卷組的狀態(tài)和構(gòu)成的管理。

  RCU執(zhí)行由MCU發(fā)出的寫(xiě)命令操作。寫(xiě)操作的執(zhí)行方法和執(zhí)行服務(wù)器來(lái)的寫(xiě)操作過(guò)程相同。除此之外,RCU還具有管理一部分CAXP磁盤(pán)卷組的狀態(tài)和構(gòu)成信息的能力。

  對(duì)于任何一個(gè)磁盤(pán)卷組,都需要定義MCU/RCU。一個(gè)XP的磁盤(pán)控制裝置在控制P-VOL時(shí),可作為MCU使用,當(dāng)控制S-VOL的時(shí)侯,可作為RCU使用。

  (3)CA的同步和異步復(fù)制

  基于存儲(chǔ)的數(shù)據(jù)復(fù)制,主要有同步數(shù)據(jù)復(fù)制和異步數(shù)據(jù)復(fù)制兩種。

  同步數(shù)據(jù)復(fù)制,指通過(guò)將本地生產(chǎn)數(shù)據(jù)以完全同步的方式復(fù)制到異地,每一本地IO交易均需等待遠(yuǎn)程復(fù)制的完成方予以釋放。

  同步方式的數(shù)據(jù)復(fù)制

  同步復(fù)制方式的傳輸距離限制:

  l FC光纖通道最大傳輸距離為10KM;

  l ESCON通過(guò)中繼方式最大可傳輸43KM;

  l DWDM方式最大傳輸距離為100KM。

  異步數(shù)據(jù)復(fù)制則是指將本地生產(chǎn)數(shù)據(jù)以后臺(tái)同步的方式復(fù)制到異地,每一本地IO交易均正常釋放,無(wú)需等待遠(yuǎn)程復(fù)制的完成。

  異步方式的數(shù)據(jù)復(fù)制

  同步復(fù)制實(shí)時(shí)性強(qiáng),災(zāi)難發(fā)生時(shí)遠(yuǎn)端數(shù)據(jù)與本地?cái)?shù)據(jù)完全同步。但這種方式因?yàn)閿?shù)據(jù)在網(wǎng)絡(luò)中的傳輸延遲而影響主節(jié)點(diǎn)的應(yīng)用性能。

  異步復(fù)制則不然,但可能導(dǎo)致災(zāi)備點(diǎn)數(shù)據(jù)比主點(diǎn)數(shù)據(jù)有一定延遲,這些延遲的數(shù)據(jù)在災(zāi)難發(fā)生后將丟失。由此可見(jiàn),同步方式和異步方式實(shí)際上是各有千秋,需要依據(jù)具體的應(yīng)用,在應(yīng)用性能和潛在的可能丟失數(shù)據(jù)量之間作一個(gè)取舍和均衡。

  (4)CAXP卷組的更新拷貝模式

  在組建災(zāi)難備份系統(tǒng)時(shí),往往是假定正在使用的主中心的存儲(chǔ)數(shù)據(jù)受到毀壞。這時(shí)啟動(dòng)遠(yuǎn)程備份中心的備份存儲(chǔ)系統(tǒng),來(lái)接替主中心的工作或從備份存儲(chǔ)設(shè)備中把數(shù)據(jù)恢復(fù)到主中心端,在主中心重新啟動(dòng)應(yīng)用。不論使用哪種方法,遠(yuǎn)程備份中心的備份數(shù)據(jù)與主中心端數(shù)據(jù)的一致性將會(huì)決定災(zāi)難恢復(fù)的時(shí)間。在災(zāi)難發(fā)生后,為了盡可能減少花在數(shù)據(jù)一致性分析上的時(shí)間,以XP1024存儲(chǔ)為例,XP1024提供用于災(zāi)難備份的CAXP磁盤(pán)卷組的拷貝模式的設(shè)定選擇來(lái)加快事后分析數(shù)據(jù)的一致性。

 printershare高級(jí)版_printer下載

  遠(yuǎn)程數(shù)據(jù)拷貝操作

  更新拷貝模式(Fence Level)共有3種:Data、Status、Never。CAXP卷組的狀態(tài)在變?yōu)椤癝uspend”后,更新拷貝模式將會(huì)對(duì)P-VOL的寫(xiě)操作產(chǎn)生影響,在建立災(zāi)難備份系統(tǒng)方案時(shí),應(yīng)預(yù)先考慮好CAXP卷組的一致性要求,對(duì)應(yīng)的拷貝模式可由下表選出:

  Type of Failure

  S-VOL Data

  S-VOL Status

  Never

  The update copy operation failed,and the MCU was not able to change the status of the S-VOL to suspended

  Write I/O operations to the P-VOL will be:

  REJECT

  Accepted

  Accepted

  The update copy operation failed,and the MCU was not able to change the status of the S-VOL to suspended

  Write I/O operations to the P-VOL will be:

  REJECTED

  REJECTED

  Accepted

  l 更新拷貝模式:Data——在這個(gè)模式下,P-VOL和S-VOL的一致性會(huì)完全被保證。當(dāng)兩個(gè)卷組之間不能保證同步時(shí),即當(dāng)卷組狀態(tài)變?yōu)镾uspend時(shí),MCU將會(huì)拒絕對(duì)服務(wù)器對(duì)P-VOL的寫(xiě)操作以保證兩個(gè)磁盤(pán)卷的一致性。這種模式在災(zāi)害發(fā)生時(shí)將會(huì)最大限度的減少數(shù)據(jù)一致性分析所花的時(shí)間。(注:初期拷貝完成之前,如果災(zāi)害發(fā)生,將導(dǎo)致P-VOL和S-VOL的數(shù)據(jù)不一致,因此不能把S-VOL用于災(zāi)害恢復(fù))。在Data這種拷貝模式下,一旦FC線路或S-VOL出現(xiàn)故障,都將使P-VOL的寫(xiě)操作停止,并向系統(tǒng)發(fā)出寫(xiě)錯(cuò)誤信息中斷系統(tǒng)的應(yīng)用。

  l 更新拷貝模式:Status——當(dāng)MCU檢測(cè)出CAXP卷組之間失去同步后,且無(wú)法將S-VOL的狀態(tài)改變?yōu)镾uspend時(shí),MCU會(huì)拒絕服務(wù)器向P-VOL的寫(xiě)操作,并對(duì)服務(wù)器發(fā)出寫(xiě)錯(cuò)誤的信息。當(dāng)FC鏈路失效時(shí)這種模式會(huì)起作用,如果客戶認(rèn)為S-VOL的偶爾失去同步是可容忍的,這種模式可被使用。當(dāng)S-VOL由于某種原因失效時(shí),并且卷組狀態(tài)成功地變?yōu)镾uspend時(shí),P-VOL的讀寫(xiě)操作可繼續(xù)進(jìn)行,這時(shí)P-VOL里更新過(guò)的磁道會(huì)被記錄下來(lái),當(dāng)S-VOL被恢復(fù)后,更新數(shù)據(jù)不會(huì)自動(dòng)的被拷貝到S-VOL,而需要重新同步這個(gè)卷組,數(shù)據(jù)的更新拷貝才會(huì)被執(zhí)行。

  l 更新拷貝模式:Never——在CAXP卷組失去同步后,無(wú)論S-VOL的狀態(tài)能否被改為Suspend,服務(wù)器對(duì)P-VOL的寫(xiě)操作不會(huì)被中止。在這種模式下,只要P-VOL自己不出現(xiàn)故障,服務(wù)器傳來(lái)的寫(xiě)操作就會(huì)被執(zhí)行。當(dāng)FC Link或S-VOL由于某種原因失效后,P-VOL的更新磁道將會(huì)被MCU記錄下來(lái)。故障排除后,用卷組激活命令可重新同步P-VOL和S-VOL,這時(shí),只拷貝P-VOL里的更新磁道。

  Data及Status模式對(duì)保持?jǐn)?shù)據(jù)一致性非常有好處的,但在線路或遠(yuǎn)端XP1024故障時(shí)會(huì)對(duì)主服務(wù)器造成造成一定的影響,甚至導(dǎo)致應(yīng)用系統(tǒng)掛起。

  在這種拷貝模式下建立起來(lái)的CAXP鏡像卷組,即使在光纖或S-VOL故障引起P-VOL和S-VOL鏡象卷組失去同步后,只要P-VOL沒(méi)有遭到損壞,MCU就不會(huì)據(jù)絕服務(wù)器對(duì)P-VOL發(fā)出的寫(xiě)操作。

  從服務(wù)器端來(lái)看,P-VOL對(duì)S-VOL鏡象卷的數(shù)據(jù)更新象在正常進(jìn)行,服務(wù)器的應(yīng)用也不會(huì)被中斷。當(dāng)出現(xiàn)光纖、DWDM、遠(yuǎn)地備份中心XP1024停電等故障時(shí),因?yàn)椴挥绊憫?yīng)用的運(yùn)行,所以沒(méi)有必要象“DATA”那樣強(qiáng)制中斷CAXP卷組的工作。同時(shí)必須在網(wǎng)管上采用必要手段,監(jiān)控XP1024 Pair的狀態(tài)。一旦Pair狀態(tài)變成非duplex,必須盡快采取措施進(jìn)行修復(fù),否則一旦發(fā)生災(zāi)難,由于遠(yuǎn)地的XP1024 CA拷貝與主site的數(shù)據(jù)不同步,災(zāi)難系統(tǒng)切換將會(huì)失敗,導(dǎo)致不必要的停機(jī)。

  虛擬存儲(chǔ)技術(shù)的介紹

  近年來(lái),隨著存儲(chǔ)技術(shù)的不斷發(fā)展,在存儲(chǔ)系統(tǒng)層次數(shù)據(jù)復(fù)制技術(shù)上還出現(xiàn)基于網(wǎng)絡(luò)的存儲(chǔ)虛擬化設(shè)備來(lái)實(shí)現(xiàn),這種方式的特點(diǎn)是依靠外加的網(wǎng)絡(luò)層設(shè)備來(lái)實(shí)現(xiàn)兩個(gè)存儲(chǔ)設(shè)備之間的數(shù)據(jù)復(fù)制,數(shù)據(jù)復(fù)制過(guò)程不占用主機(jī)資源,兩個(gè)存儲(chǔ)之間的數(shù)據(jù)同步在網(wǎng)絡(luò)層完成。

  根據(jù)存儲(chǔ)虛擬化設(shè)備工作機(jī)制的不同,一般可分為帶內(nèi)(In-Band)和帶外(Out-of-Band)兩種。

  上圖所示為常見(jiàn)存儲(chǔ)虛擬化設(shè)備的系統(tǒng)結(jié)構(gòu)圖。存儲(chǔ)虛擬化設(shè)備通過(guò)交換機(jī)分別連接主機(jī)端Fabric 和存儲(chǔ)端 Fabric,主要功能是管理對(duì)存儲(chǔ)設(shè)備上的邏輯卷,對(duì)已有邏輯卷進(jìn)行虛擬化或創(chuàng)建虛擬的條帶卷,消除存儲(chǔ)設(shè)備異構(gòu)對(duì)主機(jī)系統(tǒng)的影響,提高存儲(chǔ)設(shè)備的可用性和總體性能。另外一個(gè)功能就是卷復(fù)制和鏡像,通過(guò)存儲(chǔ)虛擬化設(shè)備實(shí)現(xiàn)兩個(gè)虛擬卷之間的數(shù)據(jù)安全保護(hù)。

  通過(guò)存儲(chǔ)虛擬化設(shè)備實(shí)現(xiàn)卷鏡像復(fù)制功能的優(yōu)勢(shì)在于操作由存儲(chǔ)虛擬化設(shè)備來(lái)完成、壓力集中的存儲(chǔ)虛擬化設(shè)備上,不需要主機(jī)參與,數(shù)據(jù)復(fù)制進(jìn)程安全穩(wěn)定。缺點(diǎn)是需要增加專用存儲(chǔ)虛擬化設(shè)備,帶外方式有的需要在主機(jī)端需要安裝存儲(chǔ)虛擬化設(shè)備的客戶端軟件,比如 UIT SVM;有的需要依賴高端智能交換機(jī),比如 EMC VSM。目前使用這種技術(shù)的產(chǎn)品還不是很多,成熟性還有待提高,具有這種功能的專用設(shè)備價(jià)格也相對(duì)較高,所以采用這種方案的用戶比較少。

  2、操作系統(tǒng)數(shù)據(jù)復(fù)制

  主要通過(guò)操作系統(tǒng)或者數(shù)據(jù)卷管理器來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的遠(yuǎn)程復(fù)制。這種復(fù)制技術(shù)要求本地系統(tǒng)和遠(yuǎn)端系統(tǒng)的主機(jī)是同構(gòu)的,其實(shí)現(xiàn)方式是基于主機(jī)的數(shù)據(jù)復(fù)制,容災(zāi)方式工作在主機(jī)的卷管理器這一層,通過(guò)磁盤(pán)卷的鏡像或復(fù)制,實(shí)現(xiàn)數(shù)據(jù)的容災(zāi)。這種方式也不需要在兩邊采用同樣的存儲(chǔ)設(shè)備,具有較大的靈活性,缺點(diǎn)是復(fù)制功能會(huì)多少占用一些主機(jī)的CPU資源,對(duì)主機(jī)的性能有一定的影響。

  目前基于原廠的邏輯卷管理軟件如IBM AIX LVM、HP-UINX MirrorDisk、Sun Solaris SVM等可以實(shí)現(xiàn)在本廠平臺(tái)上的邏輯卷鏡像,專業(yè)的數(shù)據(jù)復(fù)制軟件提供了更大的靈活性,支持多個(gè)平臺(tái)的邏輯卷鏡像,其中代表性的軟件是Symantec VERITAS Storage Foundation 軟件。

  Symantec VERITASStorage Foundation簡(jiǎn)介

  (1)Symantec遠(yuǎn)程鏡像數(shù)據(jù)容災(zāi)原理

  Symantec的VERITAS Storage Foundation的鏡像技術(shù)構(gòu)建容災(zāi)系統(tǒng)是比較簡(jiǎn)單的,它只有一個(gè)條件,就是將生產(chǎn)中心和災(zāi)備中心之間的SAN存儲(chǔ)區(qū)域網(wǎng)絡(luò)通過(guò)光纖連接起來(lái),建立城域SAN存儲(chǔ)網(wǎng)絡(luò)。然后就可以通過(guò)Storage Foundation提供的非常成熟的跨陣列磁盤(pán)鏡像技術(shù)來(lái)實(shí)現(xiàn)同城容災(zāi)了,容災(zāi)方案的結(jié)構(gòu)如下圖所示:

  從鏡像原理上講,在城域SAN存儲(chǔ)網(wǎng)絡(luò)上的兩套磁盤(pán)系統(tǒng)之間的鏡像,和在一個(gè)機(jī)房?jī)?nèi)的SAN上的兩個(gè)磁盤(pán)系統(tǒng)之間的鏡像并沒(méi)有任何區(qū)別。

  利用裸光纖將生產(chǎn)中心和災(zāi)備中心的SAN網(wǎng)絡(luò)連接起來(lái),構(gòu)成城域SAN網(wǎng)絡(luò)以后,利用 VERITAS Storage Foundation的邏輯卷管理功能,就可以實(shí)現(xiàn)生產(chǎn)中心磁盤(pán)系統(tǒng)和災(zāi)備中心磁盤(pán)系統(tǒng)之間的鏡像了。如下圖所示:

  在邏輯卷鏡像過(guò)程中,利用VERITAS Storage Foundation,可以創(chuàng)建任意一個(gè)邏輯卷(Volume)供業(yè)務(wù)主機(jī)使用,實(shí)際上是由兩個(gè)完全對(duì)等的,容量相同的磁盤(pán)片構(gòu)成的,兩個(gè)磁盤(pán)片上的數(shù)據(jù)完全一樣,業(yè)務(wù)主機(jī)對(duì)該Volume的任意修改,都將同時(shí)被寫(xiě)到位于生產(chǎn)中心和災(zāi)備中心的兩個(gè)磁盤(pán)系統(tǒng)上。

  采用這種方式,生產(chǎn)中心的磁盤(pán)陣列與同城容災(zāi)中心的磁盤(pán)陣列對(duì)于兩地的主機(jī)而言是完全同等的。利用城域SAN存儲(chǔ)網(wǎng)絡(luò)和VERITAS Storage Foundation鏡像功能,可以實(shí)現(xiàn)數(shù)據(jù)系統(tǒng)的異地容災(zāi)。并且消除了復(fù)制技術(shù)(無(wú)論是同步還是異步)的切換的動(dòng)作,從而保證零停機(jī)時(shí)間,零數(shù)據(jù)損失的實(shí)現(xiàn)。

  (2)Symantec遠(yuǎn)程鏡像數(shù)據(jù)容災(zāi)的技術(shù)特點(diǎn)

  l 零停機(jī)時(shí)間和零數(shù)據(jù)損失

  由于Storage Foundation 采用的是跨異構(gòu)陣列的鏡像技術(shù),而鏡像技實(shí)現(xiàn)原理,就決定了在這種方式下,無(wú)論是哪一邊的磁盤(pán)陣列由于物理故障停頓,都不會(huì)影響數(shù)據(jù)的可用性而造成數(shù)據(jù)的損失,這從根本上實(shí)現(xiàn)了在物理故障的情況下,數(shù)據(jù)的高度可用性。

  l 故障修復(fù)后的快速重新同步

  Storage Foundation 提供的鏡像技術(shù),是基于日志的鏡像技術(shù),無(wú)論由于主機(jī)發(fā)生故障,還是由于鏡像中的鏈路或是硬盤(pán)發(fā)生故障導(dǎo)致的鏡像被破壞的情況,都可以通過(guò)鏡像日至得以快速恢復(fù)。這使得鏡像恢復(fù)過(guò)程對(duì)系統(tǒng)的性能影響微乎其微。

  l 跨磁盤(pán)陣列快照,實(shí)現(xiàn)邏輯錯(cuò)誤快速恢復(fù)和容災(zāi)中心數(shù)據(jù)利用

  Storage Foundation 提供基于卷,以及文件系統(tǒng)的多種快照技術(shù),其邏輯輯快照可采用少量磁盤(pán)空間,快速,多次的對(duì)文件系統(tǒng),或者是卷作快照。因而,當(dāng)用戶出現(xiàn)數(shù)據(jù)的邏輯錯(cuò)誤時(shí),利用快照就可以迅速恢復(fù)文件系統(tǒng)或卷。這在數(shù)據(jù)保護(hù)的體系,大大的彌補(bǔ)了傳統(tǒng)備份恢復(fù)保護(hù)方式速度慢的缺陷,從而把數(shù)據(jù)損失量降到最低限度。

  同時(shí),數(shù)據(jù)快照還被廣泛的利用在容災(zāi)中心數(shù)據(jù)利用方面,比如可以通過(guò)快照實(shí)現(xiàn)數(shù)據(jù)備份、查詢、測(cè)試等。

  l 數(shù)據(jù)同步過(guò)程高度可控

  Storage Foundation Remoter Mirror 提供完整的容災(zāi)命令集,在數(shù)據(jù)同步的過(guò)程中,可以隨時(shí)得知同步的進(jìn)度,并可隨時(shí)暫停、繼續(xù)數(shù)據(jù)同步。

  4、數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制

  數(shù)據(jù)庫(kù)數(shù)據(jù)復(fù)制技術(shù)通常采用日志復(fù)制功能,依靠本地和遠(yuǎn)程主機(jī)間的日志歸檔與傳遞來(lái)實(shí)現(xiàn)兩端的數(shù)據(jù)一致。這種復(fù)制技術(shù)對(duì)系統(tǒng)的依賴性小,有很好的兼容性。缺點(diǎn)是本地復(fù)制軟件向遠(yuǎn)端復(fù)制的是日志文件,這需要遠(yuǎn)端應(yīng)用程序重新執(zhí)行和應(yīng)用才能生產(chǎn)可用的備份數(shù)據(jù)。

  目前基于數(shù)據(jù)庫(kù)的復(fù)制技術(shù)主要有:Oracle DataGuard、Oracle GoldenGate、DSG RealSync、Quest SharePlex 、IStream DDS等,以下舉例說(shuō)明該復(fù)制技術(shù)的運(yùn)行原理。

  DataGuard軟件介紹

  OracleData Guard 是管理、監(jiān)控和自動(dòng)化軟件的基礎(chǔ)架構(gòu),它創(chuàng)建、維護(hù)和監(jiān)控一個(gè)或多個(gè)備用數(shù)據(jù)庫(kù),以保護(hù)企業(yè)數(shù)據(jù)結(jié)構(gòu)不受故障、災(zāi)難、錯(cuò)誤和崩潰的影響。

  DataGuard 使備用數(shù)據(jù)庫(kù)保持為與生產(chǎn)數(shù)據(jù)庫(kù)在事務(wù)上一致的副本。這些備用數(shù)據(jù)庫(kù)可能位于距生產(chǎn)數(shù)據(jù)中心數(shù)千英里的遠(yuǎn)程災(zāi)難恢復(fù)站點(diǎn),或者可能位于同一城市、同一校園乃至同一建筑物內(nèi)。當(dāng)生產(chǎn)數(shù)據(jù)庫(kù)由于計(jì)劃中斷或意外中斷而變得不可用時(shí),Data Guard 可以將任意備用數(shù)據(jù)庫(kù)切換到生產(chǎn)角色,從而使與中斷相關(guān)的停機(jī)時(shí)間減到最少,并防止任何數(shù)據(jù)丟失。

  作為 Oracle 數(shù)據(jù)庫(kù)企業(yè)版的一個(gè)特性推出的 Data Guard 能夠與其他的 Oracle 高可用性 (HA) 解決方案(如真正應(yīng)用集群 (RAC) 和恢復(fù)管理器 (RMAN))結(jié)合使用,以提供業(yè)內(nèi)前所未有的高水平數(shù)據(jù)保護(hù)和數(shù)據(jù)可用性。

  (1)DataGuard重做應(yīng)用和SQL應(yīng)用

  備用數(shù)據(jù)庫(kù)最初是從主數(shù)據(jù)庫(kù)的一個(gè)備份副本創(chuàng)建的。一旦創(chuàng)建了備用數(shù)據(jù)庫(kù),Data Guard 自動(dòng)將主數(shù)據(jù)庫(kù)重做數(shù)據(jù)傳輸給備用系統(tǒng),然后將重做數(shù)據(jù)應(yīng)用到備用數(shù)據(jù)庫(kù)中,從而使備用數(shù)據(jù)庫(kù)保持為與主數(shù)據(jù)庫(kù)在事務(wù)上一致的副本。

  DataGuard 提供了兩種方法將這些重做數(shù)據(jù)應(yīng)用到備用數(shù)據(jù)庫(kù)中,并使之與主數(shù)據(jù)庫(kù)在事務(wù)上保持一致。這些方法與 Data Guard 支持的兩種類型的備用數(shù)據(jù)庫(kù)對(duì)應(yīng):

  ● 重做應(yīng)用,用于物理備用數(shù)據(jù)庫(kù)

  ● SQL應(yīng)用,用于邏輯備用數(shù)據(jù)庫(kù)

  (2)物理備用數(shù)據(jù)庫(kù)—重做應(yīng)用

  通過(guò)使用 Oracle 介質(zhì)恢復(fù)應(yīng)用從主數(shù)據(jù)庫(kù)接收到的重做數(shù)據(jù),物理備用數(shù)據(jù)庫(kù)與主數(shù)據(jù)庫(kù)保持同步。它在物理上與主數(shù)據(jù)庫(kù)逐塊相同,因而數(shù)據(jù)庫(kù)模式(包括索引)是相同的。

  主數(shù)據(jù)庫(kù)上的一個(gè)日志切換將觸發(fā)備用數(shù)據(jù)庫(kù)上的一個(gè)日志切換,從而使備用數(shù)據(jù)庫(kù)上的歸檔器進(jìn)程將當(dāng)前的備用重做日志文件歸檔到備用數(shù)據(jù)庫(kù)上的一個(gè)存檔日志中。隨后,Data Guard 重做應(yīng)用使用一個(gè)專用進(jìn)程(稱為管理的恢復(fù)進(jìn)程 (MRP))讀取存檔日志,并將重做數(shù)據(jù)應(yīng)用到物理備用數(shù)據(jù)庫(kù)中。如果啟用了 Oracle Database 10g中的 Oracle Data Guard 的新功能—實(shí)時(shí)應(yīng)用,則 MRP 將在 RFS 進(jìn)程寫(xiě)滿當(dāng)前的備用重做日志文件時(shí)直接從其中讀取重做數(shù)據(jù)。

  通過(guò)加載物理備用數(shù)據(jù)庫(kù)并使用以下命令,可以在該數(shù)據(jù)庫(kù)上啟動(dòng) MRP(從而應(yīng)用重做數(shù)據(jù)): ALTER DATABASE RECOVERMANAGED STANDBY DATABASE DISCONNECT FROM SESSION;介質(zhì)恢復(fù)進(jìn)程可以并行運(yùn)行,以獲得 Data Guard 重做應(yīng)用的最佳性能。在 Oracle Database 10g 之前的版本中,這需要在上述RECOVER MANAGED STANDBY DATABASE 命令中使用 PARALLEL 子句。在 Oracle Database 10g中,MRP 可以在啟動(dòng)(無(wú)需 PARALLEL 子句)時(shí)自動(dòng)確定并行恢復(fù)進(jìn)程的最佳數(shù)量,這個(gè)數(shù)字視備用服務(wù)器上可用的 CPU 數(shù)量而定。

  物理備用數(shù)據(jù)庫(kù)可以以只讀方式打開(kāi),并且可以在其打開(kāi)時(shí)對(duì)其運(yùn)行查詢,但無(wú)法在其以只讀方式打開(kāi)的同時(shí)運(yùn)行恢復(fù)。在備用數(shù)據(jù)庫(kù)以只讀方式打開(kāi)時(shí),傳送給它的重做數(shù)據(jù)將在備用站點(diǎn)上累積而不應(yīng)用。不過(guò),可以隨時(shí)在物理備用數(shù)據(jù)庫(kù)上恢復(fù)操作,并自動(dòng)應(yīng)用累積的重做數(shù)據(jù)。這允許物理備用數(shù)據(jù)庫(kù)以一個(gè)序列運(yùn)行,這個(gè)序列可能包括在恢復(fù)中運(yùn)行一段時(shí)間,然后以只讀方式打開(kāi)來(lái)運(yùn)行報(bào)表,接著重新運(yùn)行恢復(fù)來(lái)應(yīng)用尚未應(yīng)用的重做數(shù)據(jù)。

  要以只讀方式打開(kāi)物理備用數(shù)據(jù)庫(kù),則需使用以下命令在備用數(shù)據(jù)庫(kù)上取消恢復(fù):ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;然后可以只讀方式打開(kāi)數(shù)據(jù)庫(kù):ALTER DATABASE OPEN。

  (3)邏輯備用數(shù)據(jù)庫(kù)--SQL 應(yīng)用

  盡管數(shù)據(jù)的物理組織和結(jié)構(gòu)可能不同,但邏輯備用數(shù)據(jù)庫(kù)包含與主數(shù)據(jù)庫(kù)相同的邏輯信息。SQL 應(yīng)用技術(shù)將從主數(shù)據(jù)庫(kù)接收到的重做數(shù)據(jù)轉(zhuǎn)換成 SQL 語(yǔ)句,然后在備用數(shù)據(jù)庫(kù)上執(zhí)行 SQL 語(yǔ)句,以使邏輯備用數(shù)據(jù)庫(kù)與主數(shù)據(jù)庫(kù)保持同步。從而,在將 SQL 應(yīng)用到邏輯備用數(shù)據(jù)庫(kù)上的同時(shí),可以訪問(wèn)邏輯備用數(shù)據(jù)庫(kù)來(lái)進(jìn)行查詢和報(bào)表操作。

  由于使用 SQL 語(yǔ)句更新邏輯備用數(shù)據(jù)庫(kù),因此它保持以讀寫(xiě)模式打開(kāi),而從主數(shù)據(jù)庫(kù)中更新的表可以同時(shí)用于諸如報(bào)表、合計(jì)、查詢等其他任務(wù)如。.還可通過(guò)在維護(hù)的表上創(chuàng)建額外的索引和物化視圖來(lái)優(yōu)化這些任務(wù)。邏輯備用數(shù)據(jù)庫(kù)可以承載多個(gè)數(shù)據(jù)庫(kù)模式,用戶可以對(duì)這些模式中不從主數(shù)據(jù)庫(kù)進(jìn)行更新的表上執(zhí)行普通的數(shù)據(jù)處理操作。

  SQL應(yīng)用使用許多并行的執(zhí)行服務(wù)器和后臺(tái)進(jìn)程,它們將來(lái)自主數(shù)據(jù)庫(kù)的更改應(yīng)用到邏輯備用數(shù)據(jù)庫(kù)中。下圖顯示了信息流和每一個(gè)進(jìn)程所起的作用。

  這些不同的 SQL 應(yīng)用進(jìn)程可以通過(guò)在邏輯備用數(shù)據(jù)庫(kù)上輸入這條簡(jiǎn)單的命令來(lái)啟動(dòng): ALTERDATABASE START LOGICAL STANDBY APPLY;出于每個(gè) SQL 應(yīng)用進(jìn)程的考慮,讀取器進(jìn)程從存檔日志(如果啟用了實(shí)時(shí)應(yīng)用,也可以是備用重做日志,)中讀取重做記錄。準(zhǔn)備器進(jìn)程將塊更改轉(zhuǎn)換成表更改或邏輯更改記錄 (LCR)。在這里,LCR 并不代表任何特定的事務(wù)。構(gòu)造器進(jìn)程對(duì)來(lái)自各個(gè) LCR 的已完成事務(wù)進(jìn)行組合。分析器進(jìn)程檢查完成的事務(wù),辨明不同事務(wù)之間的相關(guān)性。協(xié)調(diào)器進(jìn)程(也稱為邏輯備用進(jìn)程,即 LSP)負(fù)責(zé)將事務(wù)分配給應(yīng)用進(jìn)程、監(jiān)控事務(wù)之間的相關(guān)性以及批準(zhǔn)將更改提交給邏輯備用數(shù)據(jù)庫(kù)。應(yīng)用器進(jìn)程將已指定事務(wù)的 LCR 應(yīng)用到數(shù)據(jù)庫(kù)中,并在協(xié)調(diào)器指示提交事務(wù)時(shí)提交。Data Guard 提供視圖來(lái)幫助查看每個(gè)進(jìn)程的狀態(tài)。

  (4)DataGuard數(shù)據(jù)保護(hù)模式

  l 最大保護(hù)模式

  最大保護(hù)模式為主數(shù)據(jù)庫(kù)提供了最高水平的數(shù)據(jù)保護(hù),從而確保了一個(gè)全面的零數(shù)據(jù)丟失災(zāi)難恢復(fù)解決方案。當(dāng)在最大保護(hù)模式下運(yùn)行時(shí),重做記錄由日志寫(xiě)入器(LGWR)進(jìn) 程從主數(shù)據(jù)庫(kù)同步地傳輸?shù)絺溆脭?shù)據(jù)庫(kù),并且直到確認(rèn)事務(wù)數(shù)據(jù)在至少一個(gè)備用服務(wù)器上的磁盤(pán)上可用時(shí),才在主數(shù)據(jù)庫(kù)上提交事務(wù)。強(qiáng)烈建議,這種模式應(yīng)至少配 置兩個(gè)備用數(shù)據(jù)庫(kù)。當(dāng)最后參與的備用數(shù)據(jù)庫(kù)不可用時(shí),主數(shù)據(jù)庫(kù)上的處理將停止。這就確保了當(dāng)主數(shù)據(jù)庫(kù)與其所有備用數(shù)據(jù)庫(kù)失去聯(lián)系時(shí),不會(huì)丟失事務(wù)。

  由于重做傳輸?shù)耐教匦裕@種最大保護(hù)模式可能潛在地影響主數(shù)據(jù)庫(kù)響應(yīng)時(shí)間??梢酝ㄟ^(guò)配置一個(gè)低延遲網(wǎng)絡(luò),并為它分配足夠應(yīng)付高峰事務(wù)負(fù)載的帶寬來(lái)將這種影響減到最小。需要這種最大保護(hù)模式的企業(yè)有股票交易所、貨幣交易所、金融機(jī)構(gòu)等。

  l 最高可用性模式

  最高可用性模式擁有僅次于最高水平的主數(shù)據(jù)庫(kù)數(shù)據(jù)可用性。如同最大保護(hù)模式一樣,重做數(shù)據(jù)由LGWR從主數(shù)據(jù)庫(kù)同步地傳輸?shù)絺溆脭?shù)據(jù)庫(kù),直到確認(rèn)事務(wù)數(shù)據(jù)在備用服務(wù)器的磁盤(pán)上可用時(shí),事務(wù)才在主數(shù)據(jù)庫(kù)上完成。不過(guò),在這種模式下(與最大保護(hù)模式不同),如果最后參與的備用數(shù)據(jù)庫(kù)變?yōu)椴豢捎谩缬捎诰W(wǎng)絡(luò)連接問(wèn)題,處理將在主數(shù)據(jù)庫(kù)上繼續(xù)進(jìn)行。備用數(shù)據(jù)庫(kù)與主數(shù)據(jù)庫(kù)相比,可能暫時(shí)落在后面,但當(dāng)它再次變?yōu)榭捎脮r(shí),備用數(shù)據(jù)庫(kù)將使用主數(shù)據(jù)庫(kù)上累積的歸檔日志自動(dòng)同步,而不會(huì)丟失數(shù)據(jù)。

  由于同步重做傳輸,這種保護(hù)模式可潛在地影響響應(yīng)時(shí)間和吞吐量。可以通過(guò)配置一個(gè)低延遲網(wǎng)絡(luò),并為它分配足夠應(yīng)付高峰事務(wù)負(fù)載的帶寬來(lái)將這種影響減到最小。

  最高可用性模式適用于想要確保獲得零數(shù)據(jù)丟失保護(hù),但不想讓生產(chǎn)數(shù)據(jù)庫(kù)受網(wǎng)絡(luò)/備用服務(wù)器故障影響的企業(yè)。如果又一個(gè)故障隨后影響了生產(chǎn)數(shù)據(jù)庫(kù),然后最初的網(wǎng)絡(luò)/備用服務(wù)器故障得到解決,那么這些企業(yè)將接受數(shù)據(jù)丟失的可能性。

  l 最高性能模式

  最高性能模式是默認(rèn)的保護(hù)模式。它與最高可用性模式相比,提供了稍微少一些的主數(shù)據(jù)庫(kù)數(shù)據(jù)保護(hù),但提供了更高的性能。在這種模式下,當(dāng)主數(shù)據(jù)庫(kù)處理事務(wù)時(shí),重做數(shù)據(jù)由LGWR進(jìn)程異步傳輸?shù)絺溆脭?shù)據(jù)庫(kù)上。另外,也可以將主數(shù)據(jù)庫(kù)上的歸檔器進(jìn)程(ARCH)配置為在這種模式下傳輸重做數(shù)據(jù)。在任何情況下,均先完成主數(shù)據(jù)庫(kù)上的寫(xiě)操作,主數(shù)據(jù)庫(kù)的提交操作不等待備用數(shù)據(jù)庫(kù)確認(rèn)接收。如果任意備用目標(biāo)數(shù)據(jù)庫(kù)變?yōu)椴豢捎?,則處理將在主數(shù)據(jù)庫(kù)上繼續(xù)進(jìn)行,這對(duì)性能只有很小的影響或沒(méi)有影響。

  在主數(shù)據(jù)庫(kù)出現(xiàn)故障的情況下,尚未被發(fā)送到備用數(shù)據(jù)庫(kù)的重做數(shù)據(jù)會(huì)丟失。但是,如果網(wǎng)絡(luò)有足夠的吞吐量來(lái)跟上重做流量高峰,并且使用了LGWR進(jìn)程來(lái)將重做流量傳輸?shù)絺溆梅?wù)器,則丟失的事務(wù)將非常少或者為零。

  當(dāng)主數(shù)據(jù)庫(kù)上的可用性和性能比丟失少量數(shù)據(jù)的風(fēng)險(xiǎn)更重要時(shí),應(yīng)該使用最高性能模式。這種模式還適合于WAN上的DataGuard部署,在WAN中,網(wǎng)絡(luò)的內(nèi)在延遲可能限制同步重做傳輸?shù)倪m用性。

  基于數(shù)據(jù)庫(kù)日志跟蹤分析的復(fù)制軟件介紹

  目前市場(chǎng)數(shù)據(jù)庫(kù)復(fù)制技術(shù)的工作原理大都與Oracle log相關(guān),例如DNT IDR數(shù)據(jù)庫(kù)復(fù)制產(chǎn)品就是通過(guò)對(duì)Oracle Log日志進(jìn)行分析獲取跟蹤源系統(tǒng)的交易指令,然后將交易指令傳到目標(biāo)端進(jìn)行重新執(zhí)行的方式來(lái)實(shí)現(xiàn)數(shù)據(jù)復(fù)制的。本文以DNT IDR軟件為例介紹基于數(shù)據(jù)庫(kù)日志跟蹤分析的復(fù)制原理。

  DNT IDR(以下簡(jiǎn)稱IDR),是基于交易的邏輯級(jí)Oracle數(shù)據(jù)同步軟件,利用數(shù)據(jù)庫(kù)日志在線跟蹤、分析技術(shù),將生產(chǎn)數(shù)據(jù)庫(kù)的交易信息以事務(wù)為單位,通過(guò)異步的方式,實(shí)時(shí)的傳遞、裝載到目標(biāo)數(shù)據(jù)庫(kù)中,以達(dá)到源端、目標(biāo)端數(shù)據(jù)保持同步的目的。是一種準(zhǔn)實(shí)時(shí)同步軟件。該軟件具有以下特點(diǎn):

  l IDR不依賴硬件的同步能力,支持多種系統(tǒng)平臺(tái),具有部署簡(jiǎn)單、同步速度快、交易延遲時(shí)間短的特點(diǎn)。

  l IDR能夠支持不同Oracle版本之間的交易同步。

  l IDR同步的目標(biāo)數(shù)據(jù)庫(kù)為在線打開(kāi)狀態(tài),可以隨時(shí)復(fù)用。

  l IDR適用于(異構(gòu))熱容災(zāi)、數(shù)據(jù)遷移、數(shù)據(jù)集中、數(shù)據(jù)分發(fā)、分擔(dān)業(yè)務(wù)等應(yīng)用領(lǐng)域。

  IDR利用數(shù)據(jù)庫(kù)日志在線跟蹤、分析技術(shù),反向工程解析日志,將生產(chǎn)數(shù)據(jù)庫(kù)的交易信息以事務(wù)為單位,通過(guò)異步的方式,實(shí)時(shí)的傳遞、裝載到目標(biāo)數(shù)據(jù)庫(kù)中,以達(dá)到源端、目標(biāo)端數(shù)據(jù)保持同步的目的。

  IDR技術(shù)原理與架構(gòu)

  (1)IDR的同步原理

  a、歷史數(shù)據(jù)同步

  使用快照方式:首次同步時(shí),對(duì)于同步map所涉及的每一個(gè)表的同步過(guò)程如下:

  l 鎖該表;

  l 記錄同步時(shí)刻的scn;

  l 讀取該表數(shù)據(jù);

  l 在讀取該表數(shù)據(jù)時(shí)接著將該表解鎖,無(wú)需等待該表數(shù)據(jù)讀取完畢。

  在表做開(kāi)始同步的時(shí)刻,鎖表是為了保證該表在日志中不會(huì)有交易發(fā)生,同時(shí)又因?yàn)橛涗浟藄cn,也不會(huì)有多余的交易被抓取、也不會(huì)漏掉相關(guān)交易。

  開(kāi)始讀取數(shù)據(jù)時(shí),利用了oracle數(shù)據(jù)庫(kù)自身提供的“多版本”特性,能夠保證讀取數(shù)據(jù)的一致性。同時(shí)對(duì)該表進(jìn)行解鎖,又使該表被鎖的時(shí)間不會(huì)太長(zhǎng)從而嚴(yán)重影響正常交易。

  這種方式保證了源端在任何時(shí)刻下都可以進(jìn)行首次數(shù)據(jù)的批量同步而不會(huì)影響同步數(shù)據(jù)的準(zhǔn)確性。

  讀文件方式:首次同步時(shí),對(duì)于同步map所涉及的每一個(gè)表的同步過(guò)程如下:

  l 記錄同步時(shí)刻的scn;

  l 讀取該表數(shù)據(jù);

  首次同步時(shí),直接從oracle數(shù)據(jù)文件中讀取該表數(shù)據(jù),同時(shí)記錄同步時(shí)刻的scn,由于這種方式要求在同步過(guò)程中,沒(méi)有交易產(chǎn)生,因此會(huì)保證歷史數(shù)據(jù)抓取的準(zhǔn)確性。在同步完成后,將變化數(shù)據(jù)實(shí)時(shí)抓取。

  b、交易抓取

  IDR通過(guò)事先創(chuàng)建的試圖來(lái)捕獲日志變化,由于每次捕獲的日志的物理位置都會(huì)記錄,因此可以得出日志變化量。

  后續(xù)的抓取日志、分析交易、傳輸交易,完全由IDR獨(dú)自完成,不使用oracle數(shù)據(jù)庫(kù)任何資源。

  在每次抓取的日志量處理完成后,記錄在IDR的緩存目錄中,因此對(duì)于日常運(yùn)行過(guò)程中,IDR停止或其它原因需要讀取歸檔日志時(shí),根據(jù)記錄的日志物理位置來(lái)定位需要抓取的歸檔日志。

  IDR抓取日志跟oracle數(shù)據(jù)庫(kù)是寫(xiě)日志是并行操作而又互不影響。

  正常情況下,IDR都是準(zhǔn)實(shí)時(shí)的抓取變化日志量。

  對(duì)于源端是rac環(huán)境來(lái)說(shuō):rac環(huán)境中,在每一個(gè)實(shí)例所在的主機(jī)操作系統(tǒng)上可以讀取另外主機(jī)的在線日志(包括歸檔日志)。通過(guò)每一個(gè)實(shí)例的日志和scn來(lái)保證交易順序的準(zhǔn)確性。

  c、交易分析

  嚴(yán)格按照源端Oracle數(shù)據(jù)庫(kù)內(nèi)部SCN執(zhí)行順序以及已經(jīng)提交的交易來(lái)合成交易文件,該交易文件號(hào)是依次遞增并且是唯一的,從0開(kāi)始,交易文件號(hào)的算法跟oracle的scn算法一樣,可以保證在oracle數(shù)據(jù)庫(kù)正常使用期間,保證。IDR能夠正常使用。

  IDR只處理已經(jīng)完成提交的交易,對(duì)于回滾操作,IDR不處理該操作。

  d、交易傳輸

  IDR只傳輸交易內(nèi)容,不傳輸交易內(nèi)容的數(shù)據(jù)結(jié)構(gòu),采用專有的合成交易文件格式,只有IDR提供的工具才可以解析交易內(nèi)容,這樣即證了在網(wǎng)絡(luò)傳輸過(guò)程中數(shù)據(jù)的安全性又可以保證網(wǎng)絡(luò)傳輸過(guò)程中數(shù)據(jù)的準(zhǔn)確性。

  滿足下列三種情況,源端將刪除該交易文件:

  l 接受的交易文件號(hào)跟源端傳輸?shù)囊粯印?/p>

  l 接受的交易文件大小跟源端傳輸?shù)囊粯印?/p>

  l 接受的交易文件校驗(yàn)碼跟源端傳輸?shù)囊粯印?/p>

  e、交易裝載

  目標(biāo)端接受交易合成文件后,首先存放在緩存目錄中,然后嚴(yán)格按照從小到大順序進(jìn)行裝載,裝載的交易文件不能缺失。否則裝載的進(jìn)程將一直處于等待狀態(tài),因此無(wú)論目標(biāo)端是rac環(huán)境還是單機(jī)環(huán)境都可以保證裝載的準(zhǔn)確性。

  這樣就可以保證在目標(biāo)端裝載過(guò)程中,保證按照源端合成的交易文件順序來(lái)裝載。

  (2)IDR支持的同步特性

  a、支持的同步對(duì)象

  IDR支持兩種級(jí)別數(shù)據(jù)庫(kù)對(duì)象的同步:用戶級(jí)同步、表級(jí)同步。

  用戶級(jí)同步:源端數(shù)據(jù)庫(kù)指定用戶及其所包含的表、視圖、索引、過(guò)程、函數(shù)、包、序列等數(shù)據(jù)對(duì)象全部同步到目標(biāo)端數(shù)據(jù)庫(kù)指定的用戶下。

  IDR支持源端用戶名和目標(biāo)端用戶名不同的同步方式。

  表級(jí)同步:表級(jí)同步分為單表同步和多表同步。

  單表同步指定源端數(shù)據(jù)庫(kù)指定用戶下的單個(gè)表同步到目標(biāo)端數(shù)據(jù)庫(kù)指定用戶下的單個(gè)表。

  多表同步,即group方式,針對(duì)多個(gè)用戶,每個(gè)用戶只同步指定的部分表同步的情況。

  b、支持的同步模式

  同步模式主要指源端和目標(biāo)端的架構(gòu)模式,具體分為

  1:1模式、1:n模式、n:1模式、1:1:1模式四種。

  1對(duì)1的同步模式:

  n對(duì)1同步模式:

  1對(duì)n同步模式:

  級(jí)聯(lián)同步:

  可以根據(jù)具體情況選擇或組合以上同步模式到您所需要的應(yīng)用架構(gòu)中。

  c、數(shù)據(jù)同步方式

  IDR支持歷史數(shù)據(jù)同步、只同步變化數(shù)據(jù)同步兩種方式。這兩種方式和有效結(jié)合或單獨(dú)使用。

  歷史數(shù)據(jù)指同步時(shí)刻已經(jīng)存在的數(shù)據(jù),歷史數(shù)據(jù)同步方式分為兩種:

  l 快照方式

  快照方式利用oracle的select的多版本特性,將歷史數(shù)據(jù)抓取到目標(biāo)端,同時(shí)可選擇將變化數(shù)據(jù)實(shí)時(shí)同步,在歷史數(shù)據(jù)裝載完成后,再裝載變化數(shù)據(jù)。歷史數(shù)據(jù)的抓取與變化數(shù)據(jù)的抓取之間無(wú)縫結(jié)合,有業(yè)務(wù)運(yùn)行也不影響數(shù)據(jù)同步的準(zhǔn)確性。

  相對(duì)而言,快照方式同步數(shù)據(jù)時(shí)間長(zhǎng),對(duì)于系統(tǒng)資源占有大。

  l 讀文件方式

  讀文件方式指IDR直接讀取oracle數(shù)據(jù)文件中的表數(shù)據(jù),同時(shí)可選擇變化數(shù)據(jù)實(shí)時(shí)抓取。

  相對(duì)而言,快照方式同步數(shù)據(jù)時(shí)間端,對(duì)于系統(tǒng)資源占有小。但是這種方式抓取歷史數(shù)據(jù)時(shí),源端系統(tǒng)不能有業(yè)務(wù),否則無(wú)法保證同步數(shù)據(jù)的準(zhǔn)確性。

  變化數(shù)據(jù)同步有兩種應(yīng)用方式:

  l 與歷史數(shù)據(jù)同步方式結(jié)合

  IDR支持歷史數(shù)據(jù)與變化數(shù)據(jù)無(wú)縫結(jié)合的同步模式,這種方式無(wú)需停止業(yè)務(wù)。

  l 單獨(dú)同步變化數(shù)據(jù)。

  這種方式是在兩邊數(shù)據(jù)已經(jīng)一致的情況下,將某一邊數(shù)據(jù)庫(kù)現(xiàn)產(chǎn)生的交易同步到另外一邊的數(shù)據(jù)庫(kù)中。

  d、數(shù)據(jù)定位方式

  目標(biāo)端裝載交易時(shí),對(duì)于目標(biāo)端對(duì)應(yīng)數(shù)據(jù)(表的記錄)的定位方式分為rowid和where兩種方式。

  rowid方式:使用rowid同步方式,由于在目標(biāo)端裝載時(shí)直接根據(jù)rowid方式定位表紀(jì)錄的物理位置,不會(huì)因?yàn)閿?shù)量量的差異而影響查找紀(jì)錄的速度。

  使用rowid方式時(shí),首先必須進(jìn)行全同步+增量同步結(jié)合的模式,后續(xù)的增量數(shù)據(jù)依賴全同步數(shù)據(jù)。即使源端某些表的紀(jì)錄完全相同,則也不會(huì)影響數(shù)據(jù)的準(zhǔn)確性。

  Where方式:Where方式在目標(biāo)端裝載數(shù)據(jù)時(shí),對(duì)于目標(biāo)端對(duì)應(yīng)的數(shù)據(jù)查找依賴對(duì)應(yīng)表的where條件,對(duì)于對(duì)應(yīng)數(shù)據(jù)的查找速度完全依賴于數(shù)據(jù)庫(kù)本身的查找速度。

  主要滿足兩種應(yīng)用需要:

  一種跟rowid方式相同,差別在于表的數(shù)據(jù)不能出現(xiàn)重復(fù)紀(jì)錄。

  另外一種方式是只同步變化數(shù)據(jù)部分。只依賴源端和目標(biāo)端相關(guān)表的數(shù)據(jù)結(jié)構(gòu)。這種方式采用IDR的只進(jìn)行增量同步的方式進(jìn)行。

  (3)IDR同步的性能

  a、讀取在線日志

  IDR是直接通過(guò)讀取Oracle日志來(lái)分析出交易內(nèi)容,而不是通過(guò)數(shù)據(jù)庫(kù)表來(lái)得到,這樣將不依賴數(shù)據(jù)庫(kù)本身的數(shù)據(jù)內(nèi)容而直接得到交易信息。從而大大加快了合成交易文件的速度。

  b、內(nèi)存中完成交易解析

  源端在線日志的抓取的最新位置是通過(guò)查詢數(shù)據(jù)庫(kù)實(shí)例sga的動(dòng)態(tài)視圖得到的,這樣不僅速度快而且不會(huì)直接影響源端數(shù)據(jù)庫(kù)的物理I/O。

  源端歸檔日志的抓取是直接抓取歸檔日志內(nèi)容。也不會(huì)影響到源端數(shù)據(jù)庫(kù)的物理I/O。

  抓取后的數(shù)據(jù),只分析同步用戶或表相關(guān)的交易,對(duì)于跟同步用戶或表無(wú)關(guān)的交易直接丟棄。

  日志的抓取、分析、合成大部分情況下都是在內(nèi)存中完成的,只有少數(shù)批量交易數(shù)據(jù)時(shí)才會(huì)使用緩存目錄,這樣就可以盡可能的提高抓取、分析、合成交易的速度。

  c、只合成已經(jīng)提交的交易

  IDR只合成跟同步用戶或表有關(guān)的、已經(jīng)提交的交易,并且每一個(gè)交易的大小不會(huì)超過(guò)10MB。這樣將大大提高交易文件的合成速度。

  d、實(shí)時(shí)壓縮傳輸

  網(wǎng)絡(luò)傳輸時(shí),首先在源端將交易合成文件在內(nèi)存中進(jìn)行壓縮,在目標(biāo)端接收后在內(nèi)存中完成解壓縮,即:進(jìn)行傳輸之前先壓縮、目標(biāo)端接受壓縮交易文件解壓縮后,存放到相應(yīng)的緩存目錄下。這樣可以大大減少網(wǎng)絡(luò)流量,從而加快交易合成文件傳輸?shù)乃俣取?/p>

 printershare高級(jí)版_printer下載

  對(duì)于不含有l(wèi)ob類型的字段,交易合成文件何以壓縮到10-15%左右。

  e、通過(guò)rowid尋址

  數(shù)據(jù)庫(kù)修改一條記錄通常依賴索引或全表掃描,這樣操作速度會(huì)因?yàn)閿?shù)據(jù)量的差別而有明顯的差異。IDR是直接通過(guò)rowid對(duì)該記錄進(jìn)行操作的,不會(huì)因?yàn)閿?shù)據(jù)量的明顯差異使合成的交易文件中的交易提交速度有明顯的差異。這一點(diǎn)對(duì)于海量數(shù)據(jù)尤為明顯。

  f、合成交易文件大小

  IDR對(duì)每一個(gè)合成的交易文件最大上限為10MB,加上網(wǎng)絡(luò)傳輸時(shí)的壓縮功能,會(huì)使網(wǎng)絡(luò)傳輸速度大大提高。

  由于每一個(gè)合成的交易文件最大為10MB,在目標(biāo)端裝載時(shí)的讀取、裝載速度會(huì)很快、占用資源會(huì)比較少,從而大大加快了每一個(gè)交易合成文件的裝載速度。

  g、首次同步的性能

  對(duì)于首次同步而言,無(wú)論是快照方式還是讀數(shù)據(jù)文件的方式,IDR在源端支持多達(dá)16個(gè)并行同步、目標(biāo)端支持并行裝載的模式,這樣可以充分利用主機(jī)資源,加快首次同步的速度,減少首次同步對(duì)于源端、目標(biāo)端主機(jī)性能的影響。

  h、增量同步的性能

  對(duì)于某些情況下,目標(biāo)節(jié)點(diǎn)裝載增量合成交易文件慢的情況,IDR支持多達(dá)32個(gè)并行裝載,可以將不同用戶或表的數(shù)據(jù)放在不同的增量目錄下,實(shí)行并行裝載,不過(guò)對(duì)于表之間有關(guān)聯(lián)關(guān)系的數(shù)據(jù)(比如外健),就需要將這些有關(guān)聯(lián)關(guān)系的表放在同一個(gè)增量目錄下,來(lái)保證裝載數(shù)據(jù)正確性。

評(píng)論列表

還沒(méi)有評(píng)論,快來(lái)說(shuō)點(diǎn)什么吧~

發(fā)表評(píng)論

真誠(chéng)期待與您的合作

獲取報(bào)價(jià)·了解更多業(yè)務(wù)·7*24小時(shí)專業(yè)服務(wù)

聯(lián)系我們