[編者按]不知道讀者是否有拍攝大頭照的機(jī)會(huì),機(jī)器快門一閃,很快就把剛剛的人像停留在了相紙上。存儲(chǔ)系統(tǒng)中的數(shù)據(jù)“快照”與我們生活中所說(shuō)的“照片”非常相似,所不同的是,照片的對(duì)象不是人,而是數(shù)據(jù)。
如同照片留住了我們過(guò)去的摸樣和歲月,快照把數(shù)據(jù)在某一時(shí)刻的映像也保留了下來(lái)。因此我們可以根據(jù)快照查找數(shù)據(jù)在過(guò)去某一時(shí)刻的映像,常常用來(lái)作為增強(qiáng)數(shù)據(jù)備份系統(tǒng)的一種技術(shù),它可以很大的縮短RTO和RPO兩個(gè)指標(biāo)。作為存儲(chǔ)備份領(lǐng)域的最為基礎(chǔ)的概念之一,本文將詳細(xì)講述快照的作用、如何實(shí)現(xiàn)、以及不同的快照類型。
“快照”通常被定義為一組文件、目錄或卷在某個(gè)特定時(shí)間點(diǎn)的副本。“快照”的含義與它所捕獲的是一些特定數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)的映像??煺占夹g(shù)的出現(xiàn)最初是為了解決一些備份的難題,其中我們經(jīng)常遇到的包括以下幾點(diǎn):
需要備份的數(shù)據(jù)量太大,以至于無(wú)法在有限的時(shí)間段內(nèi)完成備份;
從一個(gè)未被備份的目錄中向一個(gè)已經(jīng)備份過(guò)的目錄移動(dòng)文件,經(jīng)常會(huì)導(dǎo)致備份失敗發(fā)生;
由于備份時(shí)一些文件正在進(jìn)行寫操作,所以有些備份的數(shù)據(jù)不能使用;
熱備份嚴(yán)重影響應(yīng)用系統(tǒng)的性能,等等。
所有上述常見的備份問(wèn)題其實(shí)都可以用快照技術(shù)來(lái)解決。但是,我們也不能單純的將快照視為解決所有問(wèn)題的靈丹妙藥,因?yàn)榭煺占夹g(shù)還有待進(jìn)一步完善。(例如“快照的一致性問(wèn)題”)
快照技術(shù)的概述介紹
創(chuàng)建一個(gè)快照不同的設(shè)備需要不同的命令,但對(duì)于系統(tǒng)來(lái)說(shuō),基本都包括如下幾個(gè)步驟:
1、首先發(fā)起創(chuàng)建指令;
2、在發(fā)起時(shí)間點(diǎn),指令通知操作系統(tǒng)暫停應(yīng)用程序和文件系統(tǒng)的操作;
3、刷新文件系統(tǒng)緩存,結(jié)束所有的讀寫事務(wù);
4、創(chuàng)建快照點(diǎn);
5、創(chuàng)建完成之后,釋放文件系統(tǒng)和應(yīng)用程序,系統(tǒng)恢復(fù)正常運(yùn)行。
現(xiàn)在,快照技術(shù)已經(jīng)超越了簡(jiǎn)單的數(shù)據(jù)保護(hù)范疇。我們可以用快照進(jìn)行高效且無(wú)風(fēng)險(xiǎn)的應(yīng)用軟件測(cè)試。用快照數(shù)據(jù)做測(cè)試,不會(huì)對(duì)生產(chǎn)數(shù)據(jù)造成任何的破壞。對(duì)于數(shù)據(jù)挖掘(data mining)和電子發(fā)現(xiàn)(eDiscovery)應(yīng)用,快照也是理想的測(cè)試數(shù)據(jù)源。在災(zāi)難恢復(fù)方面,快照是一種非常有效的方法——甚至是首選,非常適合遭到惡意軟件攻擊、人為誤操作和數(shù)據(jù)損壞等邏輯錯(cuò)誤發(fā)生時(shí)的數(shù)據(jù)恢復(fù)。
基于文件系統(tǒng)和LVM的快照
過(guò)去我們認(rèn)為只有磁盤陣列具備快照功能,但事實(shí)上磁盤陣列只是其中之一而已。廣義的快照技術(shù)通常可有7個(gè)不同類型的實(shí)現(xiàn)主體:
1、主機(jī)文件系統(tǒng)(包括服務(wù)器、臺(tái)式機(jī)、筆記本電腦);
2、邏輯卷管理器(LVM);
3、網(wǎng)絡(luò)附加存儲(chǔ)系統(tǒng)(NAS);
4、磁盤陣列;
5、存儲(chǔ)虛擬化設(shè)備;
6、主機(jī)虛擬化管理程序;
7、數(shù)據(jù)庫(kù)。
下面將逐項(xiàng)給大家介紹一下在各個(gè)系統(tǒng)中快照技術(shù)的應(yīng)用,并對(duì)其進(jìn)行詳細(xì)的說(shuō)明。
基于文件系統(tǒng)的快照
很多文件系統(tǒng)都支持快照功能,微軟的Windows NTFS有VSS卷影拷貝服務(wù)(Volume Shadow Copy Services, Vista稱作Shadow Copy);Sun Solaris的最新文件系統(tǒng)ZFS(Zettabyte File System);Apple公司的Mac OS X 10.6(雪豹);Novell NetWare 4.11(或更高版本)的Novell Storage Services (NSS) ; Novell SUSE Linux操作系統(tǒng)下的OES-Linux等等。
“免費(fèi)”是文件系統(tǒng)快照的優(yōu)勢(shì)之一,因?yàn)樗稍谖募到y(tǒng)內(nèi)部;另一個(gè)優(yōu)點(diǎn)是非常好用,最新版文件系統(tǒng)的快照功能通常使用起來(lái)很簡(jiǎn)單。不利的一方面是,每個(gè)文件系統(tǒng)都必須獨(dú)立進(jìn)行管理,當(dāng)系統(tǒng)數(shù)量激增時(shí),管理工作會(huì)變得非常繁重。想象一下,如果我們要做快照復(fù)制的話,需要給每一個(gè)文件系統(tǒng)都配置一套復(fù)制關(guān)系,而且還只能復(fù)制該文件系統(tǒng)自己的快照。此外,不同文件系統(tǒng)所提供的快照種類、快照頻率、預(yù)留空間等參數(shù)也可能不一樣,當(dāng)然也包括設(shè)置、操作和管理上的差異。總之,需要管理的服務(wù)器和文件系統(tǒng)越多,復(fù)雜程度就越高。
基于LVM(邏輯卷管理器)的快照
帶有快照功能的LVM也很多,比如惠普HP-UX操作系統(tǒng)的 Logical Volume Manager;Linux平臺(tái)的Logical Volume Manager 和Enterprise Volume Management System系統(tǒng) ;微軟Windows 2000及后續(xù)版本自帶的Logical Disk Manager系統(tǒng);SUN Solaris 10操作系統(tǒng)的ZFS;以及賽門鐵克公司的Veritas Volume Manager(注:Veritas Volume Manager是賽門鐵克Veritas Storage Foundation產(chǎn)品的一部分)。
我們可以創(chuàng)建跨多個(gè)文件系統(tǒng)的LVM快照。像賽門鐵克的Veritas Volume Manager可以支持大多數(shù)常見的操作系統(tǒng)和文件系統(tǒng)。LVM通常還包括存儲(chǔ)多路徑和存儲(chǔ)虛擬化等功能。
使用LVM時(shí),通常要付出額外的成本,包括為每臺(tái)服務(wù)器購(gòu)買license(許可證)和維護(hù)費(fèi)。而且,像基于文件系統(tǒng)的快照一樣,我們可能還要面對(duì)系統(tǒng)之間的協(xié)調(diào)問(wèn)題和復(fù)雜的技術(shù)實(shí)施問(wèn)題。
基于NAS和磁盤陣列的快照
基于NAS的快照
NAS本質(zhì)上就是一個(gè)經(jīng)過(guò)優(yōu)化的、或是專門定制的文件系統(tǒng),運(yùn)行在特定的設(shè)備上,或集成在存儲(chǔ)設(shè)備里。大多數(shù)中端和企業(yè)級(jí)NAS系統(tǒng)都提供快照功能,其中既有使用專有操作系統(tǒng)的設(shè)備,也包括大量基于Microsoft Windows Storage Server軟件的各種NAS。
通過(guò)網(wǎng)絡(luò)連接到NAS的計(jì)算機(jī)系統(tǒng)都可以使用這種標(biāo)準(zhǔn)的通用快照,包括物理服務(wù)器、虛擬機(jī)、臺(tái)式機(jī)和筆記本電腦。它也非常容易操作和管理?;?/font>NAS的快照往往同Windows Volume Shadow Copy Services(卷影復(fù)制服務(wù)VSS)、備份服務(wù)器和備份Agent等軟件集成在一起使用。一些NAS廠商還為非Windows平臺(tái)的數(shù)據(jù)應(yīng)用系統(tǒng)開發(fā)了Agent代理程序。其他一些與NAS快照有關(guān)的技術(shù)還包括重復(fù)數(shù)據(jù)刪除(EMC公司,FalconStor軟件公司和NetApp的產(chǎn)品),有些廠商甚至提供了帶有自動(dòng)精簡(jiǎn)配置功能的快照,目的是讓快照占用的空間變得更少。
但是,使用便利的工具和附加功能也需要成本,軟件license和維護(hù)費(fèi)相當(dāng)昂貴,一般是按照機(jī)器數(shù)量和磁盤卷容量來(lái)計(jì)算。大多數(shù)公司的數(shù)據(jù)量增長(zhǎng)很快,需要使用NAS快照的地方也越來(lái)越多,因此,操作和管理也將更復(fù)雜。
基于磁盤陣列的快照
大多數(shù)磁盤陣列的軟件系統(tǒng)里都含有快照功能?;诖疟P陣列的快照與基于NAS的快照有非常相似的優(yōu)點(diǎn),即所有與磁盤陣列相連的計(jì)算機(jī)系統(tǒng)都可以使用這種標(biāo)準(zhǔn)的通用快照功能,包括物理服務(wù)器、虛擬機(jī)、臺(tái)式機(jī)和筆記本電腦等等。快照的實(shí)施、操作和管理也都很簡(jiǎn)單。像NAS一樣,很多磁盤陣列的快照功能也可以被Windows VSS、備份服務(wù)器和備份Agent等軟件直接調(diào)用。一些磁盤陣列廠商還有可供非Windows平臺(tái)應(yīng)用系統(tǒng)使用的Agent代理程序。
基于磁盤陣列的快照也有一些缺點(diǎn):license和維護(hù)費(fèi)用昂貴;對(duì)非Windows平臺(tái)的應(yīng)用程序支持有限;磁盤陣列的數(shù)量越多,快照的管理也就越復(fù)雜。
基于存儲(chǔ)虛擬化的快照
基于存儲(chǔ)虛擬化設(shè)備的快照
這里所說(shuō)的存儲(chǔ)虛擬化設(shè)備主要用于SAN光纖網(wǎng)絡(luò)環(huán)境,不同于基于文件(NFS)應(yīng)用的網(wǎng)絡(luò)設(shè)備,像F5 Network公司的Acopia ARX產(chǎn)品就是排除在這個(gè)范疇之外的。主要的存儲(chǔ)虛擬化軟硬件設(shè)備(或融合了虛擬化功能的存儲(chǔ)系統(tǒng))包括:Cloverleaf Communication公司的Intelligent Storage Networking System (iSN);DataCore Software公司的 SANsymphony和SANmelody;EMC的Celerra Gateway blades;FalconStor公司的IPStor;HP的XP系列存儲(chǔ);HDS的Universal Storage Platform V/VM;IBM的SAN Volume Controller;LSI的StoreAge Storage Virtualization Manager (SVM)以及NetApp的V-Series storage controllers等等。
磁盤陣列和NAS快照所具備的優(yōu)點(diǎn)在存儲(chǔ)虛擬化設(shè)備上同樣能夠體現(xiàn),而且某些方面還能做的更好。我們可以將來(lái)自不同廠商的很多存儲(chǔ)設(shè)備聚集在少量的幾個(gè)控制點(diǎn)或單一控制點(diǎn)上進(jìn)行管理,提供通用的標(biāo)準(zhǔn)化快照。這樣做最大程度的簡(jiǎn)化了快照的管理操作成本和學(xué)習(xí)成本。
存儲(chǔ)虛擬化快照的缺點(diǎn)與上述類型相比則有些不同。使用存儲(chǔ)虛擬化設(shè)備會(huì)導(dǎo)致I/O延遲的增加,即使是采用旁路架構(gòu)的設(shè)計(jì),最終還是會(huì)影響應(yīng)用程序的響應(yīng)時(shí)間。增加存儲(chǔ)虛擬化設(shè)備還會(huì)使故障分析變得更加困難,潛在的還可能激化廠商之間對(duì)故障責(zé)任的推諉。從另一個(gè)角度看,雖然增加額外的虛擬化存儲(chǔ)硬件或軟件要產(chǎn)生一定的費(fèi)用,但是與每個(gè)存儲(chǔ)系統(tǒng)都獨(dú)立購(gòu)買快照功能相比,它的軟件license和維護(hù)費(fèi)用都要低一些。
基于主機(jī)虛擬化軟件的快照
隨著服務(wù)器虛擬化應(yīng)用的普及,基于主機(jī)虛擬化管理軟件(hypervisor)的快照技術(shù)也逐漸流行起來(lái)。像Citrix公司的 XenServer、微軟的Hyper – V、SUN的xVM Ops Center、以及VMware的ESX和vSphere4等主機(jī)虛擬化產(chǎn)品都支持快照功能。
在主機(jī)虛擬化軟件層實(shí)現(xiàn)快照的優(yōu)點(diǎn)是簡(jiǎn)單直接。由于同虛擬機(jī)管理軟件綁定在一起,因此可以為所有的虛擬機(jī) (VMs) 提供統(tǒng)一的快照,并且還可以同微軟的VSS集成,隨時(shí)調(diào)用。相對(duì)而言,基于虛擬機(jī)的快照很容易部署、使用和管理。
但是,如果非要找出不喜歡這種快照的理由我想應(yīng)該是每一套虛擬機(jī)軟件的快照需要單獨(dú)管理;而且當(dāng)我們?cè)诜?/font>Windows平臺(tái)下使用這種快照技術(shù)時(shí),必須針對(duì)整個(gè)VM。這意味著我們只能做粗粒度的數(shù)據(jù)恢復(fù),還要消耗更多的恢復(fù)時(shí)間。這種快照是在Windows操作系統(tǒng)外部創(chuàng)建,所以它不能架構(gòu)在應(yīng)用軟件感知的層面,導(dǎo)致快照出來(lái)的映像數(shù)據(jù)有可能是不一致狀態(tài)。
基于數(shù)據(jù)庫(kù)的快照
在數(shù)據(jù)庫(kù)中,快照動(dòng)作被稱為“snapshot isolation(快照隔離)”。像Oracle和PostgreSQL這樣的數(shù)據(jù)庫(kù)需要做快照隔離以確保所有的交易命令序列化,就好像被一個(gè)個(gè)隔開一樣,然后再逐個(gè)執(zhí)行。其他的一些數(shù)據(jù)庫(kù)也支持快照隔離,但并不要求將交易序列化。在一般情況下,數(shù)據(jù)庫(kù)備份工具會(huì)利用快照隔離的功能,用快照來(lái)恢復(fù)崩潰(出現(xiàn)一致性問(wèn)題)的數(shù)據(jù)表。
針對(duì)數(shù)據(jù)庫(kù)內(nèi)部數(shù)據(jù)和基于該數(shù)據(jù)庫(kù)的相關(guān)應(yīng)用,使用數(shù)據(jù)庫(kù)自帶的快照比較有效。
不同類型的快照及工作原理
通常,我們會(huì)提到6種類型的快照技術(shù):
1、Copy-on-write 復(fù)制寫
2、Redirect-on-write 重定向?qū)?/font>
3、Clone or split mirror 克隆或鏡像
4、Copy-on-write with background copy后臺(tái)拷貝的復(fù)制寫
5、Incremental 增量快照
6、Continuous data protection 持續(xù)數(shù)據(jù)保護(hù)
復(fù)制寫和重定向?qū)懣煺?/span>
Copy-on-write (COW) 復(fù)制寫快照
COW快照需要消耗一些存儲(chǔ)空間--建立快照卷。當(dāng)我們?yōu)橐粋€(gè)數(shù)據(jù)卷創(chuàng)建一個(gè)快照之后,這些預(yù)留的空間用來(lái)存放被變化數(shù)據(jù)更新的舊數(shù)據(jù)。COW快照在初始化的過(guò)程中僅僅創(chuàng)建用來(lái)描述源數(shù)據(jù)塊位置的指針信息(元數(shù)據(jù)),而不是完整的將源數(shù)據(jù)塊拷貝過(guò)來(lái)。因此初始化的過(guò)程幾乎可以在瞬間完成,對(duì)系統(tǒng)的影響也很小。
COW快照會(huì)跟蹤數(shù)據(jù)卷的寫操作和數(shù)據(jù)塊變化。當(dāng)某個(gè)數(shù)據(jù)塊發(fā)生改變時(shí),在將舊的數(shù)據(jù)覆蓋之前,首先將該塊的舊數(shù)據(jù)復(fù)制到預(yù)留的快照卷,該步驟僅在數(shù)據(jù)卷相應(yīng)數(shù)據(jù)塊位置發(fā)生第一次寫操作請(qǐng)求時(shí)進(jìn)行。這個(gè)處理過(guò)程確??煺粘鰜?lái)的數(shù)據(jù)與發(fā)起快照的那個(gè)精確時(shí)間點(diǎn)保持完全一致。這個(gè)過(guò)程也描述了“copy on write”這個(gè)名字的含義。
如果我們需要訪問(wèn)某個(gè)時(shí)間點(diǎn)的快照數(shù)據(jù),對(duì)沒(méi)有改變過(guò)的塊直接從數(shù)據(jù)卷讀取;對(duì)已經(jīng)改變并被復(fù)制的塊則從快照空間讀取。從快照被創(chuàng)建那一刻開始,每個(gè)快照都會(huì)跟蹤記錄描述塊改變的元數(shù)據(jù)信息。
COW快照的主要優(yōu)勢(shì)在于空間的高效利用,因?yàn)榭煺站碇恍枰A舭l(fā)生過(guò)變化的數(shù)據(jù)塊,與數(shù)據(jù)卷相比要小得多。但是我們也知道COW快照有個(gè)缺點(diǎn),它會(huì)引起數(shù)據(jù)卷性能的下降,這是因?yàn)閯?chuàng)建快照之后,對(duì)數(shù)據(jù)卷的寫操作會(huì)增加一個(gè)等待的過(guò)程 --即舊數(shù)據(jù)塊復(fù)制到快照卷的過(guò)程。另外一個(gè)關(guān)鍵問(wèn)題是每個(gè)快照卷必須依賴一個(gè)完整的數(shù)據(jù)卷。
Redirect-on-write (ROW) 重定向?qū)懣煺?/span>
“ROW重定向?qū)?/font>”與“COW復(fù)制寫”是相對(duì)的概念,它可以避免兩次寫操作引起的性能損失。ROW同COW一樣在空間利用方面效率非常高。那是什么讓ROW快照避免了寫性能的損耗其中的原因是ROW把對(duì)數(shù)據(jù)卷的寫請(qǐng)求重定向給了快照預(yù)留的存儲(chǔ)空間,而寫操作的重定向設(shè)計(jì)則把需要兩次寫才能完成的操作減少為一次寫。我們知道COW的兩次寫包括:1、將舊數(shù)據(jù)寫入快照卷;2、在數(shù)據(jù)卷寫入新數(shù)據(jù)。而ROW只有寫入新數(shù)據(jù)一步。
使用ROW快照,數(shù)據(jù)卷存放的是上一個(gè)快照時(shí)間點(diǎn)的舊數(shù)據(jù),新數(shù)據(jù)最終存放在預(yù)留的快照空間。這里也有一個(gè)復(fù)雜的問(wèn)題,就是快照的刪除。被刪除的快照上的數(shù)據(jù)必須被復(fù)制到原始數(shù)據(jù)卷,并且做一致性回退。創(chuàng)建的快照越多,維護(hù)快照的復(fù)雜度也會(huì)以指數(shù)級(jí)別上升。這些復(fù)雜性包括對(duì)原始數(shù)據(jù)的訪問(wèn)、快照數(shù)據(jù)和原始數(shù)據(jù)卷的跟蹤、以及快照刪除后的數(shù)據(jù)調(diào)整。另一個(gè)直接引發(fā)的嚴(yán)重問(wèn)題是,原始數(shù)據(jù)集中會(huì)產(chǎn)生大量的碎片。
克隆或分割鏡像快照與后臺(tái)拷貝的復(fù)制寫快照
Clone or split-mirror 克隆或分割鏡像快照
Clone(或split-mirror)快照所創(chuàng)建的是數(shù)據(jù)的完整副本。Clone(或split-mirror)快照的對(duì)象可以是一個(gè)存儲(chǔ)卷、一個(gè)文件系統(tǒng)或者是一個(gè)LUN(logical unit number 邏輯單元號(hào))。Clone快照的優(yōu)點(diǎn)是它們具有高可用性;缺點(diǎn)是所有的數(shù)據(jù)都要完整的復(fù)制一份,復(fù)制的過(guò)程也不可能在瞬間完成。我們可以分割一對(duì)保持同步狀態(tài)的鏡像卷來(lái)啟用Clone快照,分割的過(guò)程瞬間即可完成。然而,當(dāng)鏡像被分割成Clone快照之后,數(shù)據(jù)卷也就失去了他的同步鏡像。
使用Clone快照需要面對(duì)的一個(gè)非常嚴(yán)重的問(wèn)題是每個(gè)快照都需要和數(shù)據(jù)卷一樣大的存儲(chǔ)空間。尤其是當(dāng)我們?cè)谌魏螘r(shí)刻都需要保持一份以上Clone卷的情況,這個(gè)成本會(huì)非常高。另一個(gè)缺點(diǎn)是影響性能,因?yàn)樵阽R像卷之間保持寫同步需要一定的系統(tǒng)開銷。
Copy-on-write with background copy 后臺(tái)拷貝的復(fù)制寫快照
Copy-on-write with background copy快照有兩個(gè)生成步驟:首先創(chuàng)建一個(gè)瞬時(shí)即可生成的COW快照;然后利用后臺(tái)進(jìn)程將數(shù)據(jù)卷的數(shù)據(jù)復(fù)制到快照空間,最后生成一份數(shù)據(jù)卷的克隆或鏡像。
創(chuàng)建這種快照的目的是發(fā)揮COW快照的優(yōu)勢(shì),同時(shí)盡量屏蔽它的不足。因此,這種快照常常被形容為COW和Clone快照的混合體。
增量快照與持續(xù)數(shù)據(jù)保護(hù)
(Incremental)增量快照
增量快照的特點(diǎn)是可以跟蹤數(shù)據(jù)卷和快照卷的變化。當(dāng)一個(gè)新的增量快照生成之后,舊的快照數(shù)據(jù)將被刷新。第一個(gè)快照和隨后創(chuàng)建的每一個(gè)增量快照數(shù)據(jù)上都有時(shí)間戳標(biāo)記,利用時(shí)間戳我們能夠?qū)⒖煺諗?shù)據(jù)回滾到任意的一個(gè)時(shí)間點(diǎn)。增量快照技術(shù)能夠加快后續(xù)快照的生成速度,而且僅僅在名義上多消耗了一點(diǎn)空間而已。由此,我們可以提高創(chuàng)建快照的頻率,也能讓快照保留得更久一點(diǎn)。
增量快照的不足之處是它需要依靠上面所提到的其他基礎(chǔ)技術(shù)來(lái)創(chuàng)建第一個(gè)快照 (COW、ROW、clone/split mirror、copy-on-write with background copy) 。如果用Clone方式,那么第一個(gè)快照需要較長(zhǎng)的初始化時(shí)間;如果用COW方式,數(shù)據(jù)卷的性能會(huì)降低。
持續(xù)數(shù)據(jù)保護(hù)(CDP)
CDP的出現(xiàn)是為了實(shí)現(xiàn)零數(shù)據(jù)丟失的RPO指標(biāo),以及瞬時(shí)數(shù)據(jù)恢復(fù)的RTO指標(biāo)。它本身與同步數(shù)據(jù)鏡像很類似,不同之處在于CDP還可以對(duì)軟性災(zāi)難進(jìn)行恢復(fù)。包括人為誤操作、惡意軟件攻擊、意外刪除、數(shù)據(jù)損壞等情況。
持續(xù)數(shù)據(jù)保護(hù)頗像頻率很高的增量快照。它會(huì)捕獲并復(fù)制任何時(shí)刻發(fā)生的數(shù)據(jù)變化,并且給這些數(shù)據(jù)塊打上時(shí)間戳。CDP本質(zhì)上相當(dāng)于每個(gè)時(shí)刻都創(chuàng)建一份增量快照,提供細(xì)粒度的精確數(shù)據(jù)恢復(fù)。有些CDP產(chǎn)品同時(shí)提供基于時(shí)間和基于事件(例如應(yīng)用程序升級(jí)事件)兩種粒度的恢復(fù)方式。還有一個(gè)理解CDP概念的好方法就是將它看成一個(gè)快照的journal日志。
對(duì)于郵件系統(tǒng)、數(shù)據(jù)庫(kù)和基于數(shù)據(jù)庫(kù)的應(yīng)用來(lái)說(shuō),CDP是一個(gè)極好的保護(hù)方案,能將數(shù)據(jù)回滾到任意的歷史時(shí)間點(diǎn),恢復(fù)過(guò)程也簡(jiǎn)便、迅速。最有代表性的CDP產(chǎn)品是飛康公司的IPStor,它是一個(gè)集成了CDP功能的存儲(chǔ)系統(tǒng)兼存儲(chǔ)虛擬化設(shè)備。
隨著越來(lái)越多的數(shù)據(jù)需要保護(hù),備份窗口也變得越來(lái)越緊張,因此需要快照技術(shù)來(lái)幫助我們解決備份問(wèn)題。在現(xiàn)實(shí)的應(yīng)用環(huán)境中,快照利用的是否恰當(dāng)對(duì)數(shù)據(jù)保護(hù)的等級(jí)和恢復(fù)的速度有著很大的影響。盡管各類型快照之間存在的技術(shù)差異不太容易理解,但無(wú)論如何,快照技術(shù)都將在數(shù)據(jù)保護(hù)領(lǐng)域和日常存儲(chǔ)管理中扮演重要的角色。
特別注意:快照的一致性問(wèn)題
如果用快照來(lái)處理結(jié)構(gòu)化數(shù)據(jù),可能會(huì)存在一些問(wèn)題。結(jié)構(gòu)化數(shù)據(jù)涉及到數(shù)據(jù)庫(kù),以及數(shù)據(jù)庫(kù)類應(yīng)用(例如郵件系統(tǒng)、ERP或CRM等等)。許多產(chǎn)品中的快照并不能與這些應(yīng)用程序集成或被直接調(diào)用。有一種可能的情況是,在我們創(chuàng)建快照的瞬間,數(shù)據(jù)庫(kù)恰好不在靜止?fàn)顟B(tài)(緩存正在刷新、寫操作事務(wù)尚未完成、索引和元數(shù)據(jù)正在更新等等),此刻生成的快照數(shù)據(jù)是不一致的,很有可能無(wú)法正常使用。
在微軟的Windows Server平臺(tái)上,這個(gè)問(wèn)題要簡(jiǎn)單得多,利用Windows Volume Shadow Copy Services (VSS)和它的API,數(shù)據(jù)庫(kù)應(yīng)用程序可以集成并調(diào)用快照工具。VSS是專門為結(jié)構(gòu)化數(shù)據(jù)應(yīng)用設(shè)計(jì)的服務(wù)框架,可以驅(qū)動(dòng)數(shù)據(jù)庫(kù)等應(yīng)用進(jìn)入數(shù)據(jù)一致性的靜止?fàn)顟B(tài),在快照開始初始化之前,完成刷新緩存、結(jié)束寫操作以及系統(tǒng)狀態(tài)的更新。
遺憾的是,目前在Linux和Unix操作系統(tǒng)平臺(tái)上還沒(méi)有類似VSS的服務(wù)或API。VMware公司的vCenter storage API可以說(shuō)是一個(gè)部分解決方案??煺盏陌l(fā)起者可以通過(guò)vCenter storage API給vCenter發(fā)出一個(gè)指令,讓虛擬機(jī)進(jìn)入靜止?fàn)顟B(tài),然后再執(zhí)行快照。但這個(gè)時(shí)候,快照由于沒(méi)有通過(guò)應(yīng)用程序感知,也許會(huì)存在不一致的問(wèn)題。
這里還有一個(gè)好辦法,可以不通過(guò)Windows VSS,獲得數(shù)據(jù)庫(kù)的一致性快照。這個(gè)辦法需要備份軟件的配合。將快照的API同備份軟件集成,就可以從備份服務(wù)器端驅(qū)動(dòng)備份軟件的數(shù)據(jù)庫(kù)代理Agent。Agent備份代理程序可以驅(qū)動(dòng)數(shù)據(jù)庫(kù)進(jìn)入靜止?fàn)顟B(tài),然后反向讓備份服務(wù)器通知快照工具開始執(zhí)行創(chuàng)建快照的操作。這也是一個(gè)比較有效的辦法。
聯(lián)系客服