如果你看過企業級備份設備(例如 Dell PowerProtect DD 系列)的規格或報表,常會看到一個神奇的數字:Dedupe Ratio 20:1、30:1,甚至更高。意思是 300TB 的備份資料,實際只占用 10TB 的空間。
這不是行銷話術,而是備份場景天生就適合這個技術。今天就用白話聊聊重複資料刪除(Data Deduplication,簡稱 Dedupe)是怎麼運作的。
假設你每天對同一台檔案伺服器做全備份,連做 30 天。這 30 份備份裡面,有多少資料是「一模一樣」的?
答案是:絕大部分。一台伺服器每天真正變動的資料通常只有 1~5%,剩下 95% 以上的內容,昨天跟今天根本沒差。如果 30 天的備份都完整存一份,就是把幾乎相同的東西存了 30 次。
Dedupe 要解決的就是這件事:相同的內容,只存一份。
Dedupe 的基本流程大概是這樣:
切塊(Chunking):把進來的資料流切成一小塊一小塊,可能是固定長度,也可能是變動長度(variable-length,效果通常更好,因為資料中間插入一點東西不會讓後面全部對不上)。
算指紋(Fingerprinting):對每一塊資料算一個雜湊值(hash),就像幫每一塊資料算出一個獨一無二的指紋。
比對:這個指紋如果以前出現過,代表這塊資料已經存過了,那就不用再存一次,只要記一個指標「這裡的內容跟之前那塊一樣」。指紋沒出現過,才真的把資料寫進去。
所以第一次全備份可能占用不少空間,但第二次、第三次之後,因為大部分資料塊都重複,實際新增的用量非常少。備份保留的版本越多,Dedupe 的效益就越明顯,這就是 20:1、30:1 這種數字的由來。
Dedupe 依照「在哪裡做」分兩種:
天下沒有白吃的午餐,Dedupe 也有它的取捨:
還原速度。資料被切碎、去重之後,還原時要把散落各處的資料塊重新組回來(rehydration),所以 Dedupe 設備的還原速度通常比寫入慢。這也是為什麼有些架構會把「最近一次備份」放在一般儲存、舊版本才進 Dedupe 設備。
不適合已壓縮或加密的資料。影片、已加密的檔案,內容幾乎沒有重複性,Dedupe 效果會很差。所以看到廠商標榜的比率,記得那是「一般企業混合資料」的情境,不是保證值。
指紋資料庫是命脈。所有資料塊的對應關係都靠那份索引,設備本身的保護(RAID、複製到第二台)就變得非常重要。
Dedupe 讓「保留長天期、多版本的備份」在成本上變得可行,這也是為什麼現在企業級備份幾乎都建立在 Dedupe 儲存之上。
下一篇要進入這個系列最硬核的主題之一:Air Gap 離線備份——當勒索軟體連備份都不放過的時候,企業的最後一道防線長什麼樣子。