天天看點

EMC産品分析介紹(三):備份領域的引領者DataDomain (1)1、概述2、開創磁盤備份的新模式3、重複資料删除

contents

1、概述... 

2、開創磁盤備份的新模式... 

3、重複資料删除... 

4、破解磁盤瓶頸點... 

5、全局資料消重檔案系統ddfs. 

6、cpu-centric存儲系統... 

7、資料無損體系結構... 

8、備份與歸檔一體化... 

9、高效的遠端資料複制... 

長期以來備份存儲領域被錄音帶所統治,其主要原因有兩個方面。第一,錄音帶相對于磁盤媒體而言,具有很好的價格優勢;第二,備份存儲主要是順序寫操作,隻有在資料恢複的時候,才需要從錄音帶上讀取資料。這兩個特征就決定了錄音帶在資料備份領域的地位,特别是資料歸檔領域至今還存在着一席之地。

近10年磁盤容量發展迅速。還記得2000年初,我自己攢了人生中的第一台電腦,賽揚cpu,30gb 的邁拓ide硬碟。在那個年代,30gb硬碟是大容量硬碟,花了将近1250元人民币。時至今日,4tb的硬碟即将成為主流,容量翻了近140多倍。得益于巨磁阻技術的發展,磁盤容量在近幾年一直高歌猛進;在未來充氦技術成熟之後,磁盤容量還會持續增長。磁盤容量的增長,機關存儲價格的下跌,導緻磁盤技術對資料備份領域産生了巨大的沖擊。在這次革命的引領中,datadomain算是一個非常成功的革命者。

2009年datadomain被emc收購,至此datadomain變成了emc旗下的一員猛将。datadomain是一種目的端資料去重的裝置,和avamar之類的源端去重裝置結合起來,将可以打造令人滿意的磁盤備份系統。

在此,本文對datadomain的儲存設備進行分析,一窺其中的奧秘。

從上圖中我們可以知道,在整個it結構中,primary storage的資料通過備份伺服器進行資料備份,或者通過archive伺服器進行資料歸檔操作。備份和歸檔的存儲媒體通常是錄音帶。datadomain裝置的出現正好是替代了傳統錄音帶的位置,進而使得primary storage的資料直接或者通過備份服務軟體備份到datadomain裝置。datadomain裝置無論在性能還是在資料去重效率方面都是首屈一指的,可以說datadomain開創了磁盤備份的新模式。

總的來說,datadomain的成功源自于将磁盤存儲技術成功的應用于備份領域,并且成功的替換了體積龐大、性能低下的傳統帶庫技術,進而使得磁盤備份成為資料備份領域的主力軍。

大家知道,傳統的帶庫體積龐大,需要采用機械手裝置加載錄音帶。由于錄音帶本身不具備随機讀寫能力,是以,在順序寫的情況下表現尚可,但是,一旦需要随機讀取時,就顯得非常力不從心。另外,錄音帶存儲管理非常麻煩,占用大量的空間。和錄音帶技術相比,磁盤存儲體積小,随機讀寫能力強,是以,在不考慮成本的情況下,磁盤是錄音帶的完美替代者。

當磁盤替代錄音帶之後,備份、歸檔都可以在磁盤上完成。在資料的整個生命周期内,都可以做到資料的磁盤存儲。這種好處是顯而易見的,可以大大降低系統體積,簡化系統管理。

是以,當引入datadomain裝置之後,所有應用的資料都可以通過備份伺服器備份至datadomain的裝置,多台datadomain裝置之間并且可以進行遠端資料複制,進而可以提高資料的容災水準。當資料需要進行長期儲存時,datadomain裝置提供了archive的功能,可以将備份資料封存起來,進行長期存放。

datadomain在引入磁盤備份的時候,引入了一個非常重要的核心技術:重複資料删除。其實,在那個年代,datadomain不是唯一一家針對備份領域從事磁盤備份的廠商,也不是唯一一家從事重複資料删除的備份廠商。但是,datadomain如今是單機性能最佳,市場占有率最高的基于重複資料删除的磁盤備份廠商。這其中的原因是為什麼呢?在對比其他存儲廠商的設計之後,我們可以發現datadomain的設計避免了當時客觀條件的限制,并且将其性能最大化,進而超越了其他廠商,進而獨霸天下。

提到datadomain就不能不提重複資料删除技術。在2006年左右一直有很多人在争議是否可以在磁盤級别很好的實作線上重複資料删除?實際上,在primary storage中,現在還不能很好的做到在磁盤系統中實作線上重複資料删除。其原因很簡單,就是線上重複資料删除需要很強的cpu能力,以及很強的随機io讀寫能力,否則性能會很差。

在深入探索重複資料删除時,首先可以看一下塊級重複資料删除的原理。總體還是比較簡單的。首先将輸入資料進行自動分段,自動分段的目的在于實作變長資料塊,提高重複資料删除效率。得到分段塊之後,對這個資料塊計算一個hash值,具體算法可以采用sha1。這個hash值可以被稱之為這個資料塊的fingerprint(指紋)。當得到這個資料塊的指紋資訊之後,需要在目前系統内查找是否存在與其比對的指紋資訊,如果能夠找到比對的指紋,說明目前系統中已經存儲了輸入的資料塊,那麼可以直接丢棄該輸入資料塊,不進行存儲;反之,需要需要将輸入資料塊寫入存儲系統中,進行持久化儲存。從這個過程來看,重複資料删除主要分成兩大步驟:第一步是計算指紋資訊;第二步是查找指紋資訊。

仔細分析,上述重複資料删除其實還存在一定的漏洞。如果不同的資料存在相同的指紋資訊怎麼辦?雖然這是小機率事件,但是并不意味着不發生,從技術的角度出發,這是完全可能的。為了解決這個小機率事件問題,行業内通常有兩種解決方案,一種是再為資料塊計算一種hash值或者校驗碼,當指紋資訊比對之後,還需要校驗資訊完全比對。從機率的角度來看,不同的資料塊具有相同的指紋資訊和校驗資訊是不可能的,通過這種方式可以有效避免hash碰撞。另外一種方法是直接将資料讀出來進行比對,這種方法會産生很多的額外的io請求,對系統的性能産生極大的影響。

datadomain作為一種備份系統,具有很好的io pattern。基本上都是順序io操作,并且在備份過程中基本上都是寫操作,即使有讀操作,其和寫操作也具有很強的io局部性。對于這樣的io pattern,如果系統設計合理,那麼是可以做到線上重複資料删除的。

本文出自 “” 部落格,轉載請與作者聯系!