皆さん、こんにちは
SB C&S 技術担当の河村です。
これまでONTAPのStorage Efficiency機能紹介として、以下の記事を掲載しました。
「ONTAPのStorage Efficiency機能紹介 ~データ圧縮編~」
「ONTAPのStorage Efficiency機能紹介 ~重複排除~」
第3回目となる本記事では、「インラインデータコンパクション」機能について説明します。
※本記事で説明するONTAPのバージョンは9.7になります。
インラインデータコンパクションとは?
インラインデータコンパクションとは、データ圧縮や重複排除とは異なる全く新しいストレージ効率化機能です。
ONTAPのファイルシステムであるWAFLでは、データを4KBのブロックで管理し、ストレージデバイスに書き込みます。この4KBブロックには、実際に4KBのデータが含まれるものから、高効率なデータ圧縮や、元のデータが小さいことなどにより、4KB未満のデータが格納されるブロックも存在します。
インラインデータコンパクションでは、このような4KB未満のデータをまとめて1つの4KBブロックに格納する機能です。これにより、ブロック内の空きスペースが消費され、ディスクの利用効率が向上します。
また、インラインデータコンパクションでは、インライン処理によるデータ圧縮の対象外となる8KB以下のデータについても、ONTAPにより4KBブロックに分割された後、圧縮を行います。これにより、Storage Efficiency機能全体の削減効果がさらに高まります。
インラインデータコンパクションは、ボリュームがシンプロビジョニングで作成されていることが前提となりますのでご注意ください。
インラインデータコンパクションの実行タイミング
インラインデータコンパクションはその名の通り、インラインによる処理として実行されます。インライン処理では、ストレージにデータが送信され、ディスクに書き込まれるまでの間にデータコンパクションが実行されます。ディスクに書き込まれる前にデータコンパクションが完了することとなり、ディスクへの書き込みI/Oの低減、ディスク消費スペースの削減といった効果を即座に発揮することができます。
AFFシリーズでは、書き込み処理によるSSDの劣化を軽減するため、インラインデータコンパクションがデフォルトで有効になっています。
また、コマンドによる手動実行でのみ、書き込み済みの既存データに対してデータコンパクションの実行が可能です。
インラインデータコンパクションのサポートマトリックス
インラインデータコンパクションは、NetAppの全ての製品で利用することができます。
インラインデータコンパクションを利用できる製品とデフォルト設定について、以下の表をご参照ください。
(2020年8月現在)
FAS All SSD・・・FASシリーズのディスクを全てSSDで構成
Flash Pool・・・SSDとHDDを組み合わせ、アクセス頻度の高いホットデータをSSDへ、アクセス頻度の低いコールドデータをHDDへ配置する構成
また、インラインデータコンパクションは、データ圧縮や重複排除と同様、ONTAPに標準搭載されている機能です。
最適なシステム
インラインデータコンパクションは、データ圧縮機能と併用することができます。データ圧縮率の高いブロックをまとめたり、データ圧縮機能の対象外となる4KBブロックの圧縮を行うなど、データ圧縮機能の補完的な役割として動作させることに適しています。一方で、システムのログなどデータ圧縮機能をバイパスしてしまう容量の小さいデータ(8KB以下のデータ)を大量に保存するようなシステムでは、インラインデータコンパクションのみを有効にしておくといった方法も考えられます。
また、重複排除されたブロックは、インラインデータコンパクションの対象外となりますが、反対にインラインデータコンパクション後のブロックは、ポストプロセス処理による重複排除の対象となります。
重複排除 → インラインデータコンパクション
インラインデータコンパクション → 重複排除
SnapMirrorなどのレプリケーション時は、まとめられたデータが元のブロックに戻りますが、レプリケーション先でもインラインデータコンパクションが有効になっていれば、書き込み時に再度1つにまとめられます。
ONTAPの各種機能と併せて利用することで、より最適化された形でのデータ管理を提供できます。
Storage Efficiency適用時の流れ
これまで、データ圧縮、重複排除、インラインデータコンパクションの3つのStorage Efficiency機能について説明してきました。インライン処理を全て有効にする場合、以下のような流れで実行されます。
- ゼロブロック排除
データは、「0」と「1」の集合体なので、ブロック内の全てが「0」のデータも存在します。こういったブロックはストレージデバイスに書き込まれず、データの参照情報であるメタデータのみを更新します。 - インラインデータ圧縮
8KBより大きいデータを対象に、Compression Groupsごとに圧縮を行います。
詳細については、第1回目の記事をご参照下さい。
「ONTAPのStorage Efficiency機能紹介 ~データ圧縮編~」 - インライン 重複排除
4KBブロックごとに重複排除を実施します。
AFFシリーズで、ボリューム重複排除、アグリゲート重複排除の両方が有効の場合、ボリューム重複排除が先に実行されます。
詳細については、第2回目の記事をご参照下さい。
「ONTAPのStorage Efficiency機能紹介 ~重複排除~」 - インラインデータコンパクション
4KB未満のデータを1つのブロックに格納します。
また、インラインデータ圧縮の対象外になった4KBブロックの圧縮を行います。
実際に60KBと4KBのデータが書き込まれた際の各Storage Efficiency機能の処理について説明します。
Storage Efficiency機能が無効の場合、各データはONTAPにより4KBブロック16個に分割され、ストレージデバイスに書き込まれます。
次に、Storage Efficiency機能が有効な場合です。
今回は、インライン処理によるアダプティブデータ圧縮、重複排除、データコンパクションを例に説明します。
まず、データ圧縮を実行するため、8KBより大きなデータをCompression Groupsに分割します。今回はアダプティブデータ圧縮のため、8KBごとのグループに分割されます。
そのうち、圧縮効率が50%を超えるグループを圧縮します。図のように75%の圧縮が可能なデータの場合、圧縮効率の制限を超えているため、各グループの圧縮が実行されます。
このとき、元データが8KB以下である4KBデータは圧縮対象外となります。
続いて重複排除が実行されます。図では、同じ色であるブロックを重複データとして排除しています。
最後にインラインデータコンパクションにより、4KB未満のデータが1つのブロックに格納されます。このとき、重複排除ブロックはデータコンパクションの対象外となります。
また、データ圧縮の対象外だった4KBブロックについても、ここで圧縮が実行されます。
最終的に4KBブロックは4つとなり、12個ものブロックが削減されます。
まとめ
- インライン処理により4KB未満のデータで構成される複数のブロックを1つの4KBブロックにまとめる機能
また、データ圧縮の対象外となった4KBブロックの圧縮も合わせて実行する - コマンドでの手動実行でのみ、書き込み済みの既存データに対して実行可能
- データ圧縮と併用できる
- 重複排除後のブロックは対象外だが、インラインデータコンパクション後のブロックを重複排除することは可能
- SnapMirrorなどのレプリケーション時は、まとめられたデータが元のブロックに戻るが、レプリケーション先でもインラインデータコンパクションが有効になっていれば、書き込み時に再度1つにまとめられる
- インライン処理を全て有効にした場合、データ圧縮、重複排除、インラインデータコンパクションの順に実行される
【関連情報】
現在、NetAppストレージの肝であるデータ管理ソフトウェア「ONTAP」についての初心者用講座「ONTAP基礎Webinar」を開催中です!
ONTAPの機能ごとに全5回(再放送を含む全10回)の開催を予定しています!
コロナ渦の中、外出が難しい状況が続きますが、この機会にウェビナーでの技術キャッチアップはいかがでしょうか!
講義詳細、お申込みは以下URLまで!
https://sbb.smktg.jp/public/seminar/view/2939
【著者情報】
河村 龍(かわむら りゅう)
過去、SIerとして様々なお客様へシステムを導入した経験を持つ。その後、より最新の技術情報をお客様へお届けしたいという気持ちから、ディストリビュータへ転職。現在はストレージ担当として、セミナー講師やWebへの記事掲載などで、旬な情報を配信中。
【SB C&S NetAppプロモーションTwitterアカウント】
NetAppに関するさまざまな情報を公開しています。
皆さまフォロー宜しくお願い致します。
TwitterアプリからはこちらのQRコードもどうぞ。
- カテゴリ:
- オンプレ
- キーワード:
- ONTAP