申彥舒
(湖南人文科技學院圖書館,湖南 婁底 417000)
如今,無論規模大小,無論行業差別,都面臨數據量不斷增長的困境,而且在海量的存儲數據中,又存在大量重復的數據,保存這些重復的數據,實際上無形中占用了存儲系統太多的資源空間,也間接耗掉了數據中心很多不需要的電力以及管理成本。
同時,當虛擬化技術在各行各業中扮演越來越重要的角色時,越來越多的邏輯服務器整合到現有的物理計算機系統中,服務器虛擬化成為一種趨勢。在服務器虛擬化后,虛擬機上大量的數據是重復的,虛擬機鏡像文件也很大,每天產生的虛擬機文件給存儲空間帶來了特殊的挑戰。可見,基于磁帶的傳統備份和恢復方法無法滿足數據增長和服務器虛擬化影響的需求,那么如何才能實現高效的重復數據刪除,大大節省存儲空間,降低存儲成本,確保業務連續性和數據安全性,提高數據保護級別,實現高效數據恢復,重復數據刪除技術的引入為我們提供了一套可行的方案。
重復數據刪除[1](data deduplication)也稱為智能壓縮(intelligent compression)或單一實例存儲(single-instance storage),是一種可自動搜索重復數據,將相同數據只保留唯一的一個副本,并使用指向單一副本的指針替換其他重復副本,以達到消除數據冗余、降低存儲容量需求的存儲技術。通過重復數據刪除技術不但能解決單數據中心多副本占用空間的問題,還可以減少傳輸備份數據所需要的帶寬。
重復數據刪除技術主要分為基于硬件的重復數據刪除和基于軟件的重復數據刪除兩種方式。
基于硬件的重復數據刪除在存儲系統本身進行數據削減。正常情況下,備份軟件會將專用設備看成一般的“磁盤系統”,并且不會感知其內部正在進行的重復數據刪除進程。基于硬件的重復數據刪除技術具有更高的壓縮比,成本高,適合大型企業使用。
基于軟件的重復數據刪除旨在消除源的冗余,以此獲得帶寬的補償。軟件本身是具有重刪功能的備份軟件,使用Client/Server結構。Server制定策略并在指定時間發起備份,調度Client對備份數據進行分塊,將數據塊輸入Hash程序進行運算,結果計入Hash表。后面的數據塊運算結果與表內存在的值相同就刪除數據,不同就記錄結果并保存數據塊。數據恢復根據表值和保存數據塊還原被刪除數據,重組數據后恢復到系統中。實現方式優勢是數據輸出到網絡前,在業務主機就實現了重刪操作,減少了網絡流量并降低了存儲空間用量。基于軟件的重復數據刪除產品有EMC的Avamar和賽門鐵克的veritas netBackup等。筆者主要論述以Avamar為例的重復數據刪除技術在數字圖書館的應用。
從工作原理上講,重復數據刪除技術可區分為基于哈希(Hash)算法的重復刪除、基于內容識別的重復刪除和基于ProtecTier VTL的重復刪除[2]。
2.2.1 哈希算法
Hash,一般翻譯為散列,或音譯為哈希。備份時,數據將被分塊計算Hash值,按照索引把新數據塊的Hash值和所有已存數據塊的Hash值進行比較,如果發現有相同的Hash值,就判定它對應的數據塊是重復內容,使用Hash值替換數據塊寫入存儲系統中,并且建立存儲系統保存位置Hash值與Hash表中相同值的索引指針,刪除重復的數據塊。這樣存儲系統當中保存的備份數據副本是由唯一數據塊和那些重復數據塊對應的Hash值合成的,而且數據塊和Hash值的排列順序保持和原數據一致。而找不到匹配的數據塊將被直接以原有形式保存到存儲系統中,并且建立數據塊與Hash值的索引指針,以供日后比較。
2.2.2 內容識別
內容識別軟件技術不是以算法技術為核心的技術理論,而是針對數據實體的內容進行識別、區分、標注、記錄及刪除等處理操作的重復數據刪除軟件技術。其原理是:當備份數據第一次被寫入重復數據刪除軟件技術核心的時候,不會進行數據掃描、切分、計算、構建指針、重復數據的刪除等這些操作,而是直接保存到存儲系統中,對備份數據副本進行掃描、內容識別、信息抽取操作,并且將元數據保存到軟件技術的數據庫中。當來源相同的下一備份數據再次被寫入的時候,還是被直接保存到存儲系統中,進行掃描、內容識別、信息抽取操作,然后用新的抽取信息和原來保存的抽取信息進行比對。根據比較結果構建索引指針,在兩份完整備份數據副本中重復的數據內容之間建立索引指針指向關系,再進行一次數據指針對應關系的完整性檢查,最后刪除先保存的備份數據副本中的重復數據內容,將后保存的備份數據副本完整真實地保存到存儲系統中。
2.2.3 ProtecTier VTL
這種方法像基于哈希算法那樣將數據分成塊,并且采用自有算法決定給定的數據塊是否與其他數據塊相似,然后與相似塊中的數據進行逐字節的比較,以判斷該數據塊是否已經被存儲。
第一,利用重復數據刪除技術可以對存儲空間的利用率進行優化,以消除分布在存儲系統中的相同文件或者數據塊,大幅降低需要采購和管理的物理存儲容量。第二,利用重復數據刪除技術可以減少在網絡中傳輸的數據量,進而降低能量消耗和網絡成本[3],并為數據復制節省大量網絡帶寬。第三,VMware備份映像文件非常大,而這些備份映像的冗余程度極高,重復數據刪除可使備份數據縮小幾十倍,并可縮短多達90%的備份時間窗口,這就大大提高了VMware備份速度,減少了基礎架構壓力,允許更大規模的服務器整合,并消除了共享資源上的傳統備份負擔。第四,重復數據刪除技術還充分利用隨機存取磁盤存儲,可以大大縮短多種應用程序的恢復時間,與順序存取(磁帶)方法相比提高了恢復性能。
以某高校圖書館為例,該圖書館擁有圖書館自動化集成系統、光盤數據庫系統、一卡通系統、論文提交系統、門禁系統、監控系統、數臺存儲設備、各類型數據庫資源服務器等,各個應用系統的技術環境不一樣,面臨著如下的困難:業務數據重要,恢復時間長;各系統的數據采用分散模式各自獨立保存,其數據備份一般采用磁盤、磁帶、光盤等方式,分散管理,復雜度高,備份系統不可靠;大量備份數據只有單份拷貝,存在數據丟失風險;試圖利用虛擬化技術實現服務器的整合,但又存在著虛擬化平臺數據量大,重復數據多,傳統的備份方案難以滿足需求等問題。
針對上述情況,購置4臺高配置的服務器,利用VMware軟件將數據庫資源服務器以及各系統服務器進行整合,在其中心機房搭建一臺備份服務器,用來部署Avamar技術,Avamar可以與VMware虛擬化系統緊密集成,采取多種方式結合制定出利用重復數據刪除技術實現數據備份和恢復平臺方案。具體實施如下:
①配置虛擬機。建立虛擬機模板,根據各應用的要求建立Windows2000和Windows2003、SCO UNIX3個模板,利用3個模板轉換出虛擬機,然后根據各應用對各個虛擬機的CPU、內存和硬盤進行調撥,淘汰原有舊服務器。
②使用GuestLevel方式,把Avamar軟件直接安裝在每個虛擬機上,根據每個客戶端的不同需求,采用靈活多樣的備份策略。該方法可方便實現客戶系統級別/文件級別的備份。此類備份一般不需要編寫腳本,可能需要基本客戶端設置以外的配置來支持特定應用程序,如MicrosoftSQL Server或者Oracle等。此方式的主要優點:可實現最高級別的重復數據刪除;支持虛擬機內應用程序的備份;物理機和虛擬機的備份方法完全相同,可輕松完成虛擬機的恢復。恢復整個虛擬機映像的方法如圖1所示。

圖1
若要實現完整系統恢復,可使用模板或現成的操作系統映像,創建安裝操作系統和AVamar代理的虛擬機。若要恢復服務器上的整個文件系統,可執行以下步驟:從模板和映像部署新虛擬機;開啟虛擬機并向Avamar服務器注冊該虛擬機;執行到新虛擬機的重定向恢復。
③使用VCB代理服務器,在代理服務器級別利用AVamar重復數據刪除功能。此方式可以實現對所有虛擬機image級別的備份,方便虛擬的整機恢復。不僅提供了源位置重復數據刪除的所有優勢(降低基礎架構成本、減少網絡帶寬、縮短備份時間),而且還將備份和恢復任務移至代理服務器。
使用重復刪除技術后新備份系統運行環境如圖2所示。

圖2
在數據中心放置Emc Avamar Data store 10TB,集中管理Vmware虛擬化環境操作系統和應用數據的快速備份與恢復。在VMware虛擬化系統中使用代理服務器和Guest備份相結合的方式,在源位置上縮減備份數據集。備份任務通過Avamar管理控制臺實現集中管理。
使用Emc Avamar重復數據刪除方案,虛擬機的數據在傳輸之前就進行了重復數據刪除,刪除比可達90%以上,極大地減少了備份作業需要傳輸的數據量,大大節省了帶寬,縮短了備份時間,也節約了備份空間;提高了備份設備利用率,降低了成本;Avamar備份是生成的完全備份,而不是傳統備份方式的“全備份+增量備份”,只需操作一次就可以恢復所需要的時間點數據,能輕松實現快速恢復。由于數據是備份到存儲陣列的,存儲陣列上有RAID冗余磁盤技術,可以隨時、自動對數據進行校驗,可靠性大大提高。
隨著數據的爆炸式增長,所占空間越來越大,而應用系統保存的數據中高達60%是冗余的,并隨著時間的推移越來越多[4],保存這些重復數據無形中占用了大量存儲系統的資源空間,管理成本及數據中心空間的消耗也變得越來越嚴重。重復數據刪除技術的出現在很大程度上緩解了該問題,能有效減少存儲介質數量、減少數據傳輸所需的帶寬、降低成本、提升備份和恢復性能,該技術會得到越來越廣泛的認可。
[1]廖海生.基于重復數據刪除技術的數據容災系統的研究[D].華南理工大學,2009.
[2]王樹鵬.重復數據刪除技術的發展及應用[J].中興通訊技術,2010(10):9-13.
[3]Muthitacharoen A,Chen B,Maziéres D.A low-bandwidth network file system.In:Proc.of the 18th ACM Symp.on Operating System Principles(SOSP 2001).New York:ACM Press,2001:174-187.
[4]敖莉,舒繼武,李明強.重復數據刪除技術[J].軟件學報,2010(5):916-929.