但是今天,我們的磁盤備份設(shè)備的容量已經(jīng)趨于飽和,在數(shù)據(jù)中心已經(jīng)沒有足夠的空間來備份PT級的數(shù)據(jù),在這種情況下,當(dāng)我們希望將備份數(shù)據(jù)保存一個月時,卻只能保存兩到三天。問題是在我們的備份設(shè)備中有太多的重復(fù)數(shù)據(jù)。現(xiàn)在終于有了解決這個問題的辦法,善于抓住機會賺錢的廠商們聲稱他們的新一代“刪除重復(fù)數(shù)據(jù)”產(chǎn)品可以按20:1,甚至300:1的比例縮減我們需要存儲的數(shù)據(jù)量。果真如此嗎?讓我們仔細(xì)看看。
  
    重復(fù)數(shù)據(jù)刪除技術(shù)支持在已有的磁盤設(shè)備上存儲更多的備份數(shù)據(jù)。因此采用“重復(fù)數(shù)據(jù)刪除”技術(shù)可以增加您保存?zhèn)浞輸?shù)據(jù)的時間,減少數(shù)據(jù)中心的消耗,降低成本。如果您刪除重復(fù)數(shù)據(jù)后再通過WAN發(fā)送,那么您就能夠節(jié)省大量的帶寬,并且可以取代磁帶實現(xiàn)網(wǎng)上離線備份。重復(fù)數(shù)據(jù)刪除技術(shù)唯一的缺點是備份速度變慢。
  
    源起
  
   當(dāng)您的備份程序在網(wǎng)絡(luò)中多次從同一目錄下備份相同的文件,或者從多個地址處備份相同的文件時,重復(fù)的數(shù)據(jù)在臨時區(qū)域進(jìn)行備份。大部分網(wǎng)絡(luò)上的重復(fù)數(shù)據(jù)量令人吃驚,這些數(shù)據(jù)從56個用戶保存在他們本地目錄下的假日聚會的PDF格式邀請函,到每個服務(wù)器的系統(tǒng)驅(qū)動器上3GB Windows文件,真是包羅萬象,應(yīng)有盡有。
  
    解決臨時區(qū)域內(nèi)文件重復(fù)的方案是增量備份。盡管我們很喜歡這樣做,尤其是喜歡選擇Tivoli Storage Manager 采用的永久增量備份的方法,但當(dāng)我們考慮到RAID災(zāi)難恢復(fù)時,我們想到的是重復(fù)數(shù)據(jù)刪除,而不是增量備份。增量備份主要是避免重復(fù)。
  
    重復(fù)數(shù)據(jù)刪除最基本的形式是出現(xiàn)在CAS(內(nèi)容尋址存儲)設(shè)備中的單一實例存儲(single-instance store),例如,EMC的 Centera。當(dāng)每個文件存儲到CAS系統(tǒng)上時,CAS系統(tǒng)會為存儲的文件內(nèi)容生成一個散列(hash);如果系統(tǒng)中已經(jīng)存在具有相同散列(hash)的文件,系統(tǒng)就會再創(chuàng)建一個表示副本的指針指向已存在的文件,而不是保存另一個副本。
  
    微軟Windows Storage Server的最新版本,Windows服務(wù)器的OEM NAS(網(wǎng)絡(luò)附加存儲)版本,采用了與刪除重復(fù)文件略微不同的方法。當(dāng)寫入數(shù)據(jù)時,WSS不識別重復(fù)文件,而是運行一個后臺程序SIS (單一實例存儲) Groveler,該程序通過部分文件散列函數(shù)(采用二進(jìn)制比較法)識別重復(fù)文件,將重復(fù)文件移到公用存儲區(qū),原始位置上的文件用連接到公用存儲區(qū)文件的鏈接代替。
  
    盡管文件級SIS能夠節(jié)省一些空間,但是如果我們不只消除重復(fù)文件而且還消除了文件內(nèi)存儲的重復(fù)數(shù)據(jù),那事情可就變得讓人有興趣了。想想Outlook的 .PST文件。例如一個典型的Outlook用戶可以擁有300-MB或更大的.PST文件,文件上保存著他過去所有的電子郵件;每天他都會收到一個或更多新的郵件,就因為那天他的.PST文件改變了,你的備份程序就把這個.PST文件包括在增量備份里了,即使這個300MB的文件只有25 KB 的改變。
  
    重復(fù)數(shù)據(jù)刪除產(chǎn)品能夠識別這個25 KB的新數(shù)據(jù),并且剔除其余沒有改變的舊的數(shù)據(jù),只保存25 KB的新數(shù)據(jù),從而節(jié)省大量磁盤空間。再進(jìn)一步設(shè)想一下,550KB的附件在20個用戶的 .PST文件內(nèi),如果它們能夠被消除,您就可以縮減大量的數(shù)據(jù)。象下述這樣的一組解決方案是Data Domain倡導(dǎo)的采用“重復(fù)數(shù)據(jù)刪除”技術(shù)進(jìn)行備份的目標(biāo)。即這些采用“重復(fù)刪除”技術(shù)的設(shè)備管理 VTL (虛擬磁帶庫) 或 NAS等備份設(shè)備,它們從這些備份應(yīng)用設(shè)備(VTL或NAS設(shè)備等)中獲取數(shù)據(jù),透明地執(zhí)行“重復(fù)刪除”處理。
  
    執(zhí)行重復(fù)數(shù)據(jù)刪除的方法
  
    廠商采納的執(zhí)行重復(fù)數(shù)據(jù)刪除的基本方法有三種。第一種是基于散列(hash)的方法,Data Domain、飛康、昆騰的DXi系列設(shè)備都是采用SHA-1, MD-5 等類似的算法將這些進(jìn)行備份的數(shù)據(jù)流斷成塊并且為每個數(shù)據(jù)塊生成一個散列(hash)。如果新數(shù)據(jù)塊的散列(hash)與備份設(shè)備上散列索引中的一個散列匹配,表明該數(shù)據(jù)已經(jīng)被備份,設(shè)備只更新它的表,以說明在這個新位置上也存在該數(shù)據(jù)。
  
    基于散列(hash)的方法存在內(nèi)置的可擴展性問題。為了快速識別一個數(shù)據(jù)塊是否已經(jīng)被備份,這種基于散列(hash)的方法會在內(nèi)存中擁有散列(hash)索引。當(dāng)被備份的數(shù)據(jù)塊數(shù)量增加時,該索引也隨之增長。一旦索引增長超過了設(shè)備在內(nèi)存中保存它所支持的容量,性能會急速下降,同時磁盤搜索會比內(nèi)存搜索更慢。因此,目前大部分基于散列(hash)的系統(tǒng)都是獨立的,可以保持存儲數(shù)據(jù)所需的內(nèi)存量與磁盤空間量的平衡,這樣,散列(hash)表就永遠(yuǎn)不會變得太大。
  
    第二種方法是基于內(nèi)容識別的重復(fù)刪除,這種方法主要是識別記錄的數(shù)據(jù)格式。它采用內(nèi)嵌在備份數(shù)據(jù)中的文件系統(tǒng)的元數(shù)據(jù)識別文件;然后與其數(shù)據(jù)存儲庫中的其它版本進(jìn)行逐字節(jié)地比較,找到該版本與第一個已存儲的版本的不同之處并為這些不同的數(shù)據(jù)創(chuàng)建一個增量文件。這種方法可以避免散列(hash)沖突(請參閱下面的“不要懼怕沖突”),但是需要使用支持的備份應(yīng)用設(shè)備以便設(shè)備可以提取元數(shù)據(jù)。
  
    ExaGrid Systems的InfiniteFiler就是一個基于內(nèi)容識別的重復(fù)刪除設(shè)備,當(dāng)備份數(shù)據(jù)時,它采用CommVault Galaxy 和Symantec Backup Exec等通用的備份應(yīng)用技術(shù)從源系統(tǒng)中識別文件。完成備份后,它找出已經(jīng)被多次備份的文件,生成增量文件(deltas)。多個 InfiniteFilers合成一個網(wǎng)格,支持高達(dá)30 TB的備份數(shù)據(jù)。采用重復(fù)刪除方法的ExaGrid在存儲一個1GB的 .PST文件類的新信息時表現(xiàn)優(yōu)異,但它不能為多個不同的文件消除重復(fù)的數(shù)據(jù),例如在四個.PST文件具有相同的附件的情況下。
  
    Sepaton 的用于它的VTL 的DeltaStor也采用內(nèi)容識別方法,但是它將新文件既與相同位置上的以前的文件版本進(jìn)行比較,同時也與從其它位置上備份的文件版本進(jìn)行比較,因此它能夠消除所有位置上的重復(fù)數(shù)據(jù)。
  
    第三種方法是Diligent Technologies用于其ProtecTier VTL的技術(shù),它像基于散列(hash)的產(chǎn)品那樣將數(shù)據(jù)分成塊,并且采用自有的算法決定給定的數(shù)據(jù)塊是否與其它的相似。然后與相似塊中的數(shù)據(jù)進(jìn)行逐字節(jié)的比較,以判斷該數(shù)據(jù)塊是否已經(jīng)被備份。
  
    硬件或軟件
  
    各大廠商除了采用的方法不同外,他們物理架構(gòu)的備份目標(biāo)也不同。Data Domain、ExaGrid 和昆騰是包含磁盤陣列的monolithic appliances(單塊集成電路設(shè)備)。 Data Domain和昆騰有NAS或VTL接口,而ExaGrid就是一個NAS設(shè)備。Diligent和FalconStor銷售的是軟件產(chǎn)品,運行在Intel 或 Opteron服務(wù)器上。
  
    盡管帶有VTL接口的備份設(shè)備看起來更高級并且更易于與現(xiàn)存的基于磁帶的備份環(huán)境集成,但是采用NAS 接口,會為您的備份應(yīng)用提供更多的控制。當(dāng)備份文件過了保存期時,一些像賽門鐵克的NetBackup之類的備份產(chǎn)品能夠從它們的磁盤存儲庫中刪除這些過了保存期的備份文件。當(dāng)重復(fù)刪除的NAS設(shè)備發(fā)現(xiàn)這個刪除行為時,它可以重新分配它的自由空間和散列(hash)索引。而對于VTL接口的設(shè)備來說,因為您沒有刪除磁帶,所以無法在VTL上釋放出空間,直到虛擬磁帶被復(fù)寫,空間才能得以釋放。
  
    當(dāng)然,在1TB的空間內(nèi)容納25TB的數(shù)據(jù)是要付出一些代價的,不只是在金錢方面。將數(shù)據(jù)切成塊并進(jìn)行索引來消除重復(fù)數(shù)據(jù)的所有工作會使備份速度減慢。Overland REO 9000 等中級VTL的數(shù)據(jù)備份速度是300 MBps甚至更快些。Diligent在其ProtecTier上已經(jīng)具有200-MBps的備份速度,但是需要一個四核Opteron服務(wù)器來實現(xiàn),該服務(wù)器前端是裝有100多個磁盤驅(qū)動器的陣列。
  
    其它廠商解決該問題的辦法是把重復(fù)數(shù)據(jù)刪除當(dāng)做一個獨立的過程在備份后運行。在一個系統(tǒng)上運行FalconStor的 VTL 軟件,進(jìn)行備份的數(shù)據(jù)被寫到一個壓縮的虛擬磁帶文件而不是一個刪除重復(fù)的虛擬磁帶文件上。然后在后臺將數(shù)據(jù)流切成塊,消除重復(fù)數(shù)據(jù)并且創(chuàng)建虛擬磁帶,該虛擬磁帶是執(zhí)行刪除重復(fù)數(shù)據(jù)塊在原虛擬磁帶上的索引。一旦虛擬磁帶的數(shù)據(jù)執(zhí)行了刪除重復(fù)處理,它所占有的空間就返回到可用的空間池。Sepaton的DeltaStor和 ExaGrid也把它們的重復(fù)刪除當(dāng)成一個后備份過程來執(zhí)行。
  
    盡管后處理能夠提高備份速度,但同樣也要消耗成本。執(zhí)行后處理重復(fù)刪除的系統(tǒng)必須有足夠的磁盤空間,因為除了刪除重復(fù)的數(shù)據(jù)外,它還需要保存全部標(biāo)準(zhǔn)的備份。如果您希望繼續(xù)執(zhí)行每周的全天增量備份的計劃,那么一個在后臺進(jìn)行重復(fù)刪除處理的系統(tǒng)上,你可能需要雙倍多的磁盤空間來保存全部的備份直到處理完成為止。
  
    正因為重復(fù)刪除在后臺運行,所以千萬不要忽視重復(fù)刪除的性能。例如,如果到星期一的晚上您開始再次備份您的服務(wù)器時,您的VTL還沒有完成對周末備份的處理,這時您會遇到您不想看到的情況,如磁盤空間不可用或重復(fù)刪除處理使您的備份速度變慢等。
  
    節(jié)省帶寬
  
    子文件重復(fù)刪除技術(shù)不僅用于在備份應(yīng)用中節(jié)省磁盤空間。新一代的備份應(yīng)用,包括Asigra的 Televaulting,EMC的 Avamar Axion和賽門鐵克的NetBackup PureDisk都采用基于散列(hash)的重復(fù)數(shù)據(jù)刪除技術(shù)來減少通過WAN發(fā)送備份所需要的帶寬。
  
    首先,像生成增量備份的傳統(tǒng)備份應(yīng)用技術(shù)一樣,新一代的備份應(yīng)用技術(shù)也采用常用的辦法如歸檔位,最后修改的日期,并且文件系統(tǒng)更改從最后一次備份起已經(jīng)發(fā)生改變的文件ID日志。然后它們將文件切成更小的塊并且為每個塊生成散列(hash)。
  
    然后,將這些散列(hash)與已經(jīng)備份在本地的數(shù)據(jù)塊的散列(hash)對象進(jìn)行比較。沒有出現(xiàn)在本地緩存和文件系統(tǒng)元數(shù)據(jù)中的散列(hash)被發(fā)送到中央備份服務(wù)器,再將數(shù)據(jù)與散列(hash)表進(jìn)行比較。如果沒有發(fā)現(xiàn)相同的散列,備份服務(wù)器發(fā)回一個散列表;然后被備份的服務(wù)器發(fā)送那些散列代表的數(shù)據(jù)塊到中央服務(wù)器進(jìn)行保存。
  
    與對被備份到多個目標(biāo)的服務(wù)器數(shù)據(jù)(它們甚至被備份到整個企業(yè)的各個目標(biāo))進(jìn)行“重復(fù)刪除”的備份方案相比,上述這些備份方案縮減數(shù)據(jù)的程度更高。例如,如果CEO發(fā)送100 MB的PowerPoint文件到500個分支機構(gòu),只有第一個會被備份,所有其它的只會發(fā)送散列到總部并且告知“我們已經(jīng)收到,謝謝?!?BR>  
    這種方法幾乎避免了影響基于散列的系統(tǒng)的可擴展性問題。因為每個遠(yuǎn)程服務(wù)器只保存其本地數(shù)據(jù)的散列(hash),散列表不會增長到超出可用的空間,中心位置的磁盤I/O系統(tǒng)比傳送備份的WAN 的速度快得多,在磁盤上搜索一個巨大的散列索引也比發(fā)送數(shù)據(jù)快得多。
  
    盡管Televaulting, Avamar Axion 和 NetBackup PureDisk 共享一個相似的架構(gòu),并且都是根據(jù)重復(fù)數(shù)據(jù)刪除存儲的大小進(jìn)行定價,但是還是存在一些不同的地方。NetBackup PureDisk采用固定的128KB的數(shù)據(jù)塊,而elevaulting 和 Avamar Axion采用可改變大小的數(shù)據(jù)塊,這會使重復(fù)刪除技術(shù)性能更好。PureDisk 支持NetBackup,賽門鐵克承諾未來進(jìn)行更好的整合,即提供我們希望的可以將重復(fù)刪除與數(shù)據(jù)中心備份工作整合的設(shè)備。Asigra也向服務(wù)提供商銷售Televaulting產(chǎn)品,以便不想建立自己架構(gòu)的小企業(yè)也可以利用重復(fù)刪除技術(shù)。
  
    有幾個客戶的報告中都寫到,他們在不對備份流程做大改動的情況下,的確獲得了20:1的縮減比例。小企業(yè)可以采用 Asigra, EMC 和賽門鐵克的新一代備份軟件取代傳統(tǒng)的備份方案。中型企業(yè)可以采用面向數(shù)據(jù)中心的備份設(shè)備。需要很高備份性能的大型企業(yè)可能不得不等待下一代產(chǎn)品了。
  
    不要懼怕沖突
  
    我們之前一直聽說用戶害怕使用基于散列的重復(fù)刪除,因為有可能發(fā)生散列沖突—-兩組數(shù)據(jù)生成相同的散列,從而導(dǎo)致數(shù)據(jù)損毀。盡管有因為散列沖突導(dǎo)致數(shù)據(jù)損毀的風(fēng)險,但是它發(fā)生的概率與每天存在的存儲管理風(fēng)險相比是非常小的。
  
    重復(fù)刪除技術(shù)通常采用MD-5 (a 128 字節(jié)的散列) 或 SHA-1 (a 160字節(jié)的散列) 算法。生成相同的MD5散列的兩個隨機數(shù)據(jù)塊的可能性大約是1/1037。如果一個PB的數(shù)據(jù)采用 MD-5算法,以平均大小為4KB的數(shù)據(jù)塊進(jìn)行“重復(fù)刪除”處理,兩個塊生成相同MD-5散列的可能性大約是1/1020。
  
    通過比較,具有一百萬小時MTBF(平均故障間隔時間)的兩個互為鏡像的驅(qū)動器在彼此一小時內(nèi)發(fā)生故障的可能性是都是1/1020—比發(fā)生散列沖突的機會幾乎高10億倍。通過以太網(wǎng)或FC發(fā)送的數(shù)據(jù)受CRC-32檢驗和的保護(hù),其未檢出數(shù)據(jù)差錯的概率大約是1/4×109。
  
    記住存在散列沖突是很重要,但并不意味著數(shù)據(jù)會全部丟失。如果重復(fù)刪除系統(tǒng)錯誤地把兩個數(shù)據(jù)塊識別成含有相同數(shù)據(jù)的塊,當(dāng)它們不被存儲時,系統(tǒng)會繼續(xù)執(zhí)行操作。但當(dāng)存儲數(shù)據(jù)時,數(shù)據(jù)被錯誤識別的這個文件會被破壞。所有其它的數(shù)據(jù)會被正確地恢復(fù)。發(fā)生散列沖突的概率應(yīng)該小于行星碰撞或黃石公園大火山噴發(fā)的概率。
  
    存在于數(shù)據(jù)重復(fù)刪除中更大的風(fēng)險是來自硬件故障的災(zāi)難性的數(shù)據(jù)損失。因為任何特定的備份工作的數(shù)據(jù),實事上,是任何特定的大文件被切成塊,分散在整個重復(fù)數(shù)據(jù)刪除設(shè)備中,它不關(guān)心你備份了那個服務(wù)器多少次,如果你在重復(fù)刪除設(shè)備中損失了一個RAID設(shè)置,你會損失很多數(shù)據(jù)。于是增強的數(shù)據(jù)保護(hù)功能,例如電池備份緩存和RAID 6,對重復(fù)刪除目標(biāo)來說,比對基本的存儲應(yīng)用更重要。
  

分享到

多易

相關(guān)推薦