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

分享到

多易

相關(guān)推薦