偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解容災(zāi)架構(gòu)中的數(shù)據(jù)復(fù)制技術(shù)

開發(fā) 架構(gòu)
對于操作系統(tǒng)層面的邏輯卷管理器LVM模式來講,是將底層來自不同數(shù)據(jù)中心的的兩個(gè)物理存儲卷作為物理鏡像( PV) 組合成一個(gè)可用的邏輯存儲卷( LV) 提供給上層應(yīng)用來存放數(shù)據(jù),本地物理卷和遠(yuǎn)程物理卷分別是由存儲經(jīng)過本地SAN環(huán)境以及跨數(shù)據(jù)中心SAN環(huán)境提供給服務(wù)器操作系統(tǒng)層。

1. 什么是企業(yè)容災(zāi)的數(shù)據(jù)復(fù)制技術(shù)?

企業(yè)容災(zāi)架構(gòu)中,所謂的數(shù)據(jù)復(fù)制技術(shù)主要是指能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行復(fù)制,從而保證數(shù)據(jù)具備雙副本或者多副本分散在不同數(shù)據(jù)中心的技術(shù)。這里面需要強(qiáng)調(diào)兩點(diǎn):

① 結(jié)構(gòu)化數(shù)據(jù):以結(jié)構(gòu)化數(shù)據(jù)為主的數(shù)據(jù)復(fù)制技術(shù)。

② 分散在不同數(shù)據(jù)中心:數(shù)據(jù)副本必須分布在不同的數(shù)據(jù)中心。

就具體的實(shí)現(xiàn)技術(shù)而言,就目前業(yè)界發(fā)展來看,可以實(shí)現(xiàn)數(shù)據(jù)復(fù)制的技術(shù)多種多樣,有基于數(shù)據(jù)庫層面的數(shù)據(jù)復(fù)制技術(shù),例如Oracle公司的Active Data Gurad、IBM公司的 Db2 HADR等;有基于系統(tǒng)層面的數(shù)據(jù)復(fù)制技術(shù),例如賽門鐵克的vxvm、傳統(tǒng)的邏輯卷管理(LVM)、Oracle公司的自動(dòng)存儲管理(ASM)冗余技術(shù)、IBM公司的GPFS等;有基于存儲虛擬化實(shí)現(xiàn)的數(shù)據(jù)復(fù)制技術(shù),例如EMC公司Vplex Stretch Cluster、IBM公司SVC Split Cluster、NetAPP公司Metro Cluster等;也有基于存儲底層實(shí)現(xiàn)的數(shù)據(jù)復(fù)制技術(shù),例如IBM公司的DS8000 PPRC技術(shù)、EMC公司的SRDF技術(shù)、HP公司的CA技術(shù)等等。每一種技術(shù)都有其實(shí)現(xiàn)的前提條件,也有各自的技術(shù)特點(diǎn)和實(shí)現(xiàn)的不同效果。

2. 企業(yè)容災(zāi)中的數(shù)據(jù)復(fù)制技術(shù)的分類

2.1 同步復(fù)制和異步復(fù)制

從RPO維度來劃分,大的方面可以分為同步復(fù)制和異步復(fù)制。

① 同步復(fù)制:要求每一個(gè)寫入操作在執(zhí)行下一個(gè)操作處理之前,在源端和目標(biāo)端都能完成。特點(diǎn)是數(shù)據(jù)丟失少,會影響生產(chǎn)系統(tǒng)性能,除非目標(biāo)系統(tǒng)物理上離生產(chǎn)系統(tǒng)比較近。

② 異步復(fù)制:在處理下一個(gè)操作前, 只需要完成源端數(shù)據(jù)寫入即可, 不等待數(shù)據(jù)復(fù)制到目標(biāo)系統(tǒng)中。特點(diǎn)是復(fù)制的數(shù)據(jù)與源數(shù)據(jù)有時(shí)間差,但這種復(fù)制對生產(chǎn)系統(tǒng)性能影響較小。

那么這里有一個(gè)問題“如何界定一個(gè)寫入操作完成?”,一般來講,存儲端的寫入以存儲設(shè)備的緩存寫入為標(biāo)準(zhǔn),數(shù)據(jù)庫的寫入以數(shù)據(jù)庫的事務(wù)日志落盤為標(biāo)準(zhǔn)。

圖片

如果用圖的方式來區(qū)別同步和異步之前的區(qū)別就在于:同步需要等待黑色和紅色的ACK返回才會執(zhí)行下一個(gè)IO,而異步只需要等待黑色的ACK返回即可執(zhí)行下一個(gè)IO。從結(jié)果上來看,等待紅色的ACK返回顯然需要花費(fèi)更多時(shí)間,因?yàn)锳和B分別位于不同的數(shù)據(jù)中心;但是等待會帶來RPO=0的回報(bào)。

2.2 根據(jù)實(shí)現(xiàn)復(fù)制的手段來劃分

圖片

根據(jù)上圖,數(shù)據(jù)復(fù)制最終完成的結(jié)果是在兩個(gè)磁盤介質(zhì)上完成同一個(gè)IO數(shù)據(jù),但是將來自客戶端的單個(gè)IO請求鏡像為兩個(gè)IO的源頭可以有三種不同的選擇:操作系統(tǒng)層面、數(shù)據(jù)庫層面以及存儲層面。

1)操作系統(tǒng)層面的復(fù)制技術(shù):以LVM、VXVM等邏輯卷鏡像為基礎(chǔ),IO寫入的時(shí)候可以在組成同一個(gè)邏輯卷的物理鏡像上同時(shí)寫入數(shù)據(jù),底層數(shù)據(jù)寫入是需要通過SAN協(xié)議完成的。

2)數(shù)據(jù)庫層面的復(fù)制技術(shù):一種是類似操作系統(tǒng)邏輯卷的模式,比如ORACLE的ASM,它也是一種邏輯卷管理模式,同樣也可以通過多個(gè)物理鏡像來組成一個(gè)邏輯卷,從而通過鏡像復(fù)制的方式完成數(shù)據(jù)副本的同時(shí)寫入。本質(zhì)上它與操作系統(tǒng)層面的邏輯卷鏡像技術(shù)沒有區(qū)別,只是它離數(shù)據(jù)庫更近,數(shù)據(jù)庫更懂它。另外一種是通過數(shù)據(jù)庫事務(wù)日志復(fù)制的方式將數(shù)據(jù)修改行為在另外一個(gè)備庫上重新演繹一遍,最終可以達(dá)到使數(shù)據(jù)結(jié)果一致的目的。

3)存儲層面的復(fù)制技術(shù):一種是通過存儲網(wǎng)關(guān)將兩個(gè)物理存儲卷組成一個(gè)邏輯存儲卷,通過鏡像復(fù)制的方式完成數(shù)據(jù)在存儲落盤時(shí)的雙寫。本質(zhì)上它與操作系統(tǒng)層面的邏輯卷鏡像技術(shù)也沒有區(qū)別,只是它選擇在存儲層面實(shí)現(xiàn)。另外一種是通過存儲介質(zhì)之間以塊拷貝的方式來實(shí)現(xiàn)數(shù)據(jù)副本的冗余。

究其原理,其實(shí)無論從哪個(gè)層面來實(shí)現(xiàn),這些技術(shù)從原理上可以劃分為三種類型:

  • IO雙寫(操作系統(tǒng)邏輯卷鏡像、ASM、存儲網(wǎng)關(guān)鏡像.etc)
  • 事務(wù)回放(以O(shè)racle ADG為代表.etc)
  • 數(shù)據(jù)單元拷貝(以存儲CA、DP技術(shù)為代表的存儲復(fù)制技術(shù))

3. 系統(tǒng)層如何實(shí)現(xiàn)數(shù)據(jù)復(fù)制?

3.1 通過操作系統(tǒng)邏輯卷鏡像實(shí)現(xiàn)數(shù)據(jù)復(fù)制

圖片

對于操作系統(tǒng)層面的邏輯卷管理器LVM模式來講,是將底層來自不同數(shù)據(jù)中心的的兩個(gè)物理存儲卷作為物理鏡像( PV) 組合成一個(gè)可用的邏輯存儲卷( LV) 提供給上層應(yīng)用來存放數(shù)據(jù),本地物理卷和遠(yuǎn)程物理卷分別是由存儲經(jīng)過本地SAN環(huán)境以及跨數(shù)據(jù)中心SAN環(huán)境提供給服務(wù)器操作系統(tǒng)層。

建立邏輯卷的時(shí)候就已經(jīng)定義好LV和PV的映射關(guān)系,并且邏輯頁(LP ) 和物理頁(PP ) 的映射關(guān)系也已經(jīng)完全定義好了。這種復(fù)制只能采用同步復(fù)制機(jī)制,復(fù)制對象為邏輯卷層的變化Block,其過程為:捕獲邏輯頁( LP) 當(dāng)中的變化塊,同步寫兩個(gè)物理頁( PP) ,等于在一個(gè)主機(jī)上將同一數(shù)據(jù)寫入兩個(gè)不同的磁盤,本地寫完得到ACK確認(rèn),并且遠(yuǎn)端寫完也得到ACK確認(rèn),才能算是一個(gè)完整的寫入。假設(shè)遠(yuǎn)端存儲卷寫入超時(shí)就會被標(biāo)為故障或者是離線狀態(tài),當(dāng)遠(yuǎn)端存儲寫入恢復(fù)之后,對于LVM來講需要重新進(jìn)行手動(dòng)同步實(shí)現(xiàn)鏡像副本完全一致。

3.2 通過數(shù)據(jù)庫邏輯卷鏡像實(shí)現(xiàn)的數(shù)據(jù)復(fù)制

圖片

對于ASM模式來講,其實(shí)原理與LVM基本相同,創(chuàng)建DiskGroup的時(shí)候,將冗余策略選擇為Normal,也就是所有業(yè)務(wù)數(shù)據(jù)保證兩份鏡像。這樣的話,我們可以將相等數(shù)量的磁盤分別歸入不同的故障組( Failure Group) 。ASM對Oracle數(shù)據(jù)文件( Data File) 進(jìn)行修改的時(shí)候,以AU為單元進(jìn)行實(shí)時(shí)雙向?qū)懭?,本地寫完得到ACK確認(rèn),并且遠(yuǎn)端寫完也得到ACK確認(rèn),才能算是一個(gè)完整的寫入。

相比LVM的優(yōu)勢在于兩點(diǎn):ASM會有一個(gè)短時(shí)間內(nèi)的寫事務(wù)日志記錄,它會幫助恢復(fù)離線鏡像恢復(fù)數(shù)據(jù),但是如果超過這個(gè)時(shí)間,同樣需要一個(gè)全新的同步來保證數(shù)據(jù)的一致性。另外一點(diǎn),AU并非建立數(shù)據(jù)文件的時(shí)候就已經(jīng)映射好了,ASM是在數(shù)據(jù)寫入時(shí)才會分配具體的AU,完全可以做到通過指針轉(zhuǎn)移的方式避免壞塊兒導(dǎo)致的數(shù)據(jù)寫入失敗問題。

3.3 通過分布式文件系統(tǒng)文件鏡像實(shí)現(xiàn)的數(shù)據(jù)復(fù)制

圖片

對于GPFS模式來講,它是通過將底層來自不同站點(diǎn)的兩個(gè)物理存儲卷歸屬到不同的Failure Group當(dāng)中,然后由這些物理存儲卷經(jīng)過文件系統(tǒng)格式化形成分布式文件系統(tǒng),提供給上層應(yīng)用以文件的形式寫入數(shù)據(jù)。文件本身會被GPFS文件系統(tǒng)打散形成若干文件碎片,這些碎片在落盤時(shí)分別落入不同F(xiàn)ailure Group當(dāng)中的物理磁盤,從而保證底層數(shù)據(jù)的雙副本。這種模式與前兩種模式的最大區(qū)別在于它的數(shù)據(jù)落盤是根據(jù)NSD磁盤定義的服務(wù)實(shí)例順序來決定的,正常情況下我們需要定義本站點(diǎn)的服務(wù)節(jié)點(diǎn)為磁盤的主服務(wù)節(jié)點(diǎn),這樣的話兩個(gè)鏡像寫入的時(shí)候是靠GPFS位于不同中心的兩個(gè)服務(wù)實(shí)例節(jié)點(diǎn)分別寫入,兩個(gè)服務(wù)實(shí)例之間也需要私有協(xié)議的交互,相當(dāng)于數(shù)據(jù)的雙寫多了一個(gè)環(huán)節(jié)。

4. 數(shù)據(jù)庫層如何實(shí)現(xiàn)數(shù)據(jù)復(fù)制?

4.1 通過數(shù)據(jù)庫日志回放模式實(shí)現(xiàn)數(shù)據(jù)復(fù)制

對于事務(wù)日志的復(fù)制技術(shù),可以分為絕對同步模式、近似同步模式和異步模式三種。

圖片

對于Oracle DB來講,客戶端的數(shù)據(jù)更新請求首先要由日志寫入進(jìn)程( LGWR) 從重做緩存刷到重做日志文件當(dāng)中,然后由數(shù)據(jù)寫進(jìn)程再周期性地寫入數(shù)據(jù)文件當(dāng)中。重做日志當(dāng)中以SCN為數(shù)據(jù)庫獨(dú)有的時(shí)間戳序列來記錄所有數(shù)據(jù)庫更新的先后順序,從而保障數(shù)據(jù)庫恢復(fù)能夠按照正確的順序執(zhí)行保障數(shù)據(jù)一致性和完整性。也就是說在數(shù)據(jù)庫的認(rèn)知當(dāng)中,只要事務(wù)日志寫入重做日志文件,這個(gè)IO就算完成。

圖片

如圖,對于配置了Data Guard絕對同步模式的數(shù)據(jù)庫,在以上所述過程中,寫入進(jìn)程( LGWR) 在本地日志文件并不能結(jié)束,日志傳輸進(jìn)程( LNS) 會將緩存里面的重做日志通過TCP /IP 網(wǎng)絡(luò)傳輸給災(zāi)備站點(diǎn)的備庫實(shí)例的日志接受進(jìn)程(RFS ) ,備庫實(shí)例的日志接收進(jìn)程( RFS) 根據(jù)接受到的重做日志在備庫上重新執(zhí)行數(shù)據(jù)庫的更新操作,然后將ACK回傳給日志傳輸進(jìn)程( LNS) ,日志傳輸進(jìn)程( LNS) 再通知寫入進(jìn)程( LGWR) ,才算是一個(gè)完整的IO完成。這樣做可以保證主庫和備庫的事務(wù)性更新行為實(shí)時(shí)一致,最終保證數(shù)據(jù)的一致。當(dāng)然也有一個(gè)前提條件,那就是在Data Guard開始同步復(fù)制之前,必須保證備庫的數(shù)據(jù)保持與主庫的某一固定時(shí)間點(diǎn)的完整副本,這需要靠傳統(tǒng)數(shù)據(jù)備份技術(shù)來實(shí)現(xiàn)備庫的初始數(shù)據(jù)復(fù)制。因?yàn)槭聞?wù)復(fù)制的本質(zhì)是行為復(fù)制,那么行為作用的初始數(shù)據(jù)副本必須保持一致,才能保證最終兩副本的一致性。

如圖,對于配置了Data Guard異步模式的數(shù)據(jù)庫,日志傳輸進(jìn)程( LNS) 會將緩存里面的重做日志以及被LGWR歸檔的重做日志文件通過TCP /IP 網(wǎng)絡(luò)異步傳輸給災(zāi)備站點(diǎn)的備庫實(shí)例的日志接受進(jìn)程(RFS ) ,備庫實(shí)例的日志接收進(jìn)程( RFS) 根據(jù)接受到的重做日志在備庫上重新執(zhí)行數(shù)據(jù)庫的更新操作,但是并不會實(shí)時(shí)給日志傳輸進(jìn)程( LNS) 進(jìn)行ACK反饋,PrimaryDB只要完成本庫的事務(wù)更新就認(rèn)為IO結(jié)束。但是備庫日志接受進(jìn)程(RFS ) 會定期將進(jìn)度信息反饋給主庫進(jìn)程。

當(dāng)主備庫傳輸管理剝離之后,主庫會主動(dòng)通過以下兩種方式探測并嘗試重新和備庫建立聯(lián)系,第一是歸檔日志進(jìn)程會周期性ping備庫,成功情況下,它會根據(jù)獲得的備庫控制文件的記錄的最后歸檔點(diǎn)和自己的歸檔日志決定向備庫推送哪些歸檔日志。第二是日志發(fā)送進(jìn)程會在重做日志準(zhǔn)備發(fā)生歸檔的時(shí)刻點(diǎn)主動(dòng)去ping備庫日志接受進(jìn)程并把剩余的重做條目發(fā)送給備庫接受進(jìn)程。

近似同步模式是指在傳輸正常情況下保持與絕對同步模式一樣的模式,在網(wǎng)絡(luò)傳輸超時(shí)的情況下,就會剝離備庫重做日志的過程,只要保證主庫重做日志落盤就可以了。

5. 存儲層如何實(shí)現(xiàn)數(shù)據(jù)復(fù)制?

5.1 通過存儲網(wǎng)關(guān)邏輯卷鏡像實(shí)現(xiàn)數(shù)據(jù)復(fù)制

所謂存儲網(wǎng)關(guān)雙寫復(fù)制技術(shù),就是在物理存儲層之上增加一層網(wǎng)關(guān)技術(shù),用以形成存儲資源透明抽象層,即存儲虛擬化是服務(wù)器與存儲間的一個(gè)抽象層用以實(shí)現(xiàn)存儲底層的虛擬化以及高可用鏡像,它是物理存儲的邏輯表示方法。其主要目的就是要把物理存儲介質(zhì)抽象為邏輯存儲空間,將分散的物理存儲管理整合為集中存儲管理并且由存儲網(wǎng)關(guān)來控制鏡像寫入的策略和模式。IBM、EMC、NETAPP 、 HUAWEI、英方等公司都有相應(yīng)容災(zāi)技術(shù)方案及相應(yīng)產(chǎn)品 。基于寫入原理及策略的不同, 各自方案又各有一些區(qū)別。但是拋開細(xì)節(jié)究原理,歸類總結(jié)之后有兩種模式 。

圖片

模式 1,如 圖中所示,是以 EMC Vplex為代表的分布式存儲卷技術(shù)。在存儲網(wǎng)關(guān)VPLEX上重新定義虛擬存儲卷,該虛擬卷由分布在兩個(gè)數(shù)據(jù)中心的物理存儲卷以1:1方式映射組成,并且以共享模式提供給VPLEX的兩個(gè)引擎,引擎之間類似Oracle RAC的原理來共享全局緩存、心跳信息以及分布式鎖的信息。兩個(gè)引擎同時(shí)可以寫IO,對于Block級別的并發(fā)寫操作,是通過分布式鎖及全局緩存機(jī)制來完成。所以這種雙寫是可以做到IO級別。

圖片

模式 2,如圖中所示,是以 IBM SVC為代表的虛擬存儲卷技術(shù)。在存儲網(wǎng)關(guān)SVC上重新定義虛擬存儲卷,該虛擬卷由分布在兩個(gè)數(shù)據(jù)中心的物理存儲卷以1:1方式映射組成,并且歸屬同一個(gè)IO Group,并且以共享模式提供給SVC的兩個(gè)節(jié)點(diǎn),雖然兩個(gè)節(jié)點(diǎn)都可以寫操作,但是對于某一個(gè)IO Group來講,只能通過一側(cè)節(jié)點(diǎn)進(jìn)行物理層面的雙寫操作,這樣就避免了兩個(gè)節(jié)點(diǎn)的在Block級別的并發(fā)控制。所以這種雙寫只能做到應(yīng)用級別,做不到IO級別。

當(dāng)然還有一些類似的架構(gòu),在某些細(xì)節(jié)上更先進(jìn),比如NetApp的容災(zāi)方案MCC架構(gòu),它在此基礎(chǔ)之上可以將負(fù)責(zé)存儲寫操作的實(shí)例節(jié)點(diǎn)做到VM級別,VM負(fù)責(zé)以卷為粒度的雙寫,同時(shí)VM可以在存儲網(wǎng)關(guān)的物理引擎或節(jié)點(diǎn)之間進(jìn)行漂移和重組,這樣的話以應(yīng)用為粒度的寫操作的容災(zāi)切換更加平滑。

5.2 通過存儲介質(zhì)塊復(fù)制實(shí)現(xiàn)數(shù)據(jù)復(fù)制

圖片

對于存儲存儲底層的塊兒復(fù)制技術(shù)來講, 它的數(shù)據(jù)復(fù)制是完全脫離了上層的應(yīng)用層、系統(tǒng)層、數(shù)據(jù)庫層。主要是依靠存儲層兩個(gè)物理存儲設(shè)備 來完成源到目標(biāo) 設(shè)備 的 Block 復(fù)制。

如圖所示,從組成上來看,只有兩個(gè)同型物理存儲設(shè)備,數(shù)據(jù)復(fù)制跟上層沒有任何關(guān)系,只需要存儲層從一邊的物理卷捕獲 Block變化,復(fù)制到另外一邊的物理存儲卷,整個(gè)復(fù)制行為通過源端的日志文件來記錄進(jìn)度以及保障故障恢復(fù)。根據(jù)整個(gè)復(fù)制過程是否需要等待復(fù)制完成的ACK返回可以分為同步復(fù)制和異步復(fù)制。復(fù)制過程依賴的傳輸環(huán)境可以是遠(yuǎn)距離的以太網(wǎng)也可以是近距離的SAN網(wǎng)絡(luò)。

但是這種數(shù)據(jù)復(fù)制技術(shù)和上層的聯(lián)系幾乎是割裂的,基本很難與上層的容災(zāi)切換配合。?

責(zé)任編輯:武曉燕 來源: twt企業(yè)IT社區(qū)
相關(guān)推薦

2020-03-16 12:39:47

容災(zāi)備份規(guī)劃

2009-01-06 13:40:26

服務(wù)器存儲備份

2021-07-07 21:07:16

PostgreSQL架構(gòu)容災(zāi)庫

2020-02-07 15:12:13

容災(zāi)技術(shù)構(gòu)建平臺

2017-10-26 09:22:26

2011-07-12 10:04:02

虛擬化IT容災(zāi)

2011-07-12 09:32:46

云計(jì)算虛擬化IT容災(zāi)

2016-05-24 17:48:04

可用區(qū) Sixsho

2018-07-30 16:18:51

容災(zāi)備份

2013-09-10 09:25:43

初志科技遠(yuǎn)程容災(zāi)

2011-07-12 09:48:01

云計(jì)算虛擬化服務(wù)器

2010-04-22 17:17:44

Oracle遠(yuǎn)程復(fù)制

2009-12-28 00:20:52

2015-08-27 17:17:41

數(shù)據(jù)中心備份容災(zāi)

2013-11-13 13:53:51

華為云容災(zāi)集約化容災(zāi)

2018-04-17 10:53:51

2017-07-10 13:38:34

數(shù)據(jù)保護(hù)容災(zāi)

2017-01-12 17:22:34

2016-11-24 14:24:11

Zerto數(shù)據(jù)保護(hù)

2019-09-06 08:53:32

數(shù)據(jù)庫高可用容災(zāi)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號