消重已經成為了備份流程中一個基本的部分。然而,那些通常會制造大量數據的組織發現本應優化備份流程的消重技術實際上會對備份系統造成問題。
要避免出現這些問題,一些備份廠商開始提供能讓消重流程更加高效的產品。本文將會討論這些“消重加速器”是如何工作的。
每個提供消重加速功能的備份廠商都有他們各自的方法。例如,EMC提供“全局消重”功能,通過將許多工作負載交給備份服務器的方式來減少備份設備的負荷,以此來提升性能。
一般說來,消重加速基于分布式處理的原則,而非讓單臺設備來處理所有備份消重任務。備份消重任務被分布到多個設備上,通過多設備并行處理以便更快的執行任務。這樣結果就顯而易見了,消重變得更高效。而且這也能更高效的利用CPU和網絡帶寬資源。
讓我們用一個更具體的例子來講述消重加速是怎么實現的。假設有一個線內、目標端消重的環境,這種架構通常有一個或多個備份服務器將數據發送到備份設備。備份設備會檢查每個收到的數據塊,如果數據塊是唯一的,則將其寫入備份存儲。如果數據塊不是唯一的,則檢查該數據塊的拷貝在備份存儲中的位置,然后更新數據庫條目,將該數據塊與已經被備份的數據關聯起來。
盡管這種工作方式沒有問題,但它的擴展性卻不好。隨著需要備份的數據量的增大,備份設備的性能將達到極限,線內消重處理將成為一個瓶頸。要解決這一問題,其中的一個解決方案是使用分布式消重技術來提升擴展性。
在之前的案例中,備份服務器盲目地將數據流發送到備份設備,然后備份設備再進行數據消重和存儲數據。數據流在這里是單向的。在使用消重加速的環境中,單向數據流變成了雙向數據流。也就是說,備份服務器和備份設備之間會互相通信,這將使備份消重流程更加高效。
雖然每個廠商實現消重加速的具體方法都不同,但它們一般都會讓備份服務器在發送數據至備份設備前去確定數據是否是唯一的。否則,就要讓備份設備去檢查了。
具體的實現方法是,備份服務器會計算需要備份的數據塊的哈希值,并將該哈希值發送至備份設備,而非傳送整個數據塊。當備份設備收到該哈希值,它會將其與它的哈希表對比,確定該數據是否唯一。如果數據是冗余的,則無需備份該數據塊。
如果數據是唯一的,備份服務器需要將數據塊傳送到備份設備以完成備份。有的備份產品可以在傳送該數據塊之前將數據塊進行壓縮,這樣可以節省網絡帶寬,這在低帶寬的環境中是非常重要的。
這種方法不但大大的減少了WAN帶寬的使用,也提升了備份的速度。這里要再次說明,使用消重加速對資源的節省情況在每個產品中都是不同的。EMC聲稱其Data Domain Boost產品可以提升50%的速度,并節省80%至99%的網絡帶寬。
備份設備在執行線內數據消重時,隨時都有被大量進入設備的數據流沖垮的風險,特別是在多臺備份服務器向單個備份設備發送數據的環境。消重加速技術通過將一部分消重工作遷移到備份服務器的方式來解決這個問題,同時也節省了資源的使用,并且讓消重的擴展性變得更好。