NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
從基礎談起:資料壓縮

「從基礎談起」系列文章探討廣受歡迎的 NetApp® 技術基礎,本文是這系列的第六篇文章。

資料壓縮技術已存在一段很長的時間,但在大規模儲存系統上卻面臨重大挑戰,特別是在效能影響方面最為明顯。直到最近,適合用於磁帶和 VTL 之類裝置的壓縮功能幾乎一律來自專用硬體,但此類硬體會增加費用與複雜度。

NetApp 開發了一種方法,可在軟體上提供透明化內嵌及後處理資料的壓縮功能,同時減輕資料壓縮對於運算資源的影響。這項壓縮功能可在 Data ONTAP® 架構上使用,因此我們能在現有的 NetApp 儲存系統上享有其好處,完全不需額外付費。自從在 Data ONTAP 8.0.1 中推出第一版壓縮功能後,我們得到很正面的相關回響。目前已有許多產業的系統取得使用授權,其中 40% 將壓縮用於一線儲存設備,60% 用於備份/歸檔。

NetApp 資料壓縮具備下列重要優點:

  • 可搭配其他領先業界的 NetApp 儲存效率技術一起使用:壓縮加上其他效率技術(例如:資源隨需配置、重複資料刪除),可大幅降低所需的儲存空間量,減少資金和作業支出。視應用程式而定,單靠壓縮最高就可省下 87% 的總空間。搭配其他效率技術還可進一步提高節約效益。
  • 對效能的影響最小:所有壓縮技術都伴隨著效能犧牲,NetApp 花費大量心思,務求在獲得最多空間節約效益的同時,也最大程度降低影響層面。
  • 免軟體授權費:NetApp 資料壓縮是 Data ONTAP 8.0.1 的標準功能。不需使用授權,因此當您啟用壓縮功能時,完全不必額外支付硬體或軟體成本。
  • 一線和二線儲存設備皆可使用:可在一線儲存磁碟區、二線儲存磁碟區、或同時在二者上啟用壓縮技術。
  • 不需變更應用程式:此壓縮技術不受應用程式限制,因此可與各種應用程式搭配使用,而不必修改程式碼。
  • 複寫及使用 DataMotion 時可繼承空間節約效益:當您使用磁碟區 SnapMirror 複寫壓縮的磁碟區,或以 DataMotion™ 搬移磁碟區時,區塊都會以壓縮狀態進行複製。這可節省資料傳輸的頻寬和時間,也能節省目標儲存設備上的空間,同時不必使用額外的 CPU 運轉週期來再次壓縮相同的區塊。

本篇「從基礎談起」將探討 NetApp 資料壓縮技術,讓您瞭解如何實作、其效能、適用案例、該選擇內嵌或後處理、以及最佳實務做法。

在 Data ONTAP 中執行壓縮的方法

NetApp 資料壓縮藉由壓縮一線、二線及封存儲存設備上的彈性磁碟區 (FlexVol®) 內的資料,來減少在儲存系統上儲存資料所需的實際容量。它會壓縮正常的檔案、虛擬本機磁碟以及 LUN。本文其餘部分中有關用於檔案的參考資料,也同樣適用於虛擬本機磁碟和 LUN。

NetApp 資料壓縮不會將整個檔案壓縮成單一個連續串流位元組。單一串流在處理資料量少的讀取作業時非常昂貴,因為它需要從磁碟中讀取整個檔案並進行解壓縮,之後才能為讀取要求提供服務。而且這種做法對於大型檔案而言特別困難。為了避免發生此情況,NetApp 資料壓縮的運作方式是一次壓縮一小群連續區塊。這是讓 NetApp 資料壓縮更有效率的關鍵性設計要點。當有讀取要求時,您只需讀取並解壓縮一小群區塊,而非整個檔案。這種做法可讓小量的讀取和覆寫作業獲得最佳效率,並讓所壓縮的檔案大小更具調整彈性。

NetApp 壓縮運算法會將檔案分割成資料區塊(稱為「壓縮群組」),壓縮群組的大小上限是 32 KB。舉例來說,60KB 大的檔案將被放在兩個壓縮群組中,第一個是 32KB,第二個是 28KB。每個壓縮群組只會包含來自單一檔案的資料,8KB 以下的檔案則不會進行壓縮。

寫入資料:寫入要求是在壓縮群組層級加以處理。一旦形成群組之後,便會進行測試,判斷資料是否可進行壓縮。如果無法產生至少 25% 的節約效益,就維持原狀不壓縮。唯有測試顯示資料可以壓縮時,才會將資料寫入磁碟壓縮。如此便可獲得最大節約效益,同時將資源成本降至最低。

由於壓縮的資料只有較少量區塊必須寫入磁碟中,因此可降低每個壓縮寫入作業所需的寫入 I/O 次數。這樣不僅可減少磁碟上的資料所佔空間,還能縮短執行備份所需的時間。

VMware 管理員和儲存管理員在使用 VSC vCenter 外掛程式時的職責。

圖 1)檔案分割成資料區塊(稱為「壓縮群組」),並測試可壓縮性。然後視測試結果,將每個壓縮群組以壓縮或非壓縮的狀態排清到磁碟中。

讀取資料:讀取壓縮的資料時,Data ONTAP 只會讀取包含所要求資料的壓縮群組,而非整個檔案。如此可將處理要求所需的 I/O 量、系統資源成本、讀取服務時間降至最低。

內嵌作業:當 NetApp 資料壓縮設定為內嵌作業時,資料會先在記憶體內壓縮,再寫入磁碟。這麼做可大幅減少磁碟區的 I/O 寫入量,但也會影響寫入效能,未經事先測試不適合用於需要高效能的應用程式。

為了達到最佳處理量,內嵌壓縮會壓縮最新的寫入內容,但延後部分效能需求高的壓縮作業,例如壓縮群組局部覆寫,直到下一個後處理壓縮程序才開始執行。

後處理作業:後處理壓縮可在啟用壓縮之前,先壓縮最新寫入的資料和磁碟上存在的舊資料。它的排程方式與 NetApp 重複資料刪除技術相同。如果已啟用壓縮功能,會先壓縮再進行重複資料刪除。重複資料刪除技術在操作時並不需要解壓縮檔案;只要從資料磁碟區中移除重複的壓縮或未壓縮區塊即可。

如果同時啟用內嵌和後處理壓縮,則後處理壓縮只會嘗試壓縮尚未壓縮的區塊,包括在內嵌壓縮期間略過的區塊,例如壓縮群組局部覆寫。

壓縮效能和空間節約效益

資料壓縮會運用 Data ONTAP 的內部特性,以高效率的方式加以執行。雖然 NetApp 資料壓縮可將效能影響降至最低,卻無法將影響完全消除。影響的程度因許多因素而異,包括資料類型、資料存取模式、硬體平台、可用系統資源量等等。您應該先在實驗室環境中測試影響程度,再在正式作業磁碟區上實作壓縮。

我們在 FAS6080 上針對後處理壓縮進行測試,結果單一程序的壓縮處理量最高達 140MB/sec,多平行程序的壓縮處理量則最高達 210MB/sec。針對工作負載(例如檔案服務)進行測試,在 CPU 利用率低於 50% 的系統上,可壓縮率為 50% 的資料集其 CPU 利用率提高約 20%。至於 CPU 利用率高於 50% 的系統,影響就更可觀了。

圖 2 為使用壓縮和重複資料刪除技術後,各種工作負載的空間節約效益。

VMware 管理員和儲存管理員在使用 VSC vCenter 外掛程式時的職責。

圖 2)使用壓縮、重複資料刪除、或同時使用二者後的典型儲存節約效益。

使用案例

如我之前所說,壓縮或重複資料刪除的啟用時機選擇,牽涉到空間節約與潛在效能影響的利益平衡。請務必衡量上述兩項技術的相乘效益,以判斷在儲存環境中的何處進行壓縮才能獲得最佳效果。

資料庫備份(和一般備份)可能是適合使用資料壓縮的絕佳案例。資料庫通常都很龐大,雖然會有許多使用者在備份儲存設備期間受到些許的效能影響,但之後可享有 65% 以上的容量節約效益。例如,測試在啟用內嵌壓縮的情況下平行備份四個 Oracle 磁碟區,結果可節省 70% 的空間、CPU 利用率增加 35%,且備份所需時間不變。在可大量節約且目標儲存設備上有可用 CPU 資源的前提下,我們多數人可能會選擇在此環境中啟用壓縮技術。當調整新儲存系統的備份大小時,您可能需要確認是否有足夠 CPU 可進行壓縮。

另一個可能的使用案例是檔案服務。在系統上利用壓縮率為 50%、會使檔案服務工作負載的忙碌狀態達到將近 50% 的資料集進行測試時,我們測量到資料處理量只降低 5%。在檔案回應時間為 1 毫秒的檔案服務環境中,這會轉換為僅增加 0.05 毫秒,亦即使回應時間提高至 1.05 毫秒。由於空間節約效益可達到 65%,因此這個輕微的效能降低對您而言應是可接受的。這類節約效益甚至可藉由使用 NetApp 磁碟區 SnapMirror® 技術複製資料而擴大範圍,進一步節省網路頻寬與二線儲存設備上的空間。(此時,二線儲存設備會先從一線儲存設備繼承其壓縮內容,因此不必再進行額外處理。)在此案例中,您會得到下列各項成果:

  • 在一線儲存設備上節省 65% 的儲存容量
  • 透過網路傳送以進行複製的資料可減少 65%
  • 複製速度加快 65%
  • 在二線儲存設備上節省 65% 的儲存容量

其他還有許多使用案例能讓您更瞭解壓縮效益,我們特地提供一些工具和指南,來協助您決定哪些使用案例最適合您的環境。針對一線儲存設備,下列案例可考慮使用壓縮:

  • 檔案服務
  • 地理震測
  • 測試與開發

針對備份/歸檔儲存設備,下列案例可考慮使用壓縮:

  • 檔案服務
  • 地理震測
  • 虛擬伺服器
  • Oracle OLTP
  • Oracle Data Warehouse
  • Microsoft® Exchange 2010

使用壓縮

NetApp 資料壓縮可以在所有執行 Data ONTAP 8.1 或更新版本的 NetApp FAS 和 V 系列系統上運作。資料壓縮是在磁碟區層級上啟用,這表示,您可以選擇要在哪些磁碟區上啟用此功能。如果您知道某個磁碟區包含不能壓縮的資料,便不應在該磁碟區上啟用壓縮。資料壓縮可與重複資料刪除技術搭配使用,因此請先在磁碟區上啟用重複資料刪除。集合體是 Data ONTAP 8.0 新加入的功能之一,欲壓縮的磁碟區必須包含在 64 位元集合體中。自 Data ONTAP 8.1 開始,磁碟區的大小已不會因為所使用之特定 FAS 或 V 系列平台的規定而受到限制。您可使用命令列工具或 NetApp System Manager 2.0 來啟用及管理壓縮功能。

NetApp 建議您在啟用壓縮前先進行測試,確認擁有所需的資源,並瞭解任何可能影響。左右影響程度的因素有:

  • 應用程式的類型
  • 資料集的可壓縮性
  • 資料存取模式(例如,循序與隨機存取、I/O 大小與模式)
  • 平均檔案大小
  • 變動率
  • 啟用壓縮的磁碟區數量
  • 硬體平台:系統中的 CPU/記憶體數量
  • 系統上的負載
  • 磁碟類型與速度
  • 集合體中的磁碟數量

一般而言,以下這些道理恆久不變:

  • 壓縮效能會因硬體平台類型而不同
  • 核心處理器愈多,可達到的處理量愈多
  • 核心處理器愈快,對處理量的影響愈小
  • 可壓縮的資料愈多,對效能的影響愈小

選擇內嵌或後處理壓縮

設定壓縮功能時,可選擇併用立即內嵌壓縮與定期後處理壓縮,或僅使用後處理壓縮。內嵌壓縮可立即節省空間、減少磁碟 I/O、減小 Snapshot™ 複本。因為後處理壓縮會先將未壓縮的區塊寫入磁碟,之後再讀取並壓縮它們,因此當您不想讓新的寫入內容導致可能的效能犧牲、或當您不想在尖峰時間使用額外的 CPU 時,較適合選擇此方法。

若您不需要高效能、可接受些許寫入效能影響、在尖峰時間具備可用的 CPU,內嵌壓縮就是最實用的選擇。表 1 列出內嵌和後處理壓縮的部分考量因素。

目標 建議
最小 Snapshot 空間 內嵌壓縮將 Snapshot 複本所使用的空間量減至最小。
qtree SnapMirror 或 SnapVault® 目的地的磁碟空間使用量最小 內嵌壓縮可立即展現節約效益,且對備份期間的影響最小。而且,它在快照保留作業中佔用的空間較小。
最少磁碟 I/O 內嵌壓縮可減少寫入磁碟的新區塊數量。
避免影響新寫入作業的效能 後處理壓縮會將新資料以未壓縮狀態寫入磁碟,對於初始寫入效能不會造成任何影響。您可安排何時開始壓縮以釋出空間。
尖峰時間對 CPU 的影響最小 後處理壓縮可排程何時開始壓縮,將尖峰時間進行壓縮所造成的影響降至最低。

表 1)考慮要單獨使用後處理壓縮,或併用內嵌與後處理壓縮。

資料壓縮與其他 NetApp 技術

NetApp 資料壓縮可與 NetApp 重複資料刪除技術相輔相成。本節將說明資料壓縮與其他熱門 NetApp 技術搭配使用的方式。

Snapshot(快照)複本:快照複本能將資料還原到特定時間點,因為它保留了取得快照複本之後發生變更的區塊。由於壓縮過的資料在磁碟上佔用較少空間,因此壓縮可減少快照複本耗用的空間。

後處理壓縮可壓縮快照複本所鎖定的資料,但無法立即節省空間,因為磁碟上仍會保留原始的未壓縮區塊,直到快照複本到期或被刪除為止。NetApp 建議先完成後處理壓縮,再建立快照複本。如需搭配使用壓縮與快照複本的最佳實務做法,請參閱 TR-3958TR-3966

磁碟區 SnapMirror:磁碟區 SnapMirror 是在實體區塊層級上進行操作;若已在來源磁碟區上啟用重複資料刪除技術和(或)壓縮,則無論是透過線路傳輸或直接在目的地上進行,均能維持相同的重複資料刪除技術與壓縮空間節約效益。這樣可大幅降低複製期間所需的網路頻寬量以及完成 SnapMirror 傳輸所需的時間。以下是一些您應謹記的通用方針:

  • 來源與目的地系統都必須使用相同版本的 Data ONTAP。
  • 只能在來源系統上管理壓縮與重複資料刪除技術,但目的地系統上的彈性磁碟區會完全繼承儲存節約效益。
  • 在整個傳輸過程中都會維持壓縮狀態,如此便會減少需要傳輸的資料量,進而降低網路頻寬用量和完成傳輸所需的時間。
  • 不需進行 SnapMirror 連結壓縮,因為資料已經利用 NetApp 資料壓縮功能完成壓縮了。

網路頻寬和 SnapMirror 傳輸時間的減少量會直接與空間節省量成正比。例如,如果您能夠節省 50% 的磁碟容量,則 SnapMirror 傳輸時間將降低 50%,而必須透過線路傳送的資料量也應減少 50%。

Qtree(配額樹狀結構)SnapMirror 與 SnapVault:配額樹狀結構 (qtree) SnapMirror 與 SnapVault 都是在邏輯區塊層級上操作;來源和目的地儲存系統會分別執行重複資料刪除和資料壓縮,因此您可依需求執行二者之一或同時執行二者。即使來源資料未壓縮或未刪除重複資料,您還是能壓縮配額樹狀結構 (qtree) SnapMirror 與(或)SnapVault 及(或)刪除其重複資料。除非將排程設為手動,否則在 SnapVault 傳輸完成後,就會自動執行後處理壓縮和重複資料刪除。

複製:NetApp FlexClone® 技術可即時建立檔案或資料磁碟區的虛擬複本,在對複製內容進行變更之前,複本不會耗用其他儲存空間。FlexClone 可同時支援重複資料刪除技術與壓縮。若在複製內容的上層磁碟區啟用壓縮,複製體會繼承節約效益。或者,您也可對磁碟區的複製內容啟用壓縮,讓寫入複製內容的新資料跟著被壓縮,而不會影響原始複本。

結論

NetApp 資料壓縮技術是很重要的儲存效率工具,可讓一線和二線儲存設備節省最多的空間。如需與本文所有主題相關的完整資訊及其他內容,請參閱 TR-3958《NetApp 資料壓縮與重複資料刪除技術的部署和實作指南:以 7-Mode 運作的 Data ONTAP 8.1》(英文)及 TR-3966《NetApp 資料壓縮與重複資料刪除技術的部署和實作指南:以 Cluster-Mode 運作的 Data ONTAP 8.1》(英文)。

 對於資料壓縮有任何意見嗎?

您可以透過網路,在 NetApp 社群上提出問題、交換意見,並分享您的想法。

Sandra Moulton
NetApp 技術行銷工程師
 


自從兩年前加入 NetApp 開始,Sandra 幾乎將全部心力都投注在儲存效率上,特別是在重複資料刪除技術與資料壓縮領域;她負責開發這些關鍵型技術的白皮書、最佳做法指南及參考資料。Sandra 擁有 20 年以上的業界經驗,曾在美國加州矽谷的其他業界領先公司中從事類似性質的工作。


Tech OnTap
立即訂閱
Tech OnTap 每月提供 IT 見解,並有大量可助您瞭解真實世界的最佳實務做法、工作祕訣與工具、幕後工程訪談、示範、同儕評論,及更多其他相關資訊。

請到 NetApp 社群中瀏覽 Tech OnTap,立即訂閱這份實用資訊。

瀏覽
瀏覽
瀏覽
 


Go further, faster TRUSTe
與我們連絡   |   如何購買   |  意見反應   |   工作機會  |   訂閱   |   隱私權政策   |   © 2012 NetApp