申彥舒
(湖南人文科技學院圖書館,湖南 婁底 417000)
如今,無論規(guī)模大小,無論行業(yè)差別,都面臨數(shù)據(jù)量不斷增長的困境,而且在海量的存儲數(shù)據(jù)中,又存在大量重復(fù)的數(shù)據(jù),保存這些重復(fù)的數(shù)據(jù),實際上無形中占用了存儲系統(tǒng)太多的資源空間,也間接耗掉了數(shù)據(jù)中心很多不需要的電力以及管理成本。
同時,當虛擬化技術(shù)在各行各業(yè)中扮演越來越重要的角色時,越來越多的邏輯服務(wù)器整合到現(xiàn)有的物理計算機系統(tǒng)中,服務(wù)器虛擬化成為一種趨勢。在服務(wù)器虛擬化后,虛擬機上大量的數(shù)據(jù)是重復(fù)的,虛擬機鏡像文件也很大,每天產(chǎn)生的虛擬機文件給存儲空間帶來了特殊的挑戰(zhàn)??梢?,基于磁帶的傳統(tǒng)備份和恢復(fù)方法無法滿足數(shù)據(jù)增長和服務(wù)器虛擬化影響的需求,那么如何才能實現(xiàn)高效的重復(fù)數(shù)據(jù)刪除,大大節(jié)省存儲空間,降低存儲成本,確保業(yè)務(wù)連續(xù)性和數(shù)據(jù)安全性,提高數(shù)據(jù)保護級別,實現(xiàn)高效數(shù)據(jù)恢復(fù),重復(fù)數(shù)據(jù)刪除技術(shù)的引入為我們提供了一套可行的方案。
重復(fù)數(shù)據(jù)刪除[1](data deduplication)也稱為智能壓縮(intelligent compression)或單一實例存儲(single-instance storage),是一種可自動搜索重復(fù)數(shù)據(jù),將相同數(shù)據(jù)只保留唯一的一個副本,并使用指向單一副本的指針替換其他重復(fù)副本,以達到消除數(shù)據(jù)冗余、降低存儲容量需求的存儲技術(shù)。通過重復(fù)數(shù)據(jù)刪除技術(shù)不但能解決單數(shù)據(jù)中心多副本占用空間的問題,還可以減少傳輸備份數(shù)據(jù)所需要的帶寬。
重復(fù)數(shù)據(jù)刪除技術(shù)主要分為基于硬件的重復(fù)數(shù)據(jù)刪除和基于軟件的重復(fù)數(shù)據(jù)刪除兩種方式。
基于硬件的重復(fù)數(shù)據(jù)刪除在存儲系統(tǒng)本身進行數(shù)據(jù)削減。正常情況下,備份軟件會將專用設(shè)備看成一般的“磁盤系統(tǒng)”,并且不會感知其內(nèi)部正在進行的重復(fù)數(shù)據(jù)刪除進程。基于硬件的重復(fù)數(shù)據(jù)刪除技術(shù)具有更高的壓縮比,成本高,適合大型企業(yè)使用。
基于軟件的重復(fù)數(shù)據(jù)刪除旨在消除源的冗余,以此獲得帶寬的補償。軟件本身是具有重刪功能的備份軟件,使用Client/Server結(jié)構(gòu)。Server制定策略并在指定時間發(fā)起備份,調(diào)度Client對備份數(shù)據(jù)進行分塊,將數(shù)據(jù)塊輸入Hash程序進行運算,結(jié)果計入Hash表。后面的數(shù)據(jù)塊運算結(jié)果與表內(nèi)存在的值相同就刪除數(shù)據(jù),不同就記錄結(jié)果并保存數(shù)據(jù)塊。數(shù)據(jù)恢復(fù)根據(jù)表值和保存數(shù)據(jù)塊還原被刪除數(shù)據(jù),重組數(shù)據(jù)后恢復(fù)到系統(tǒng)中。實現(xiàn)方式優(yōu)勢是數(shù)據(jù)輸出到網(wǎng)絡(luò)前,在業(yè)務(wù)主機就實現(xiàn)了重刪操作,減少了網(wǎng)絡(luò)流量并降低了存儲空間用量。基于軟件的重復(fù)數(shù)據(jù)刪除產(chǎn)品有EMC的Avamar和賽門鐵克的veritas netBackup等。筆者主要論述以Avamar為例的重復(fù)數(shù)據(jù)刪除技術(shù)在數(shù)字圖書館的應(yīng)用。
從工作原理上講,重復(fù)數(shù)據(jù)刪除技術(shù)可區(qū)分為基于哈希(Hash)算法的重復(fù)刪除、基于內(nèi)容識別的重復(fù)刪除和基于ProtecTier VTL的重復(fù)刪除[2]。
2.2.1 哈希算法
Hash,一般翻譯為散列,或音譯為哈希。備份時,數(shù)據(jù)將被分塊計算Hash值,按照索引把新數(shù)據(jù)塊的Hash值和所有已存數(shù)據(jù)塊的Hash值進行比較,如果發(fā)現(xiàn)有相同的Hash值,就判定它對應(yīng)的數(shù)據(jù)塊是重復(fù)內(nèi)容,使用Hash值替換數(shù)據(jù)塊寫入存儲系統(tǒng)中,并且建立存儲系統(tǒng)保存位置Hash值與Hash表中相同值的索引指針,刪除重復(fù)的數(shù)據(jù)塊。這樣存儲系統(tǒng)當中保存的備份數(shù)據(jù)副本是由唯一數(shù)據(jù)塊和那些重復(fù)數(shù)據(jù)塊對應(yīng)的Hash值合成的,而且數(shù)據(jù)塊和Hash值的排列順序保持和原數(shù)據(jù)一致。而找不到匹配的數(shù)據(jù)塊將被直接以原有形式保存到存儲系統(tǒng)中,并且建立數(shù)據(jù)塊與Hash值的索引指針,以供日后比較。
2.2.2 內(nèi)容識別
內(nèi)容識別軟件技術(shù)不是以算法技術(shù)為核心的技術(shù)理論,而是針對數(shù)據(jù)實體的內(nèi)容進行識別、區(qū)分、標注、記錄及刪除等處理操作的重復(fù)數(shù)據(jù)刪除軟件技術(shù)。其原理是:當備份數(shù)據(jù)第一次被寫入重復(fù)數(shù)據(jù)刪除軟件技術(shù)核心的時候,不會進行數(shù)據(jù)掃描、切分、計算、構(gòu)建指針、重復(fù)數(shù)據(jù)的刪除等這些操作,而是直接保存到存儲系統(tǒng)中,對備份數(shù)據(jù)副本進行掃描、內(nèi)容識別、信息抽取操作,并且將元數(shù)據(jù)保存到軟件技術(shù)的數(shù)據(jù)庫中。當來源相同的下一備份數(shù)據(jù)再次被寫入的時候,還是被直接保存到存儲系統(tǒng)中,進行掃描、內(nèi)容識別、信息抽取操作,然后用新的抽取信息和原來保存的抽取信息進行比對。根據(jù)比較結(jié)果構(gòu)建索引指針,在兩份完整備份數(shù)據(jù)副本中重復(fù)的數(shù)據(jù)內(nèi)容之間建立索引指針指向關(guān)系,再進行一次數(shù)據(jù)指針對應(yīng)關(guān)系的完整性檢查,最后刪除先保存的備份數(shù)據(jù)副本中的重復(fù)數(shù)據(jù)內(nèi)容,將后保存的備份數(shù)據(jù)副本完整真實地保存到存儲系統(tǒng)中。
2.2.3 ProtecTier VTL
這種方法像基于哈希算法那樣將數(shù)據(jù)分成塊,并且采用自有算法決定給定的數(shù)據(jù)塊是否與其他數(shù)據(jù)塊相似,然后與相似塊中的數(shù)據(jù)進行逐字節(jié)的比較,以判斷該數(shù)據(jù)塊是否已經(jīng)被存儲。
第一,利用重復(fù)數(shù)據(jù)刪除技術(shù)可以對存儲空間的利用率進行優(yōu)化,以消除分布在存儲系統(tǒng)中的相同文件或者數(shù)據(jù)塊,大幅降低需要采購和管理的物理存儲容量。第二,利用重復(fù)數(shù)據(jù)刪除技術(shù)可以減少在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,進而降低能量消耗和網(wǎng)絡(luò)成本[3],并為數(shù)據(jù)復(fù)制節(jié)省大量網(wǎng)絡(luò)帶寬。第三,VMware備份映像文件非常大,而這些備份映像的冗余程度極高,重復(fù)數(shù)據(jù)刪除可使備份數(shù)據(jù)縮小幾十倍,并可縮短多達90%的備份時間窗口,這就大大提高了VMware備份速度,減少了基礎(chǔ)架構(gòu)壓力,允許更大規(guī)模的服務(wù)器整合,并消除了共享資源上的傳統(tǒng)備份負擔。第四,重復(fù)數(shù)據(jù)刪除技術(shù)還充分利用隨機存取磁盤存儲,可以大大縮短多種應(yīng)用程序的恢復(fù)時間,與順序存?。ù艓В┓椒ㄏ啾忍岣吡嘶謴?fù)性能。
以某高校圖書館為例,該圖書館擁有圖書館自動化集成系統(tǒng)、光盤數(shù)據(jù)庫系統(tǒng)、一卡通系統(tǒng)、論文提交系統(tǒng)、門禁系統(tǒng)、監(jiān)控系統(tǒng)、數(shù)臺存儲設(shè)備、各類型數(shù)據(jù)庫資源服務(wù)器等,各個應(yīng)用系統(tǒng)的技術(shù)環(huán)境不一樣,面臨著如下的困難:業(yè)務(wù)數(shù)據(jù)重要,恢復(fù)時間長;各系統(tǒng)的數(shù)據(jù)采用分散模式各自獨立保存,其數(shù)據(jù)備份一般采用磁盤、磁帶、光盤等方式,分散管理,復(fù)雜度高,備份系統(tǒng)不可靠;大量備份數(shù)據(jù)只有單份拷貝,存在數(shù)據(jù)丟失風險;試圖利用虛擬化技術(shù)實現(xiàn)服務(wù)器的整合,但又存在著虛擬化平臺數(shù)據(jù)量大,重復(fù)數(shù)據(jù)多,傳統(tǒng)的備份方案難以滿足需求等問題。
針對上述情況,購置4臺高配置的服務(wù)器,利用VMware軟件將數(shù)據(jù)庫資源服務(wù)器以及各系統(tǒng)服務(wù)器進行整合,在其中心機房搭建一臺備份服務(wù)器,用來部署Avamar技術(shù),Avamar可以與VMware虛擬化系統(tǒng)緊密集成,采取多種方式結(jié)合制定出利用重復(fù)數(shù)據(jù)刪除技術(shù)實現(xiàn)數(shù)據(jù)備份和恢復(fù)平臺方案。具體實施如下:
①配置虛擬機。建立虛擬機模板,根據(jù)各應(yīng)用的要求建立Windows2000和Windows2003、SCO UNIX3個模板,利用3個模板轉(zhuǎn)換出虛擬機,然后根據(jù)各應(yīng)用對各個虛擬機的CPU、內(nèi)存和硬盤進行調(diào)撥,淘汰原有舊服務(wù)器。
②使用GuestLevel方式,把Avamar軟件直接安裝在每個虛擬機上,根據(jù)每個客戶端的不同需求,采用靈活多樣的備份策略。該方法可方便實現(xiàn)客戶系統(tǒng)級別/文件級別的備份。此類備份一般不需要編寫腳本,可能需要基本客戶端設(shè)置以外的配置來支持特定應(yīng)用程序,如MicrosoftSQL Server或者Oracle等。此方式的主要優(yōu)點:可實現(xiàn)最高級別的重復(fù)數(shù)據(jù)刪除;支持虛擬機內(nèi)應(yīng)用程序的備份;物理機和虛擬機的備份方法完全相同,可輕松完成虛擬機的恢復(fù)?;謴?fù)整個虛擬機映像的方法如圖1所示。
圖1
若要實現(xiàn)完整系統(tǒng)恢復(fù),可使用模板或現(xiàn)成的操作系統(tǒng)映像,創(chuàng)建安裝操作系統(tǒng)和AVamar代理的虛擬機。若要恢復(fù)服務(wù)器上的整個文件系統(tǒng),可執(zhí)行以下步驟:從模板和映像部署新虛擬機;開啟虛擬機并向Avamar服務(wù)器注冊該虛擬機;執(zhí)行到新虛擬機的重定向恢復(fù)。
③使用VCB代理服務(wù)器,在代理服務(wù)器級別利用AVamar重復(fù)數(shù)據(jù)刪除功能。此方式可以實現(xiàn)對所有虛擬機image級別的備份,方便虛擬的整機恢復(fù)。不僅提供了源位置重復(fù)數(shù)據(jù)刪除的所有優(yōu)勢(降低基礎(chǔ)架構(gòu)成本、減少網(wǎng)絡(luò)帶寬、縮短備份時間),而且還將備份和恢復(fù)任務(wù)移至代理服務(wù)器。
使用重復(fù)刪除技術(shù)后新備份系統(tǒng)運行環(huán)境如圖2所示。
圖2
在數(shù)據(jù)中心放置Emc Avamar Data store 10TB,集中管理Vmware虛擬化環(huán)境操作系統(tǒng)和應(yīng)用數(shù)據(jù)的快速備份與恢復(fù)。在VMware虛擬化系統(tǒng)中使用代理服務(wù)器和Guest備份相結(jié)合的方式,在源位置上縮減備份數(shù)據(jù)集。備份任務(wù)通過Avamar管理控制臺實現(xiàn)集中管理。
使用Emc Avamar重復(fù)數(shù)據(jù)刪除方案,虛擬機的數(shù)據(jù)在傳輸之前就進行了重復(fù)數(shù)據(jù)刪除,刪除比可達90%以上,極大地減少了備份作業(yè)需要傳輸?shù)臄?shù)據(jù)量,大大節(jié)省了帶寬,縮短了備份時間,也節(jié)約了備份空間;提高了備份設(shè)備利用率,降低了成本;Avamar備份是生成的完全備份,而不是傳統(tǒng)備份方式的“全備份+增量備份”,只需操作一次就可以恢復(fù)所需要的時間點數(shù)據(jù),能輕松實現(xiàn)快速恢復(fù)。由于數(shù)據(jù)是備份到存儲陣列的,存儲陣列上有RAID冗余磁盤技術(shù),可以隨時、自動對數(shù)據(jù)進行校驗,可靠性大大提高。
隨著數(shù)據(jù)的爆炸式增長,所占空間越來越大,而應(yīng)用系統(tǒng)保存的數(shù)據(jù)中高達60%是冗余的,并隨著時間的推移越來越多[4],保存這些重復(fù)數(shù)據(jù)無形中占用了大量存儲系統(tǒng)的資源空間,管理成本及數(shù)據(jù)中心空間的消耗也變得越來越嚴重。重復(fù)數(shù)據(jù)刪除技術(shù)的出現(xiàn)在很大程度上緩解了該問題,能有效減少存儲介質(zhì)數(shù)量、減少數(shù)據(jù)傳輸所需的帶寬、降低成本、提升備份和恢復(fù)性能,該技術(shù)會得到越來越廣泛的認可。
[1]廖海生.基于重復(fù)數(shù)據(jù)刪除技術(shù)的數(shù)據(jù)容災(zāi)系統(tǒng)的研究[D].華南理工大學,2009.
[2]王樹鵬.重復(fù)數(shù)據(jù)刪除技術(shù)的發(fā)展及應(yīng)用[J].中興通訊技術(shù),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]敖莉,舒繼武,李明強.重復(fù)數(shù)據(jù)刪除技術(shù)[J].軟件學報,2010(5):916-929.