重復數據刪除技術定義
重復數據刪除(De-duplication),簡稱“去重”,是目前主流且非常熱門的存儲技術,通過對比校驗技術刪除存儲設備上重復的數據,只保留其中一份,從而消除冗余數據,優化存儲設備的物理空間,從而滿足日益增長的數據存儲需求。
固定分塊重復數據刪除的主要優勢在於占用較少的CPU資源。固定分塊系統不需要CPU開銷來檢查數據並判斷數據塊的邊界。它們只要將數據分解成數據塊,就像其他文件系統那樣。實際上,一些主存儲重復數據刪除,比如NetApp的產品,使用的正是底層文件系統的塊。
較低的開銷同時還意味着較低的延遲性。數據塊邊界的計算過程需要一些時間。雖然廠商們已經在盡量減少這個時間並聲稱這種時間開銷是可以忽略的,但是這個過程和時間確實存在,對於主存儲重復數據刪除系統來說可能是個問題。
不過,對於備份應用程序來說,這問題要簡單許多。備份應用程序只是將數據流發送給某處的一個磁帶驅動器。由於它們只是向少數大型文件執行大型順序寫入請求,因此每個請求發生數毫秒的延遲對於它們來說還不會有什么大的影響。對於傳統備份應用程序,比如NetBackup或Networker來說,吞吐量才是最重要的,延遲性的重要性低一些。
主存儲應用程序,即使是簡單的應用程序,比如托管用戶的主目錄,對延遲性也非常敏感。此外,主存儲應用環境不是像備份應用程序那樣將數據寫入到少數大型文件,而是有數百萬個各種大小的文件。由於每個文件都從一個新的數據塊開始,因此數據插入或其他有可能帶來塊重整的修改只影響一個文件的數據。每個新文件都會重新調整流程。
基於軟件的重復數據刪除軟件--尤其是那些在源服務器端進行重復數據刪除操作的應用程序,比如Avamar、PureDisk或Asigra的Cloud Backup--也會使用文件開頭和結尾來判斷它們的塊邊界。這些應用程序首先判斷哪些文件已經發生修改,比如傳統的增量型備份,然后開始在每個文件上進行分塊操作。
如果備份目標端的重復數據刪除引擎知道磁帶的格式或將Tarball這樣的文件(也就是你的備份應用程序寫入數據的文件)整合在一起,那么使用文件邊界可以優化備份目標端的固定塊分塊流程。重復數據刪除引擎可以在Tarball內判斷每個文件的開頭和結尾,並根據這些邊界對數據塊進行重新調整。內容感知功能同時也可以讓備份設備看到索引標志,並為備份應用程序插入到Tarball的數據編寫目錄以防止它們遭到分塊。
不過,固定塊系統可能在某些數據上會水土不服。我知道一位Data Domain用戶使用Exchange備份來測試賽門鐵克的PureDisk重復數據刪除。他們當時在Data Domain上根據給定容量的存儲保存40個Exchange服務器備份,但是他們無法在同樣的存儲容量下保存4個被PureDisk執行重復數據刪除的Exchange備份數據。Exchange數據是由小量大型數據庫文件組成的,而這些文件會在備份之間發生內部改變。對於PureDisk的重復數據刪除引擎來說,這是最糟糕的情況。現在,如果你使用固定塊重復數據刪除引擎,而數據塊的大小比數據庫頁面還小,那么情況也很糟糕。