一、CDP與備份、復(fù)制的不同
通常的災(zāi)難恢復(fù)技術(shù)包括數(shù)據(jù)的備份、復(fù)制、應(yīng)用的遠(yuǎn)程集群等。目前,一種新的災(zāi)難恢復(fù)技術(shù)----持續(xù)數(shù)據(jù)保護(hù)(ContinuousDataProtection,CDP)開(kāi)始進(jìn)入應(yīng)用成熟期。過(guò)去幾年來(lái),所有主要的廠商都開(kāi)始進(jìn)入CDP市場(chǎng),從而推動(dòng)CDP成為主流技術(shù)。如今,市場(chǎng)上已經(jīng)有很多CDP廠商,比如Atempo、BakBone、DataCore、EMC、FalconStor、IBM、InMage等等,浪潮也在新推出的海量存儲(chǔ)平臺(tái)中,融合了CDP的功能,幫助用戶實(shí)現(xiàn)對(duì)數(shù)據(jù)的高效保護(hù)。
如何給CDP下個(gè)準(zhǔn)確的定義呢?SNIA數(shù)據(jù)保護(hù)論壇(DMF)的持續(xù)數(shù)據(jù)保護(hù)特別興趣小組(CDPSIG)是這樣定義CDP的:“持續(xù)數(shù)據(jù)保護(hù)是一套方法,它可以捕獲或跟蹤數(shù)據(jù)的變化,并將其獨(dú)立存放在生產(chǎn)數(shù)據(jù)之外,以確保數(shù)據(jù)可以恢復(fù)到過(guò)去的任意時(shí)間點(diǎn)。持續(xù)數(shù)據(jù)保護(hù)系統(tǒng)可以基于塊、文件或應(yīng)用實(shí)現(xiàn),可以為恢復(fù)對(duì)象提供足夠細(xì)的恢復(fù)粒度,實(shí)現(xiàn)幾乎無(wú)限多的恢復(fù)時(shí)間點(diǎn)。”
傳統(tǒng)的數(shù)據(jù)保護(hù)解決方案專(zhuān)注在對(duì)數(shù)據(jù)的周期性備份上,因此一直伴隨有備份窗口、數(shù)據(jù)一致性和對(duì)生產(chǎn)系統(tǒng)的影響等問(wèn)題。實(shí)際上,傳統(tǒng)數(shù)據(jù)保護(hù)技術(shù)中采用的是對(duì)“單一時(shí)間點(diǎn)(SinglePoint-In-Time)”的數(shù)據(jù)拷貝進(jìn)行管理的模式,而CDP可以實(shí)現(xiàn)對(duì)“任意時(shí)間點(diǎn)(AnyPoint-In-Time)”的數(shù)據(jù)訪問(wèn),因此可以大大提高數(shù)據(jù)恢復(fù)點(diǎn)目標(biāo)(RPO)。由于用戶的備份策略通常是設(shè)定在每天的固定時(shí)刻啟動(dòng)備份任務(wù),因此備份技術(shù)實(shí)現(xiàn)的數(shù)據(jù)保護(hù)間隔一般為24小時(shí),導(dǎo)致用戶會(huì)面臨數(shù)據(jù)丟失多達(dá)24小時(shí)的風(fēng)險(xiǎn);而采用快照技術(shù),無(wú)論是基于文件系統(tǒng)的快照還是基于數(shù)據(jù)卷的快照,根據(jù)快照?qǐng)?zhí)行的間隔,一般可以將數(shù)據(jù)的丟失量風(fēng)險(xiǎn)降低到小時(shí)級(jí);最新的CDP技術(shù)由于采用了更精細(xì)的數(shù)據(jù)保護(hù)方法,能夠?qū)崿F(xiàn)將數(shù)據(jù)丟失量降低到秒級(jí)。
另外一種在數(shù)據(jù)容災(zāi)中常見(jiàn)的數(shù)據(jù)保護(hù)技術(shù)是復(fù)制技術(shù),它可以通過(guò)與生產(chǎn)數(shù)據(jù)的同步獲得數(shù)據(jù)的最新?tīng)顟B(tài),但其無(wú)法規(guī)避有人為的邏輯錯(cuò)誤或病毒攻擊所造成的數(shù)據(jù)丟失。當(dāng)生產(chǎn)數(shù)據(jù)由于以上原因?qū)е聰?shù)據(jù)遭到破壞時(shí)(例如數(shù)據(jù)被誤刪除),復(fù)制技術(shù)會(huì)將遭到破壞的數(shù)據(jù)狀態(tài)同步到容災(zāi)數(shù)據(jù)存儲(chǔ)系統(tǒng),使容災(zāi)數(shù)據(jù)也受到破壞。而CDP系統(tǒng)可以使數(shù)據(jù)狀態(tài)恢復(fù)到數(shù)據(jù)遭到破壞之前的任意一個(gè)時(shí)間點(diǎn),因而消除了復(fù)制技術(shù)所含的風(fēng)險(xiǎn)。
不同的數(shù)據(jù)保護(hù)技術(shù)對(duì)于數(shù)據(jù)保護(hù)在時(shí)間間隔上的比較效果如下圖所示:
二、CDP的實(shí)現(xiàn)模式探討
持續(xù)數(shù)據(jù)保護(hù)實(shí)現(xiàn)的關(guān)鍵技術(shù)是對(duì)數(shù)據(jù)變化的記錄和保存,以便實(shí)現(xiàn)任意時(shí)間點(diǎn)的快速恢復(fù)。持續(xù)數(shù)據(jù)保護(hù)技術(shù)有多種實(shí)現(xiàn)模式,不同的廠商建立了不同的CDP模型,從目前市場(chǎng)主流廠商的CDP產(chǎn)品的實(shí)現(xiàn)模式來(lái)分析,主要有兩種:基于文件系統(tǒng)實(shí)現(xiàn)CDP和基于數(shù)據(jù)塊實(shí)現(xiàn)CDP。
1、基于文件系統(tǒng)實(shí)現(xiàn)CDP
基于文件系統(tǒng)的CDP,其功能作用在文件系統(tǒng)上,它可以捕捉文件系統(tǒng)數(shù)據(jù)或者元數(shù)據(jù)的變化事件(比如創(chuàng)建、修改、刪除等),并及時(shí)將文件的變動(dòng)記錄下來(lái),以便將來(lái)實(shí)現(xiàn)任意時(shí)間點(diǎn)的文件恢復(fù)。Storactive公司的LiveBackupforDesktop/Laptops、TimeSpring公司的TimeData、浪潮公司的NearCDP等產(chǎn)品,都能提供基于文件的CDP功能。
2、基于數(shù)據(jù)塊實(shí)現(xiàn)CDP
基于塊的CDP功能直接運(yùn)行在物理的存儲(chǔ)設(shè)備或邏輯的卷管理器上,甚至也可以運(yùn)行在數(shù)據(jù)傳輸層上。當(dāng)數(shù)據(jù)塊寫(xiě)入生產(chǎn)數(shù)據(jù)的存儲(chǔ)設(shè)備時(shí),CDP系統(tǒng)可以捕獲數(shù)據(jù)的拷貝并將其存放在另外一個(gè)存儲(chǔ)設(shè)備中。
基于數(shù)據(jù)塊的數(shù)據(jù)保護(hù)又有基于主機(jī)層、基于傳輸層和基于存儲(chǔ)層三類(lèi)實(shí)現(xiàn)方式。
?。?)基于主機(jī)端卷管理軟件或客戶端代理軟件Agent實(shí)現(xiàn)目前常見(jiàn)的主機(jī)端卷管理軟件有VeritasVxVM、LinuxLVM、Microsoft動(dòng)態(tài)磁盤(pán)等,也有廠商針對(duì)Linux和Windows平臺(tái)開(kāi)發(fā)了客戶端代理軟件Agent,它們的功能是通過(guò)卷鏡像的方式獲取生產(chǎn)數(shù)據(jù)的動(dòng)態(tài)副本,并以此副本為基準(zhǔn)進(jìn)行數(shù)據(jù)持續(xù)保護(hù)。SymantecStorageFoundation、FalconStorCDP、浪潮CDP屬于此類(lèi)。
?。?)基于傳輸層實(shí)現(xiàn)通過(guò)含有DataSplitter功能的FCSAN交換機(jī)來(lái)獲取同寫(xiě)入生產(chǎn)卷相同的I/O數(shù)據(jù)塊,這種FCSAN交換機(jī)有BrocadeAP-7420B、CISCOMDS9000配置SANTAPSSM模塊等,價(jià)格比較高。EMCRecoverpoint、LSIStoragAge等屬于這種方式。
?。?)基于存儲(chǔ)層實(shí)現(xiàn)某些廠商的存儲(chǔ)陣列本身支持WriteSplitter功能,比如EMCClariiON磁盤(pán)陣列,這種實(shí)現(xiàn)方式比較受限于廠商。
通過(guò)上面介紹的三種方式可以獲取動(dòng)態(tài)變化的生產(chǎn)數(shù)據(jù)的副本,下一步的任務(wù)是如何將數(shù)據(jù)的每一次的數(shù)據(jù)變化跟蹤保存下來(lái),從而實(shí)現(xiàn)持續(xù)數(shù)據(jù)保護(hù)。不同的廠商大多采取了以下兩種實(shí)現(xiàn)方式:
(1)通過(guò)記錄數(shù)據(jù)差異事件日志的方式首先需要建立供數(shù)據(jù)恢復(fù)時(shí)參考用的數(shù)據(jù)拷貝,但CDP開(kāi)始運(yùn)行時(shí),實(shí)時(shí)在已建立的數(shù)據(jù)拷貝基礎(chǔ)上開(kāi)始順序向前記錄數(shù)據(jù)差異事件日志。但需要恢復(fù)數(shù)據(jù)時(shí),從最原始的參考數(shù)據(jù)拷貝開(kāi)始,依據(jù)數(shù)據(jù)差異日志進(jìn)行數(shù)據(jù)恢復(fù)。但恢復(fù)時(shí)間點(diǎn)越靠近當(dāng)前的時(shí)間,恢復(fù)所需要的時(shí)間就越長(zhǎng)。
還有另外一種記錄數(shù)據(jù)差異事件日志的模式,即供恢復(fù)用的參考數(shù)據(jù)實(shí)時(shí)與生產(chǎn)數(shù)據(jù)同步;在同步的同時(shí),在當(dāng)前數(shù)據(jù)的基礎(chǔ)上記錄時(shí)間的回退事件;需要恢復(fù)時(shí),在當(dāng)前數(shù)據(jù)的基礎(chǔ)上,依據(jù)數(shù)據(jù)回退差異記錄日志將數(shù)據(jù)回退到過(guò)去的任意時(shí)間點(diǎn)。這種方式恢復(fù)的時(shí)間點(diǎn)越靠近當(dāng)前,所需要的恢復(fù)時(shí)間越短。但在數(shù)據(jù)的保存過(guò)程中,需要同時(shí)進(jìn)行數(shù)據(jù)和日志記錄的同步,需要比較多的系統(tǒng)資源。
(2)通過(guò)對(duì)數(shù)據(jù)卷持續(xù)快照的方式通過(guò)對(duì)獲取的生產(chǎn)卷的實(shí)時(shí)鏡像副本進(jìn)行持續(xù)快照的方式來(lái)保存歷史數(shù)據(jù),可以實(shí)現(xiàn)細(xì)粒度到秒級(jí)的持續(xù)數(shù)據(jù)保護(hù)。通過(guò)相應(yīng)應(yīng)用程序的Agent,可以做到精確的相關(guān)數(shù)據(jù)卷組的數(shù)據(jù)一致性,從而可以在極短時(shí)間內(nèi)實(shí)現(xiàn)應(yīng)用級(jí)的災(zāi)難恢復(fù)??煺占夹g(shù)的實(shí)現(xiàn)包括寫(xiě)時(shí)拷貝(Copy-on-Write)和寫(xiě)時(shí)重定向(Redirect-on-Write)等不同的方式。浪潮CDP功能正是這種CDP實(shí)現(xiàn)方式的代表。
三、CDP的商業(yè)價(jià)值
“持續(xù)數(shù)據(jù)保護(hù)”的關(guān)鍵詞是持續(xù)。就給定的數(shù)據(jù)集來(lái)說(shuō),CDP可以提供一個(gè)數(shù)據(jù)恢復(fù)點(diǎn)的連續(xù)體,能夠根據(jù)需要提取任何時(shí)間點(diǎn)上的數(shù)據(jù),這一點(diǎn)區(qū)別于由快照流程預(yù)先確定的特殊時(shí)刻。我們知道快照也可以保存過(guò)去時(shí)間點(diǎn)的數(shù)據(jù)集狀態(tài),它的特點(diǎn)是在時(shí)間軸上的一個(gè)離散時(shí)間點(diǎn)上創(chuàng)建的靜態(tài)映像副本,即使有的存儲(chǔ)廠商的產(chǎn)品可以創(chuàng)建時(shí)間點(diǎn)非常密集的數(shù)據(jù)快照,它也是離散的,而不是連續(xù)的。而CDP可以提供粒度無(wú)限的恢復(fù)點(diǎn)(RPO),有些情況下可以提供接近即時(shí)的恢復(fù)時(shí)間目標(biāo)(RTO)。這是因?yàn)?,通常一有?xiě)操作就觸發(fā)CDP數(shù)據(jù)保護(hù),每一次的數(shù)據(jù)改變都通過(guò)日志記錄,恢復(fù)可以發(fā)生在任何時(shí)間點(diǎn),時(shí)間點(diǎn)的劃分可以細(xì)化到單個(gè)寫(xiě)操作。CDP技術(shù)的這個(gè)特性,可以實(shí)現(xiàn)非常巨大的商業(yè)價(jià)值。
1、備份窗口
CDP技術(shù)去除了備份窗口,而且是自動(dòng)實(shí)現(xiàn),無(wú)需應(yīng)用交互。由于數(shù)據(jù)保護(hù)的細(xì)粒度特性,對(duì)于應(yīng)用寫(xiě)操作的影響可以忽略不計(jì)。
2、恢復(fù)窗口
CDP技術(shù)有兩種數(shù)據(jù)恢復(fù)方式。一種是虛擬化恢復(fù),也就是說(shuō)CDP允許在應(yīng)用數(shù)據(jù)可用后,由客戶端系統(tǒng)直接利用CDP保護(hù)數(shù)據(jù)重新上線和運(yùn)行,然后再進(jìn)行數(shù)據(jù)的移動(dòng)恢復(fù)操作。這種恢復(fù)方式可以實(shí)現(xiàn)最小的RTO目標(biāo)。
還有一種方式就是前面介紹的利用記錄數(shù)據(jù)差異事件日志的方式,通過(guò)重新運(yùn)行日志中記錄的寫(xiě)操作向前或向后滾動(dòng)恢復(fù)及時(shí)將應(yīng)用數(shù)據(jù)恢復(fù)到動(dòng)態(tài)選擇的時(shí)間點(diǎn)狀態(tài)。這種恢復(fù)的恢復(fù)時(shí)間取決于恢復(fù)操作要回溯的時(shí)間長(zhǎng)短,一般情況下,要比快照恢復(fù)時(shí)間快得多。
3、多個(gè)恢復(fù)點(diǎn)目標(biāo)
CDP可以提供無(wú)數(shù)個(gè)恢復(fù)點(diǎn)RPO,而且允許用戶動(dòng)態(tài)重建以前的任意時(shí)間點(diǎn)數(shù)據(jù),因此恢復(fù)點(diǎn)可以選擇在故障發(fā)生前的那一刻,從而可以實(shí)現(xiàn)零數(shù)據(jù)損失。相對(duì)的,有的廠商通過(guò)建立多個(gè)快照的方法來(lái)獲得類(lèi)似CDP的RPO能力,則需要付出多得多的資源來(lái)創(chuàng)建、管理、維持這些快照。
總之,如果你要實(shí)現(xiàn)接近于零的宕機(jī)時(shí)間和零數(shù)據(jù)損失的目標(biāo),那么CDP是目前最好的選擇。
CDP的出現(xiàn)使得用戶擁有了一個(gè)連續(xù)備份的夢(mèng)想,而如何利用好CDP,讓CDP更好的產(chǎn)品化,更好的為用戶服務(wù),將是浪潮存儲(chǔ)不懈追求的目標(biāo)。