快照(Snapshot)技術(shù)發(fā)展綜述 劉愛(ài)貴 摘要:傳統(tǒng)數(shù)據(jù)備份技術(shù)存在備份窗口、恢復(fù)時(shí)間目標(biāo)RTO和恢復(fù)時(shí)間點(diǎn)RPO過(guò)長(zhǎng)的問(wèn)題,,無(wú)法滿足企業(yè)關(guān)鍵性業(yè)務(wù)的數(shù)據(jù)保護(hù)需求,,因此產(chǎn)生了數(shù)據(jù)快照技術(shù)。本文對(duì)快照技術(shù)的概念,、特點(diǎn),、實(shí)現(xiàn)技術(shù)和發(fā)展現(xiàn)狀進(jìn)行了概括性闡述,并對(duì)其未來(lái)的發(fā)展進(jìn)行了展望,。 關(guān)鍵詞:快照,,備份,復(fù)制,,鏡像,,寫(xiě)時(shí)復(fù)制,指針重映射 作者簡(jiǎn)介:劉愛(ài)貴,,研究方向?yàn)榫W(wǎng)絡(luò)存儲(chǔ),、數(shù)據(jù)挖掘和分布式計(jì)算;畢業(yè)于中科院,,目前就職于賽門(mén)鐵克@Symantec,,從事存儲(chǔ)軟件研發(fā)。Email: [email protected] 注:作者學(xué)識(shí)和經(jīng)驗(yàn)水平有限,,如有錯(cuò)誤或不當(dāng)之處,,敬請(qǐng)批評(píng)指正。
PDF格式下載:http://download.csdn.net/source/1613486
一、 引言 隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,,信息技術(shù)水平不斷得到提高,。人類進(jìn)入稱為信息社會(huì)的二十一世紀(jì)后,諸如數(shù)字通信,、數(shù)字多媒體,、電子商務(wù)、搜索引擎,、數(shù)字圖書(shū)館,、天氣預(yù)報(bào)、地質(zhì)勘探,、科學(xué)研究等海量數(shù)據(jù)型應(yīng)用的涌現(xiàn),,各種信息呈現(xiàn)爆炸式的增長(zhǎng)趨勢(shì),存儲(chǔ)成為信息計(jì)算技術(shù)的中心,。應(yīng)用對(duì)存儲(chǔ)系統(tǒng)的要求不斷提高,,存儲(chǔ)容量不斷升級(jí),從GigaByte到TeraByte,、 PetaByte,、ExaByte,愈顯巨大,。圖靈獎(jiǎng)獲得者Jim Gray提出一個(gè)新的經(jīng)驗(yàn)定律:網(wǎng)絡(luò)環(huán)境下每18個(gè)月生產(chǎn)的數(shù)據(jù)量等于有史以來(lái)的數(shù)據(jù)量之和,。與此同時(shí),現(xiàn)代企業(yè)對(duì)計(jì)算機(jī)的依賴性嚴(yán)重增強(qiáng),,信息數(shù)據(jù)逐漸成為企業(yè)賴以生存的基礎(chǔ),,數(shù)據(jù)損壞或丟失將給企業(yè)帶來(lái)巨大的損失。由于黑客,、病毒,、硬件設(shè)備的失效以及火災(zāi)、地震等自然災(zāi)害的原因,,使系統(tǒng)和數(shù)據(jù)信息遭到破壞甚至毀滅,,如果不及時(shí)地進(jìn)行恢復(fù),將對(duì)企業(yè)造成巨大的損失,,所以備份容災(zāi)技術(shù)顯得尤為重要,。尤其,9.11等事件造成的災(zāi)難性后果使人們更加深刻地認(rèn)識(shí)到數(shù)據(jù)信息的價(jià)值和意義,,日益重視數(shù)據(jù)的保護(hù),。 在過(guò)去的20多年中,雖然計(jì)算機(jī)技術(shù)取得了巨大的發(fā)展,,但是數(shù)據(jù)備份技術(shù)卻沒(méi)有長(zhǎng)足進(jìn)步,。數(shù)據(jù)備份操作代價(jià)和成本仍然比較高,,并且消耗大量時(shí)間和系統(tǒng)資源,數(shù)據(jù)備份的恢復(fù)時(shí)間目標(biāo)和恢復(fù)點(diǎn)目標(biāo)比較長(zhǎng),。傳統(tǒng)地,,人們一直采用數(shù)據(jù)復(fù)制、備份,、恢復(fù)等技術(shù)來(lái)保護(hù)重要的數(shù)據(jù)信息,,定期對(duì)數(shù)據(jù)進(jìn)行備份或復(fù)制。由于數(shù)據(jù)備份過(guò)程會(huì)影響應(yīng)用性能,,并且非常耗時(shí),,因此數(shù)據(jù)備份通常被安排在系統(tǒng)負(fù)載較輕時(shí)進(jìn)行(如夜間)。另外,,為了節(jié)省存儲(chǔ)空間,,通常結(jié)合全量和增量備份技術(shù)。 顯然,,這種數(shù)據(jù)備份方式存在一個(gè)顯著的不足,,即備份窗口問(wèn)題。在數(shù)據(jù)備份期間,,企業(yè)業(yè)務(wù)需要暫時(shí)停止對(duì)外提供服務(wù),。隨著企業(yè)數(shù)據(jù)量和數(shù)據(jù)增長(zhǎng)速度的加快,,這個(gè)窗口可能會(huì)要求越來(lái)越長(zhǎng),,這對(duì)于關(guān)鍵性業(yè)務(wù)系統(tǒng)來(lái)說(shuō)是無(wú)法接受的。諸如銀行,、電信等機(jī)構(gòu),,信息系統(tǒng)要求24x7不間斷運(yùn)行,短時(shí)的停機(jī)或者少量數(shù)據(jù)的丟失都會(huì)導(dǎo)致巨大的損失,。因此,,就需要將數(shù)據(jù)備份窗口盡可能地縮小,甚至縮小為零,,數(shù)據(jù)快照(Snapshot),、持續(xù)數(shù)據(jù)保護(hù)(CDP, Continuous Data Protection)等技術(shù),就是為了滿足這樣的需求而出現(xiàn)的數(shù)據(jù)保護(hù)技術(shù),。 二,、 快照概念 快照(Snapshot)是某個(gè)數(shù)據(jù)集在某一特定時(shí)刻的鏡像,也稱為即時(shí)拷貝,,它是這個(gè)數(shù)據(jù)集的一個(gè)完整可用的副本,。存儲(chǔ)網(wǎng)絡(luò)行業(yè)協(xié)會(huì)SNIA對(duì)快照的定義是[1]:關(guān)于指定數(shù)據(jù)集合的一個(gè)完全可用拷貝,該拷貝包括相應(yīng)數(shù)據(jù)在某個(gè)時(shí)間點(diǎn)(拷貝開(kāi)始的時(shí)間點(diǎn))的映像,??煺湛梢允瞧渌硎镜臄?shù)據(jù)的一個(gè)副本(duplicate),,也可以是數(shù)據(jù)的一個(gè)復(fù)制品(replicate)。 快照具有很廣泛的應(yīng)用,,例如作為備份的源,、作為數(shù)據(jù)挖掘的源、作為保存應(yīng)用程序狀態(tài)的檢查點(diǎn),,甚至就是作為單純的數(shù)據(jù)復(fù)制的一種手段等,。創(chuàng)建快照的方法也有很多種,按照SNIA的定義[2],,快照技術(shù)主要分為鏡像分離(split mirror) ,、改變塊(changed block)、 并發(fā)(concurrent) 三大類,。后兩種在實(shí)現(xiàn)時(shí)通常使用指針重映射(pointer remapping)和寫(xiě)時(shí)拷貝(copy on write)技術(shù),。changed block 方式的靈活性及使用存儲(chǔ)空間的高效性,使得它成為快照技術(shù)的主流,。 第一種快照是鏡像分離,。在即時(shí)拷貝之前構(gòu)建數(shù)據(jù)鏡像,當(dāng)出現(xiàn)一個(gè)完整的可供復(fù)制的鏡像時(shí),,就可以通過(guò)瞬間“分離”鏡像來(lái)產(chǎn)生即時(shí)拷貝,。這種技術(shù)的優(yōu)點(diǎn)是速度快,創(chuàng)建快照無(wú)須額外工作,。但缺點(diǎn)也很顯明,,首先它不靈活,不能在任意時(shí)刻進(jìn)行快照,;其次,,它需要一個(gè)與數(shù)據(jù)卷容量相同的鏡像卷;再者,,連續(xù)地鏡像數(shù)據(jù)變化影響存儲(chǔ)系統(tǒng)的整體性能,。 第二種快照是改變塊[3]??煺談?chuàng)建成功后,,源和目標(biāo)共享同一份物理數(shù)據(jù)拷貝,直到數(shù)據(jù)發(fā)生寫(xiě)操作,,此時(shí)源或目標(biāo)將被寫(xiě)向新的存儲(chǔ)空間,。共享的數(shù)據(jù)單元可是塊、扇區(qū),、扇道或其他的粒度級(jí)別,。為了記錄和追蹤塊的變化和復(fù)制信息,需要一個(gè)位圖(bitmap),,它用于確定實(shí)際拷貝數(shù)據(jù)的位置,,以及確定從源還是目標(biāo)來(lái)獲取數(shù)據(jù),。 第三種快照是并發(fā)[3]。它與改變塊非常相似,,但它總是物理地拷貝數(shù)據(jù),。當(dāng)即時(shí)拷貝執(zhí)行時(shí),沒(méi)有數(shù)據(jù)被復(fù)制,。取而代之,,它創(chuàng)建一個(gè)位圖來(lái)記錄數(shù)據(jù)的復(fù)制情況,并在后臺(tái)進(jìn)行真正的數(shù)據(jù)物理復(fù)制,。 三,、 不同存儲(chǔ)層次的快照實(shí)現(xiàn) “計(jì)算機(jī)科學(xué)中的任何問(wèn)題,都可以通過(guò)增加間接層次來(lái)解決”-Butler Lampson,,1992年圖靈獎(jiǎng)獲得者,。對(duì)于快照技術(shù),我們可以在存儲(chǔ)系統(tǒng)中的不同層次來(lái)實(shí)現(xiàn),,可以在磁盤(pán)陣列,、文件系統(tǒng)、卷管理器,、NAS系統(tǒng)或備份系統(tǒng)中來(lái)實(shí)現(xiàn),。
圖1 存儲(chǔ)系統(tǒng)棧與快照實(shí)現(xiàn) 存儲(chǔ)棧由一組硬件和軟件組件組成,為運(yùn)行在主機(jī)操作系統(tǒng)上的應(yīng)用系統(tǒng)提供物理存儲(chǔ)介質(zhì),,如圖1所示,。快照可以采用很多不同實(shí)現(xiàn)方式,,也可以在存儲(chǔ)棧中的不同層次來(lái)實(shí)現(xiàn),,大致分為軟件層和硬件層兩類,,也可分為基于控制器的快照和基于主機(jī)的快照兩類[4],。 基于控制器的快照,在存儲(chǔ)設(shè)備層或硬件層中實(shí)現(xiàn),,由存儲(chǔ)系統(tǒng)硬件提供商管理并集成于磁盤(pán)陣列中,。這種快照在LUN級(jí)(塊級(jí))完成,獨(dú)立與操作系統(tǒng)和文件系統(tǒng),?;谥鳈C(jī)的快照,在設(shè)備驅(qū)動(dòng)和文件系統(tǒng)級(jí)之間實(shí)現(xiàn),,通常由文件系統(tǒng),、卷管理器或第三方軟件來(lái)執(zhí)行。這種快照不依賴存儲(chǔ)硬件,,但卻依賴于文件系統(tǒng)和卷管理軟件,。該快照作用于邏輯數(shù)據(jù)視圖,,這與基于控制器的快照的不同,它作用與物理數(shù)據(jù),。 在以上各個(gè)存儲(chǔ)層次中,,物理存儲(chǔ)層和卷管理器是最適合實(shí)現(xiàn)快照的兩個(gè)組件,它們可以方便地利用物理存儲(chǔ),,是當(dāng)前主流的實(shí)現(xiàn)層次,。文件系統(tǒng)層實(shí)現(xiàn)快照是一個(gè)可行的選擇,然而諸如數(shù)據(jù)庫(kù)等應(yīng)用會(huì)直接選擇使用邏輯卷來(lái)實(shí)現(xiàn)快照,,因?yàn)樵谖募到y(tǒng)層它們不能被快照技術(shù)所管理,。一般來(lái)說(shuō),沒(méi)有必要在應(yīng)用層實(shí)現(xiàn)快照,,對(duì)于備份機(jī)制,,可以利用下層的文件系統(tǒng)或卷管理器接口來(lái)實(shí)現(xiàn),但需要應(yīng)用暫時(shí)停頓以保證快照數(shù)據(jù)一致性,??偟膩?lái)說(shuō),基于軟件層的快照易于操作,,且提供比較好的恢復(fù)粒度,,而基于硬件層的快照往往更高的性能和容錯(cuò)性。 目前,,存儲(chǔ)廠商提供了在不同存儲(chǔ)層次實(shí)現(xiàn)快照的存儲(chǔ)產(chǎn)品,。快照在存儲(chǔ)子系統(tǒng)中實(shí)現(xiàn)的有IBM TotalStorage Disk Systems,、NetApp NAS ,、EMC Symmetrix,在虛擬化層中實(shí)現(xiàn)的有IBM Total Storage SAN Volume Controller,,在卷管理器中實(shí)現(xiàn)的有Veritas Volume Manager,、Linux LVM、IBM Tivoli Storage Manager LVSA,、Microsoft? Windows? 2003 VSS System provider,,在文件系統(tǒng)中實(shí)現(xiàn)的有AIX JFS2、IBM TotalStorage SAN File System,、IBM General Parallel File System,、IBM N series、NetApp filers,、Veritas File System,。
四、 快照實(shí)現(xiàn)方式及技術(shù) 快照技術(shù)能夠?qū)崿F(xiàn)數(shù)據(jù)的即時(shí)影像,,快照影像可以支持在線備份,。全量快照是實(shí)現(xiàn)所有數(shù)據(jù)的一個(gè)完整的只讀副本,,為了降低快照所占用的存儲(chǔ)空間,人們提出了寫(xiě)時(shí)復(fù)制(COW ,,Copy-On-Write)和寫(xiě)重定向(ROW,,Redirect on Write)快照技術(shù)。另外,,還出現(xiàn)了其他一些快照技術(shù)的實(shí)現(xiàn)方式,,如日志、持續(xù)數(shù)據(jù)保護(hù)等,,可以提升快照的相關(guān)性能,。 1、 鏡像分離(Split Mirror) 鏡像分裂快照技術(shù)在快照時(shí)間點(diǎn)到來(lái)之前,,首先要為源數(shù)據(jù)卷創(chuàng)建并維護(hù)一個(gè)完整的物理鏡像卷:同一數(shù)據(jù)的兩個(gè)副本分別保存在由源數(shù)據(jù)卷和鏡像卷組成的鏡像對(duì)上,。在快照時(shí)間點(diǎn)到來(lái)時(shí),鏡像操作被停止,,鏡像卷轉(zhuǎn)化為快照卷,,獲得一份數(shù)據(jù)快照??煺站碓谕瓿蓴?shù)據(jù)備份等應(yīng)用后,,將與源數(shù)據(jù)卷重新同步,重新成為鏡像卷,。對(duì)于要同時(shí)保留多個(gè)連續(xù)時(shí)間點(diǎn)快照的源數(shù)據(jù)卷,,必須預(yù)先為其創(chuàng)建多個(gè)鏡像卷,當(dāng)?shù)谝粋€(gè)鏡像卷被轉(zhuǎn)化為快照卷作為數(shù)據(jù)備份后,,初始創(chuàng)建的第二個(gè)鏡像卷立即與源數(shù)據(jù)卷同步,,與源數(shù)據(jù)卷成為新的鏡像對(duì)。鏡像分裂快照操作的時(shí)間非常短,,僅僅是斷開(kāi)鏡像卷對(duì)所需的時(shí)間,,通常只有幾毫秒,這樣小的備份窗口幾乎不會(huì)對(duì)上層應(yīng)用造成影響,,但是這種快照技術(shù)缺乏靈活性,,無(wú)法在任意時(shí)間點(diǎn)為任意的數(shù)據(jù)卷建立快照。另外,,它需要一個(gè)或者多個(gè)與源數(shù)據(jù)卷容量相同的鏡像卷,同步鏡像時(shí)還會(huì)降低存儲(chǔ)系統(tǒng)的整體性能,。[5] 2,、 寫(xiě)時(shí)復(fù)制(COW, Copy On Write)
圖2 寫(xiě)時(shí)復(fù)制快照 寫(xiě)時(shí)復(fù)制快照使用預(yù)先分配的快照空間進(jìn)行快照創(chuàng)建,在快照時(shí)間點(diǎn)之后,,沒(méi)有物理數(shù)據(jù)復(fù)制發(fā)生,,僅僅復(fù)制了原始數(shù)據(jù)物理位置的元數(shù)據(jù),。因此,快照創(chuàng)建非???,可以瞬間完成。然后,,快照副本跟蹤原始卷的數(shù)據(jù)變化(即原始卷寫(xiě)操作),,一旦原始卷數(shù)據(jù)塊發(fā)生首次更新,則先將原始卷數(shù)據(jù)塊讀出并寫(xiě)入快照卷,,然后用新數(shù)據(jù)塊覆蓋原始卷(如圖2),。寫(xiě)時(shí)復(fù)制,因此而得名,。 這種快照技術(shù)在創(chuàng)建快照時(shí)才建立快照卷,,但只需分配相對(duì)少量的存儲(chǔ)空間,用于保存快照時(shí)間點(diǎn)之后源數(shù)據(jù)卷中被更新的數(shù)據(jù),。每個(gè)源數(shù)據(jù)卷都具有一個(gè)數(shù)據(jù)指針表,,每條記錄保存著指向?qū)?yīng)數(shù)據(jù)塊的指針。在創(chuàng)建快照時(shí),,存儲(chǔ)子系統(tǒng)為源數(shù)據(jù)卷的指針表建立一個(gè)副本,,作為快照卷的數(shù)據(jù)指針表。當(dāng)快照時(shí)間點(diǎn)結(jié)束時(shí),,快照建立了一個(gè)可供上層應(yīng)用訪問(wèn)的邏輯副本,,快照卷與源數(shù)據(jù)卷通過(guò)各自的指針表共享同一份物理數(shù)據(jù)??煺談?chuàng)建之后,,當(dāng)源數(shù)據(jù)卷中某數(shù)據(jù)將要被更新時(shí),為了保證快照操作的完整性,,使用寫(xiě)時(shí)復(fù)制技術(shù),。對(duì)快照卷中數(shù)據(jù)的訪問(wèn),通過(guò)查詢數(shù)據(jù)指針表,,根據(jù)對(duì)應(yīng)數(shù)據(jù)塊的指針確定所訪問(wèn)數(shù)據(jù)的物理存儲(chǔ)位置,。 寫(xiě)時(shí)復(fù)制技術(shù)確保復(fù)制操作發(fā)生在更新操作之前,使快照時(shí)間點(diǎn)后的數(shù)據(jù)更新不會(huì)出現(xiàn)在快照卷上,,保證了快照操作的完整性,。寫(xiě)時(shí)復(fù)制快照在快照時(shí)間點(diǎn)之前,不會(huì)占用任何的存儲(chǔ)資源,,也不會(huì)影響系統(tǒng)性能,;而且它在使用上非常靈活,可以在任意時(shí)間點(diǎn)為任意數(shù)據(jù)卷建立快照。在快照時(shí)間點(diǎn)產(chǎn)生的“備份窗口”的長(zhǎng)度與源數(shù)據(jù)卷的容量成線性比例,,一般為幾秒鐘,,對(duì)應(yīng)用影響甚微,但為快照卷分配的存儲(chǔ)空間卻大大減少,;復(fù)制操作只在源數(shù)據(jù)卷發(fā)生更新時(shí)才發(fā)生,,因此系統(tǒng)開(kāi)銷(xiāo)非常小。但是由于快照卷僅僅保存了源數(shù)據(jù)卷被更新的數(shù)據(jù),,此快照技術(shù)無(wú)法得到完整的物理副本,,碰到需要完整物理副本的應(yīng)用就無(wú)能為力了,而且如果更新的數(shù)據(jù)數(shù)量超過(guò)保留空間,,快照就將失效,。 3、 指針重映射(Pointer Remapping)
圖3 指針重映射快照 這種實(shí)現(xiàn)方式與寫(xiě)時(shí)復(fù)制非常相似,,區(qū)別在于對(duì)于原始數(shù)據(jù)卷的首次寫(xiě)操作將被重定向到預(yù)留的快照空間,。該快照維持的是指向所有源數(shù)據(jù)的指針和拷貝數(shù)據(jù)。當(dāng)數(shù)據(jù)被重寫(xiě)時(shí),,將會(huì)給更新過(guò)的數(shù)據(jù)選擇一個(gè)新的位置,,同時(shí)指向該數(shù)據(jù)的指針也被重新映射,指向更新后的數(shù)據(jù),。如果拷貝是只讀的,,那么指向該數(shù)據(jù)的指針就根本不會(huì)被修改。重定向?qū)懖僮魈嵘丝煺?/SPAN>I/O性能,,只需一次寫(xiě)操作,,直接將新數(shù)據(jù)寫(xiě)入快照卷,同時(shí)更新位圖映射指針,;而寫(xiě)時(shí)拷貝需要一次讀和兩次寫(xiě)操作,,即將原始卷數(shù)據(jù)塊讀入并寫(xiě)入快照卷,然后將更新數(shù)據(jù)寫(xiě)入原始卷,。 不難發(fā)現(xiàn),,快照卷保存的是原始副本,而原始卷保存的則是快照副本,。這導(dǎo)致刪除快照前需要將快照卷中的數(shù)據(jù)同步至原始卷,,而且當(dāng)創(chuàng)建多個(gè)快照后,原始數(shù)據(jù)的訪問(wèn),、快照卷和原始卷數(shù)據(jù)的追蹤以及快照的刪除將變得異常復(fù)雜,。此外,快照副本依賴與原始副本,,原始副本數(shù)據(jù)集很快變得分散,。 4,、 日志文件架構(gòu)(Log-structured file architecture) 這種形式的快照技術(shù)利用日志文件來(lái)記錄原始數(shù)據(jù)卷的寫(xiě)操作,。所有針對(duì)原始數(shù)據(jù)卷的寫(xiě)操作都記錄在日志系統(tǒng)中,,相當(dāng)于每次數(shù)據(jù)變化均會(huì)生成快照。因此,,這與數(shù)據(jù)庫(kù)系統(tǒng)事務(wù)或文件系統(tǒng)日志非常相似,,可以根據(jù)需要,從日志恢復(fù)數(shù)據(jù)或者回滾事務(wù)到任意合理狀態(tài),。嚴(yán)格意義講,,這種方式不能稱之為快照,但的確能達(dá)到快照的目標(biāo),,不少文件系統(tǒng)實(shí)現(xiàn)了這種功能,,如ZFS、JFS,、EXT3,、NTFS等。 5,、 克隆快照(Copy on write with background copy) 前面提到的快照,,基本上都不會(huì)生成完整的快照副本,無(wú)法滿足完整物理數(shù)據(jù)副本的業(yè)務(wù)需求,??寺】煺湛缮膳c源數(shù)據(jù)卷一致的鏡像快照,它充分利用了寫(xiě)時(shí)拷貝和鏡像分離兩種快照技術(shù)的優(yōu)點(diǎn),??煺諘r(shí)間點(diǎn)時(shí),它先使用寫(xiě)時(shí)拷貝方式快速產(chǎn)生快照副本,,然后在后臺(tái)啟動(dòng)一個(gè)拷貝進(jìn)程來(lái)執(zhí)行源數(shù)據(jù)卷至快照卷的塊級(jí)數(shù)據(jù)拷貝任務(wù),。一旦復(fù)制完成,就可以通過(guò)鏡像分離技術(shù)獲得一個(gè)克隆快照,??寺】煺胀瑯永^承了鏡像分離快照的缺點(diǎn),除了需要一個(gè)與源數(shù)據(jù)卷容量相等的快照卷外,,還會(huì)一定程度上影響存儲(chǔ)系統(tǒng)的整體性能,。 6、 持續(xù)數(shù)據(jù)保護(hù)(Continuous data protection) 以上幾種快照技術(shù)均存在共同的不足之處,,即不能在任意點(diǎn)創(chuàng)建任意多的快照,。日志型快照雖然沒(méi)有上述不足,但卻依賴與具體的文件系統(tǒng),,無(wú)法直接應(yīng)用到使用不同文件系統(tǒng)的應(yīng)用,,對(duì)于非基于文件系統(tǒng)的數(shù)據(jù)應(yīng)用無(wú)能為力。 持續(xù)數(shù)據(jù)保護(hù)[6],也稱連續(xù)備份,,它自動(dòng)持續(xù)捕捉源數(shù)據(jù)卷數(shù)據(jù)塊的變化,,并連續(xù)完整地記錄這些數(shù)據(jù)塊版本。每一次數(shù)據(jù)塊變化都會(huì)被記錄,,生成瞬間快照,,這與其他快照技術(shù)在快照時(shí)間點(diǎn)上創(chuàng)建快照是不同的。因?yàn)閷?xiě)操作都被記錄保存下來(lái),,因此能夠動(dòng)態(tài)地訪問(wèn)任意一個(gè)時(shí)間點(diǎn)的數(shù)據(jù)狀態(tài),,提供了細(xì)粒度的數(shù)據(jù)恢復(fù),可以實(shí)現(xiàn)瞬間和即時(shí)的恢復(fù),,有效拉近恢復(fù)點(diǎn)目標(biāo),。數(shù)據(jù)塊級(jí)的持續(xù)數(shù)據(jù)保護(hù)技術(shù)的優(yōu)點(diǎn)是與應(yīng)用的藕合比較松,性能和效率比較高,,系統(tǒng)連續(xù)不間斷運(yùn)行,,不存在快照窗口問(wèn)題。它的缺點(diǎn)是對(duì)存儲(chǔ)空間的要求比較高,,這也是限制數(shù)據(jù)塊級(jí)持續(xù)數(shù)據(jù)保護(hù)技術(shù)廣泛應(yīng)用的根本原因,。
表1[4]從不同角度對(duì)以上幾種快照技術(shù)進(jìn)行了分析對(duì)比。
表1 快照技術(shù)一覽及對(duì)比
五、 案例分析 目前,,幾乎所有存儲(chǔ)廠商的存儲(chǔ)產(chǎn)品都支持快照,,這成了事實(shí)上的行業(yè)標(biāo)準(zhǔn),不具備快照功能的產(chǎn)品無(wú)法參與市場(chǎng)的競(jìng)爭(zhēng),。不同廠商的快照實(shí)現(xiàn)方式各不相同,,各有技術(shù)優(yōu)勢(shì),也有不足之處,,用戶可以根據(jù)應(yīng)用數(shù)據(jù)的特點(diǎn)來(lái)選擇不同的方案,。下面簡(jiǎn)要介紹當(dāng)前主流存儲(chǔ)廠商的快照技術(shù)。 1,、 EMC TimeFinder EMC TimeFinder [7][8]提供本地存儲(chǔ)復(fù)制,,以提高應(yīng)用程序可用性和數(shù)據(jù)恢復(fù)速度,。利用 EMC Symmetrix 系統(tǒng),提供了很高的部署靈活性和大規(guī)??蓴U(kuò)展性以滿足任何服務(wù)級(jí)別要求,。TimeFinder 幫助企業(yè)執(zhí)行備份,加載數(shù)據(jù)倉(cāng)庫(kù),,并在不停機(jī)的情況下輕松提供用于應(yīng)用程序測(cè)試和開(kāi)發(fā)的數(shù)據(jù),。 TimeFinder最早僅支持鏡像分離快照,,隨后又增加了寫(xiě)時(shí)復(fù)制快照支持,。因此,目前它可以同時(shí)支持以上兩種快照技術(shù),。TimeFinder鏡像分離快照,,支持每個(gè)生產(chǎn)設(shè)備最多可有 16 個(gè)副本;TimeFinder寫(xiě)時(shí)復(fù)制快照,,支持每個(gè)生產(chǎn)設(shè)備最多可有 128 個(gè)副本,。 TimderFinder快照在存儲(chǔ)子系統(tǒng)層次實(shí)現(xiàn),獨(dú)立于主機(jī),、操作系統(tǒng),、應(yīng)用和數(shù)據(jù)庫(kù)系統(tǒng),它可以幫助企業(yè)管理備份窗口,,實(shí)現(xiàn)瞬間數(shù)據(jù)復(fù)制,,并且有效降低備份對(duì)應(yīng)用和主機(jī)性能的影響。 2,、 IBM FlashCopy FlashCopy[4]是基于卷實(shí)現(xiàn)的快照技術(shù),,主要用于邏輯卷的時(shí)間點(diǎn)復(fù)制。FlashCopy屬于克隆快照,,利用了寫(xiě)時(shí)拷貝和鏡像分離兩種快照技術(shù)的優(yōu)點(diǎn),。目前,FlashCopy的后臺(tái)復(fù)制操作是可選的,,即支持寫(xiě)時(shí)復(fù)制快照(即不選擇復(fù)制),,幫助用戶高效利用存儲(chǔ)空間。FlashCopy主要用于IBM磁盤(pán)陣列系統(tǒng),,尤其是中高端企業(yè)級(jí)應(yīng)用系統(tǒng),。 選擇復(fù)制情況下,即為標(biāo)準(zhǔn)的FlashCopy,。首先在存儲(chǔ)子系統(tǒng)分配一個(gè)與原始卷容量相同的快照卷,,然后使用寫(xiě)時(shí)復(fù)制技術(shù)創(chuàng)建快照卷,并創(chuàng)建一個(gè)追蹤數(shù)據(jù)復(fù)制的位圖,,這個(gè)過(guò)程是瞬間完成的,。之后,,后臺(tái)復(fù)制進(jìn)程被啟動(dòng),執(zhí)行從原始卷到快照卷的塊級(jí)數(shù)據(jù)拷貝,。在復(fù)制期間,,對(duì)原始卷的數(shù)據(jù)更新按照寫(xiě)時(shí)復(fù)制技術(shù)處理,即先將數(shù)據(jù)復(fù)制到快照卷再進(jìn)行原始卷更新,,并對(duì)位圖信息進(jìn)行更新,。復(fù)制一旦完成,則使用鏡像分離技術(shù)獲得一個(gè)完整可用的快照副本,,可以獨(dú)立用于相關(guān)應(yīng)用,。 3、 HDS ShadowImage ShowImage[9]是基于存儲(chǔ)子系統(tǒng)實(shí)現(xiàn)的鏡像分離快照方案,,可提供即時(shí),、不停機(jī)的信息共享和接入,幫助提供決策支持,,完成測(cè)試和開(kāi)發(fā),,或優(yōu)化磁帶備份操作。此外,,ShadowImage 還使備份可以在生產(chǎn)的同時(shí)進(jìn)行,,因此可提高可創(chuàng)收應(yīng)用的可用性。ShadowImage軟件的基于磁盤(pán)的復(fù)制可在數(shù)據(jù)毀壞后提供非常迅速的恢復(fù),。 ShowImage是存儲(chǔ)系統(tǒng)內(nèi)部的數(shù)據(jù)復(fù)制技術(shù),,磁盤(pán)的鏡像功能對(duì)于主機(jī)系統(tǒng)是透明的,異步方式數(shù)據(jù)復(fù)制技術(shù)不會(huì)增加主機(jī)I/O響應(yīng)時(shí)間,;可以定義生產(chǎn)數(shù)據(jù)邏輯卷與備份邏輯卷的鏡像復(fù)制關(guān)系,,以異步方式實(shí)時(shí)的保持2個(gè)邏輯卷的數(shù)據(jù)同步;可產(chǎn)生一個(gè)或多個(gè)與生產(chǎn)卷P-Vol完全相同的一個(gè)備份鏡像卷S-Vol,,備份鏡像卷中的數(shù)據(jù)和生產(chǎn)卷中的數(shù)據(jù)完全相同,。HDS ShadowImage生成的份鏡像卷,可以提供給客戶其他的應(yīng)用主機(jī)作為審計(jì),、分析,,同時(shí)還可以用于對(duì)生產(chǎn)卷進(jìn)行備份恢復(fù)。 4,、 NetApp Snapshot NetApp快照技術(shù)[10]是基于其WAFL(Write Anywhere File Layout)文件系統(tǒng)實(shí)現(xiàn)的,。WAFL文件系統(tǒng)的特點(diǎn)是:所有數(shù)據(jù)塊(卷信息除外)可寫(xiě)至任意位置,不存在覆蓋寫(xiě)操作,,因?yàn)樗械膶?xiě)操作都寫(xiě)在新塊上,。NetApp創(chuàng)建的快照是靜態(tài)只讀的WAFL卷視圖,可以實(shí)現(xiàn)多版本的文件,、目錄層次,、LUN和應(yīng)用數(shù)據(jù),。Snapshot可以在線創(chuàng)建,每個(gè)WAFL卷最多可達(dá)255個(gè),,不會(huì)對(duì)應(yīng)用運(yùn)行和性能產(chǎn)生影響,。而且,這些快照對(duì)用戶是可見(jiàn)的,,可由用戶驅(qū)動(dòng)進(jìn)行數(shù)據(jù)恢復(fù),。 圖4展示了SnapShot的工作原理,它與寫(xiě)重定向快照基本相同,。WAFL文件系統(tǒng)可以理解成數(shù)據(jù)塊樹(shù)狀結(jié)構(gòu),,其根部的數(shù)據(jù)結(jié)構(gòu)描述了inode文件信息。這份inode文件信息則包含了對(duì)文件系統(tǒng)中所有inode的描述,,它包含諸如空閑塊圖和空閑inode圖等元數(shù)據(jù)信息,。圖(a)可視為整個(gè)文件系統(tǒng)的概貌圖,其上部展現(xiàn)的就是根數(shù)據(jù)結(jié)構(gòu),。WAFL通過(guò)復(fù)制根數(shù)據(jù)結(jié)構(gòu)創(chuàng)建新的數(shù)據(jù)拷貝SnapShot。根數(shù)據(jù)結(jié)構(gòu)只有128比特,,并且不需要復(fù)制額外的數(shù)據(jù)塊,,一個(gè)新的SnapShot幾乎不耗費(fèi)額外的磁盤(pán)存儲(chǔ)空間,直到用戶修改或者刪除文件系統(tǒng)中的數(shù)據(jù),。
圖4 NetApp Snapshot原理 5,、 Veritas Snapshot Veritas為不同級(jí)別的快照提供了多種實(shí)現(xiàn)方式,提供卷級(jí)(VxVM, Veritas Volume Manager)和文件系統(tǒng)級(jí)(VxFS, Veritas File System)兩大類快照,,具體細(xì)分為五種快照類型,,分別是卷級(jí)的鏡像分離快照、空間優(yōu)化快照,、完全即時(shí)快照以及文件系統(tǒng)級(jí)的文件系統(tǒng)快照,、檢查點(diǎn)快照[11]。按照實(shí)現(xiàn)技術(shù),,它們又可分為鏡像分離,、寫(xiě)時(shí)復(fù)制、克隆快照三種類型,。這里簡(jiǎn)要介紹一下文件系統(tǒng)級(jí)的兩種快照,。
圖5 Veritas快照:文件系統(tǒng)快照和檢查點(diǎn)快照 卷級(jí)快照捕捉數(shù)據(jù)塊變化,而Veritas文件系統(tǒng)快照則捕捉文件內(nèi)容和元數(shù)據(jù)變化,。文件系統(tǒng)快照通常發(fā)生在文件系統(tǒng)操作邊界,,當(dāng)文件發(fā)生變化時(shí),快照會(huì)自動(dòng)感知這些變化,,在文件系統(tǒng)事務(wù)之前或之后進(jìn)行快照操作,,不在事務(wù)期間進(jìn)行,。兩種文件系統(tǒng)級(jí)快照工作原理如圖5所示。 文件系統(tǒng)快照(圖5左)是VxFS文件系統(tǒng)的非持久的只讀快照,,它采用寫(xiě)時(shí)復(fù)制技術(shù),,只支持單一數(shù)據(jù)卷。這種快照沒(méi)有包含全部文件系統(tǒng)映像數(shù)據(jù)和元數(shù)據(jù),,不能離線用于其他應(yīng)用處理,。VxFS維護(hù)一個(gè)內(nèi)存映射圖,用于表示文件系統(tǒng)卷上數(shù)據(jù)塊地址與快照卷上文件塊地址的映射關(guān)系,,快照卷保存文件系統(tǒng)數(shù)據(jù)和元數(shù)據(jù)塊變化前的映像,。 檢查點(diǎn)快照(圖5右)與快照文件系統(tǒng)相同,也采用寫(xiě)時(shí)復(fù)制技術(shù),,區(qū)別在于:快照是持久的,,除非進(jìn)行刪除;快照是可寫(xiě)的,,比文件系統(tǒng)快照應(yīng)用更為廣泛,;快照卷不是必須的,可使用文件系統(tǒng)自身空閑存儲(chǔ)空間,;可應(yīng)用于從多卷文件系統(tǒng),,多個(gè)快照之間可以保持協(xié)調(diào)。 六,、 結(jié)論與展望 快照技術(shù)是對(duì)傳統(tǒng)數(shù)據(jù)備份與復(fù)制技術(shù)的重大革新,,解決了備份窗口問(wèn)題,有效拉近了恢復(fù)時(shí)間目標(biāo)和恢復(fù)時(shí)間點(diǎn)目標(biāo),,成為了事實(shí)上的存儲(chǔ)行業(yè)標(biāo)準(zhǔn),。本文對(duì)快照在實(shí)現(xiàn)方式和相關(guān)技術(shù)作了較為全面詳細(xì)的闡述,并簡(jiǎn)要介紹了當(dāng)前主流存儲(chǔ)廠商的快照技術(shù)和存儲(chǔ)產(chǎn)品,。 快照技術(shù)發(fā)明以來(lái),,人們進(jìn)行了大量意義重大的改進(jìn)??煺沾翱诓粩嗫s小,,從幾秒到瞬間完成;幾乎可以在任意時(shí)刻創(chuàng)建快照,,粒度越來(lái)越細(xì),,數(shù)量不斷增大;快照性能大幅提升,,對(duì)主機(jī),、應(yīng)用的影響降低至微;快照靈活性,、可擴(kuò)展性,、可管理性不斷增強(qiáng),。然而,人們對(duì)技術(shù)的進(jìn)步要求從來(lái)都是沒(méi)有止境的,。針對(duì)當(dāng)前的各種解決方案,,在綜合性能、靈活性,、管理性方面,,快照技術(shù)仍然存在很大的改進(jìn)空間。存儲(chǔ)廠商不斷推出新的快照存儲(chǔ)產(chǎn)品或新的版本,,是最有力的證明,。 近年來(lái),存儲(chǔ)技術(shù)的發(fā)展日新月異,,面向?qū)ο蟠鎯?chǔ),、固態(tài)硬盤(pán)、存儲(chǔ)虛擬化,、重復(fù)數(shù)據(jù)刪除,,新的存儲(chǔ)架構(gòu)、技術(shù)和解決方案不斷涌現(xiàn),。這些可能會(huì)對(duì)快照技術(shù)的變革產(chǎn)生更加深遠(yuǎn)的影響,,為快照技術(shù)的發(fā)展創(chuàng)造更加寬廣的空間。我們可以預(yù)測(cè),,未來(lái)快照技術(shù)在空間效率、快照對(duì)象粒度(文件,、文件集),、虛擬化存儲(chǔ)支持以及性能和用戶體驗(yàn)方面有長(zhǎng)足的進(jìn)步,在數(shù)據(jù)復(fù)制和備份領(lǐng)域?qū)⒂懈訌V泛的應(yīng)用前景,。 參考文獻(xiàn): [1] Snapshot. http://www./education/dictionary/s/#snapshot [2] Point in time copy. http://www..cn/dic.php?word=p [3] Alain AzagIIry, Michael E Factor, Julian Satran. Point-in-time copy: Yesterday, Today and Tomorrow[C]. College Park, USA: the 19th IEEE Symposium on Mass Storage Systems. 2002:259-270. [4] Snapshot. http://www.ibm.com/developerworks/tivoli/library/t-snaptsm1/index.html [5] 袁曉銘, 林安. 幾種主流快照技術(shù)的分析比較. 微處理機(jī), 2008年第1期. [6] 王樹(shù)鵬, 云曉春, 郭莉. 持續(xù)數(shù)據(jù)保護(hù)(CDP)技術(shù)的發(fā)展綜述. 信息技術(shù)快報(bào), 2008年第6卷第6期. [7] EMC TimeFinder. http://china./products/detail/software/timefinder.htm [8] EMC TimeFinder. http://china./collateral/software/data-sheet/1700-timefinder.pdf [9] HDS ShadowImage. http://www./cn/products/storage-software/shadowimage-in-system-replication.html [10] NetApp Snapshot. http://www./us/products/platform-os/snapshot.html [11] Veritas Snapshot. http://eval./mktginfo/enterprise/yellowbooks/using_local_copy_services_03_2006.en-us.pdf |
|