2011-11-16 82 views
4

我想將重複數據刪除功能集成到我正在編寫的備份vmware映像的軟件中。我一直無法找到適合我想要的東西。似乎有很多完整的解決方案,包括一種形式的重複數據刪除或其他形式。這些包括使用公共雲或專用雲,專用文件系統,存儲網絡或設備等的存儲或備份解決方案。但是,我需要開發自己的解決方案並將重複數據消除整合到該解決方案中。我的軟件將用C#編寫,我希望能夠調用API來告訴它需要重複數據刪除的內容。重複數據刪除框架?

我所談論的重複數據刪除類型並不是針對另一個映像(通常是產生兩個「版本」增量或差異備份的方法)或所謂的「客戶端備份重複數據刪除」維基百科條目data deduplication,因爲我已經有一個解決方案來做到這一點,並希望更進一步。

我設想一種方法,可以讓我以某種方式在全球範圍內重複刪除大塊數據(即某種形式的global deduplication)。爲了成爲全球性的,我想會有一些中央查找表(例如散列索引),它會告訴推理者被檢查的數據副本已經被保留了,並且不需要再次存儲。塊可以是文件級(單實例存儲或SIS)或子文件/塊級重複數據刪除。後者應該更有效率(這對於我們的目的比處理開銷更重要),並且將是我的首選,但如果必須的話,我也可以讓SIS工作。

我現在已經做了很多關於其他人的軟件的推斷,如上所述。我不會在這裏舉出例子,因爲我沒有試圖模仿別人的方法。相反,我一直無法找到程序員的解決方案,並想知道是否有類似的東西。另一種辦法是推出我自己的解決方案,但這將是一個相當大的任務,要溫和地說。

謝謝。

+0

查找到的rsync怎麼做的東西張貼這個答案。它可能會給你一些鼓舞人心的想法。或者,也許你已經這樣做了... –

+1

感謝,rsync的方法來使用滑動窗口的校驗和來確定是否與它同步的文件匹配(據我所知,它從我的閱讀rsync工作)對應的部分我提到了塊級重複數據刪除。然而,在典型的服務器的虛擬軟件映像中,通常有很多數量的標準數據項(例如OS和程序文件)可以被刪除。除非我以某種方式嘗試與這些文件的大型中央庫進行同步/比較,否則我無法以實用的方式將它們重新刪除。 – stifin

+0

您可以對每個文件進行散列並將其與文件一起存儲。然而,那麼你將有'文件'與'圖像'的難題。無論如何,你必須在這裏更具體地提出你的問題...... –

回答

2

您所描述的全局重複數據刪除通常在大多數典型的虛擬機備份程序之外進行處理,因爲CBT已經告訴您在虛擬機中更改了哪些塊,因此您不必每次都進行完整備份。全局重複數據刪除往往也是資源密集型的,所以大多數人只會得到Data Domain,並利用硬件(SSD)和軟件(自定義文件系統,可變長度重複數據刪除)專用,配置和優化重複數據刪除。可以想象,您正在創建的備份程序可以利用CBT和Data Domain的產品,以一些商業上可用的備份軟件已經能夠做到的方式,如[Veeam] [3]。有關Data Domain的重複數據刪除策略的更多信息([可變長度段] [4])。

以及我不得不刪除我的兩個網址的Cuz顯然我沒有足夠的代表處...瓦特/電子