Blake Lewis

大家都知道,存儲系統(tǒng)的容量正在以驚人的速度增長。在過去的 10 年里,NetApp 提供的存儲系統(tǒng)容量從數(shù)十 GB 發(fā)展到數(shù)百 TB,足足翻了 10,000 倍!但是,多數(shù)企業(yè)發(fā)現(xiàn)它們對存儲的需求甚至增長得更快,– 除了存儲所有這些數(shù)據(jù)的磁盤或磁帶的成本外,– 數(shù)據(jù)中心空間和電源也變得越來越昂貴。因此,它們的重要目標(biāo)之一就是盡可能高效地使用存儲。

從存儲數(shù)百個 Snapshot 副本僅需極少磁盤空間的獨特的 Snapshot 技術(shù),到允許系統(tǒng)管理員在運行時擴展和設(shè)定卷的 FlexVol技術(shù),NetApp 一直是高效利用存儲的行業(yè)先鋒.

五月份,NetApp 宣布了一種新的重復(fù)數(shù)據(jù)刪除技術(shù),能夠大大提高指定磁盤空間可存儲的數(shù)據(jù)量:高級單實例存儲 (A-SIS) 重復(fù)數(shù)據(jù)刪除。NetApp NearStore® R200 和 NearStore on FAS 系統(tǒng)均可使用該技術(shù)(免費!)

重復(fù)數(shù)據(jù)刪除能以單個共享數(shù)據(jù)塊為參考尋找相同的數(shù)據(jù)塊并將其替換,從而提高效率。相同的數(shù)據(jù)塊可能屬于多個不同的文件或 LUN,或者可能重復(fù)出現(xiàn)在同一個文件中。A-SIS 重復(fù)數(shù)據(jù)刪除是 NetApp WAFL 文件系統(tǒng)不可或缺的一部分,該系統(tǒng)管理 NetApp FAS 系統(tǒng)上所有存儲。因此,不管您運行何種應(yīng)用程序或如何訪問數(shù)據(jù),重復(fù)數(shù)據(jù)刪除都在"后臺"運行,并且開銷很低。

您可以節(jié)約多少空間?這取決于數(shù)據(jù)集和它所包含的重復(fù)數(shù)據(jù)刪除量。以下是 NetApp 客戶實現(xiàn)節(jié)約的幾個示例:

一家全球性石油和天然氣公司為其主目錄存儲節(jié)約了 35% 的空間。

某投資管理公司減少了 90% 的 VMware 映像備份副本。

某個測試和測量儀器制造商在日常數(shù)據(jù)庫備份方面節(jié)約了 98% 的空間。

A-SIS 重復(fù)數(shù)據(jù)刪除如何運作

實質(zhì)上,A-SIS 重復(fù)數(shù)據(jù)刪除采用老式的計算機科學(xué)技術(shù)-參考計算。以前,WAFL 僅跟蹤數(shù)據(jù)塊是否在使用。借助 A-SIS 重復(fù)數(shù)據(jù)刪除,它還能跟蹤有多少在使用。在目前的實施中,不同文件或同一文件中的單個 WAFL 塊可參考多達 256 次。文件并不"知道"它們之間在共享數(shù)據(jù)-WAFL 內(nèi)的簿記會在后臺管理這些細節(jié)。

WAFL 如何確定哪兩塊可以共享?答案是 WAFL 會為每塊計算出"指紋",這是塊數(shù)據(jù)的哈希。具有相同指紋的兩個塊即可用于共享。

在卷上啟用 A-SIS 重復(fù)數(shù)據(jù)刪除后,它會為備份卷中所有正在使用的塊計算出一個指紋數(shù)據(jù)庫(此過程稱為"收集")。完成初步設(shè)置后,卷即可用于重復(fù)數(shù)據(jù)刪除。

為了不減緩普通文件操作,副本搜索將作為一個單獨的批次處理來完成。由于文件系統(tǒng)會在正常使用過程中進行更新,WAFL 將創(chuàng)建描述其數(shù)據(jù)塊更改的日志。該日志不斷累積,直到出現(xiàn)以下某種情況:

管理員發(fā)布 sis start 命令

sis config 計劃中指定的下一次發(fā)生

日志更改超出了預(yù)定的閾值

這些事件中的任何一件都會觸發(fā)重復(fù)數(shù)據(jù)刪除過程。啟動重復(fù)數(shù)據(jù)刪除過程后,A-SIS 會使用變更塊的指紋作為密鑰來給日志排序,然后將排好序的列表與指紋數(shù)據(jù)庫文件合并。一旦兩個列表中出現(xiàn)相同的指紋,則可能有兩個相同的塊可折疊成一個。這種情況下,WAFL 會棄用其中一個塊,并用另一個塊的參考將其替換。因為文件系統(tǒng)時刻在變,除非兩個塊確實仍在使用并且含有相同的數(shù)據(jù),否則我們當(dāng)然可采取這一步驟。

A-SIS 重復(fù)數(shù)據(jù)刪除實施利用了 WAFL 的某些特殊功能,從而使重復(fù)數(shù)據(jù)刪除的成本降到最小。NetApp 很早以前就發(fā)現(xiàn),要確保存儲在磁盤上的數(shù)據(jù)的完整性,應(yīng)該采用皮帶與吊帶式 (belt-and-suspenders) 方法。(事實上,最好有幾雙吊帶。)因此,磁盤上的每個數(shù)據(jù)塊都通過校驗和得到保護。

A-SIS 使用該校驗和作為它的指紋。由于無論如何都會計算指紋,相當(dāng)于"無消耗",因此不會給系統(tǒng)增加任何負擔(dān)。且由于 WAFL 絕對不會覆蓋正在使用的數(shù)據(jù)塊,因此在閑置數(shù)據(jù)塊之前,"指紋"將保持有效。A-SIS 重復(fù)數(shù)據(jù)刪除與 WAFL 的緊密集成也意味著更改日志是一種高效的操作。其結(jié)果是 A-SIS 重復(fù)數(shù)據(jù)刪除可用于廣泛的工作負荷,而不僅是用于備份,其它重復(fù)數(shù)據(jù)刪除實施的情況也是如此。

哪些類型的環(huán)境較使用適合 A-SIS?

首先,您的數(shù)據(jù)應(yīng)是使用了很長時間。如果您想馬上更改數(shù)據(jù),則努力尋找重復(fù)數(shù)據(jù)意義不大。系統(tǒng)還應(yīng)具有 CPU 剩余空間。更改日志和指紋匹配是為效率而設(shè)計的,但都要耗用 CPU。如果您的系統(tǒng)長時間處于高 CPU 利用率,則重復(fù)數(shù)據(jù)刪除帶來的額外負載將是致命一擊。

節(jié)約磁盤空間的其它方法

NetApp 提供了許多其它可更加高效地使用磁盤空間的方法,它們各具優(yōu)缺點。不必僅選擇一個;因為它們大部分都可以結(jié)合使用。

Snapshot 副本

從一開始,WAFL 就允許通過 Snapshot 技術(shù)共享數(shù)據(jù)塊。由于文件會隨時改變,您可使用 Snapshot 副本捕獲該文件的多個版本,并且存儲成本僅與版本之間的更改量相對應(yīng)。

無論作為本身的功能,還是作為諸如 SnapVault[R] 和 SnapMirror[R] 之類的應(yīng)用程序的基礎(chǔ),Snapshot 副本都已證明了其價值。在 WAFL 中,就性能而言它們沒有問題。它們的主要限制是它們只能在同一文件的不同版本之間提供塊共享,這與在不同文件之間共享重復(fù)塊的 A-SIS 不一樣。

有時,如果您未使用過 NetApp 存儲,您會發(fā)現(xiàn) Snapshot 副本的 NetApp"純增量"方法在所有主要的存儲供應(yīng)商中獨樹一幟,并且是我們的 SnapVault 和 SnapMirror 產(chǎn)品背后的基本技術(shù),也是它們成功的主要原因。

壓縮

在將數(shù)據(jù)寫入磁盤之前進行壓縮是一種節(jié)約空間的好方法。很多算法(如 gzip)可將文件壓縮到一半或更小,即使沒有可供共享的重復(fù)數(shù)據(jù)也能做到。壓縮的缺點是它需要耗用大量 CPU 資源。而且,有些類型的數(shù)據(jù)(如映像)已經(jīng)過壓縮,不能得到這種優(yōu)勢。由于 A-SIS 重復(fù)數(shù)據(jù)刪除可將數(shù)據(jù)的數(shù)百份副本壓縮成一份,在擁有很多副本的環(huán)境中這可能比壓縮節(jié)約遠遠更多的空間。

NetApp 目前在 Decru[R] 和 VTL 產(chǎn)品中提供了壓縮功能。

內(nèi)容尋址存儲 (CAS)

盡管內(nèi)容尋址存儲的實施方法常常很不一樣,但它在概念上與 A-SIS 重復(fù)數(shù)據(jù)刪除相似。數(shù)據(jù)的"斑點"經(jīng)過哈希處理后,哈希值將用于對其進行識別。對于指定哈希值的數(shù)據(jù)只會存儲一個副本。一個文件可能包含許多斑點。

從某種意義上說,CAS 比 A-SIS 重復(fù)數(shù)據(jù)刪除更靈活,因為 CAS 斑點不必是整個文件系統(tǒng)塊。但是,在某個很重要的方面,CAS 卻不夠靈活。借助 A-SIS 重復(fù)刪除功能,WAFL 可使用指紋作為密鑰來共享塊,但其基本數(shù)據(jù)結(jié)構(gòu)仍然不變并且該共享是隱蔽的。(當(dāng)然,您可隨時關(guān)閉 A-SIS 重復(fù)數(shù)據(jù)刪除功能。) 反之,在大多數(shù) CAS 實施中,始終是通過哈希值來找到斑點。這就使它很難獲得較高的性能,因此 CAS 通常是用于大部分為寫入操作的歸檔應(yīng)用程序,而不是需要對電子發(fā)現(xiàn)和數(shù)據(jù)恢復(fù)等即時讀取作出快速反應(yīng)的應(yīng)用程序。

CAS 有一個方面有時會引起爭議,即如果兩個斑點具有相同的哈希密鑰,則將其視為相同。如果兩個不同的斑點碰巧具有相同的哈希值,那么數(shù)據(jù)就會丟失。這叫做"哈希沖突"或"誤判"。有些統(tǒng)計數(shù)據(jù)可以很好地說明這種情形極不可能出現(xiàn),但許多人還是不以為然。A-SIS 重復(fù)數(shù)據(jù)刪除因此采取了一種保守的方法,只有塊的內(nèi)容(不單單是指紋)相同時才會共享塊。在刪除作為副本的塊之前,A-SIS 逐個字節(jié)進行了比較以確保該數(shù)據(jù)確實相同。

總結(jié)

A-SIS 重復(fù)數(shù)據(jù)刪除利用 WAFL 的獨有特征來節(jié)省磁盤空間,同時保持較低系統(tǒng)開銷。在許多環(huán)境中,可以大量地節(jié)約空間。即使在主目錄環(huán)境等主存儲應(yīng)用程序中,A-SIS 重復(fù)數(shù)據(jù)刪除也經(jīng)??梢怨?jié)約大量空間。

比如借助 NetApp Snapshot 技術(shù),A-SIS 重復(fù)數(shù)據(jù)刪除機制一定會為將來開發(fā)新穎的新應(yīng)用程序(如克隆文件)奠定基礎(chǔ)。WAFL 的持續(xù)演進是一個令人興奮的發(fā)展過程。

分享到

多易

相關(guān)推薦