みなさん、こんにちは。
SB C&S 技術担当の河村です。
これまで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の全ての製品で利用することができます。
インラインデータコンパクションを利用できる製品(○✕表記)とデフォルト設定(ON/OFF表記)について、以下の表をご参照ください。
(2021年3月現在)
FAS All SSD・・・FASシリーズのアグリゲートを全てSSDで構成
Flash Pool・・・SSDとHDDを組み合わせ、アクセス頻度の高いホットデータをキャッシュデータとしてSSDへ配置する構成
また、インラインデータコンパクションは、データ圧縮や重複排除と同様、ONTAPに標準搭載されている機能です。
インラインデータコンパクションは、データ圧縮機能と併用することができます。データ圧縮率の高いブロックをまとめたり、データ圧縮機能の対象外となる4KBブロックの圧縮を行うなど、データ圧縮機能の補完的な役割として動作させることに適しています。一方で、システムのログなどデータ圧縮機能をバイパスしてしまう容量の小さいデータ(8KB以下のデータ)を大量に保存するようなシステムでは、インラインデータコンパクションのみを有効にしておくといった方法も考えられます。
また、重複排除されたブロックは、インラインデータコンパクションの対象外となりますが、反対にインラインデータコンパクション後のブロックは、ポストプロセス処理による重複排除の対象となります。
●重複排除 → インラインデータコンパクション
●インラインデータコンパクション → 重複排除
SnapMirrorなどのレプリケーション時は、まとめられたデータが元のブロックに戻りますが、レプリケーション先でもインラインデータコンパクションが有効になっていれば、書き込み時に再度1つにまとめられます。
ONTAPの各種機能と併せて利用することで、より最適化された形でのデータ管理を提供できます。
これまで、データ圧縮、重複排除、インラインデータコンパクションの3つのStorage Efficiency機能について説明してきました。インライン処理を全て有効にする場合、以下のような流れで実行されます。
①ゼロブロック排除
データは、「0」と「1」の集合体なので、ブロック内の全てが「0」のデータも存在します。こういったブロックはストレージデバイス書き込まれず、データの参照情報であるメタデータのみを更新します。
②インライン データ圧縮
8KBより大きいデータを対象に、Compression Groupsごとに圧縮を行います。
詳細については、第1回目の記事をご参照下さい。
③インライン 重複排除
4KBブロックごとに重複排除を実施します。
AFFシリーズで、ボリューム重複排除、アグリゲート重複排除の両方が有効の場合、ボリューム重複排除が先に実行されます。
詳細については、第2回目の記事をご参照下さい。
④インライン データコンパクション
4KB未満のデータを1つのブロックに格納します。
また、インライン データ圧縮の対象外になった4KBブロックの圧縮を行います。
※本記事では、ONTAP 9.7のストレージ効率化プロセスについて解説しています。
ONTAP 9.8のAFFシリーズでは、ストレージ効率化プロセスがさらに協力なものにアップデートされました。
実際に60KBと4KBのデータが書き込まれた際の各Storage Efficiency機能の処理について説明します。
Storage Efficiency機能が無効の場合、各データはONTAPにより4KBブロック16個に分割され、ストレージデバイスに書き込まれます。
●Storage Efficiency:有効
次に、Storage Efficiency機能が有効な場合です。
今回は、インライン処理によるアダプティブデータ圧縮、重複排除、データコンパクションを例に説明します。
まず、データ圧縮を実行するため、8KBより大きなデータをCompression Groupsに分割します。今回はアダプティブデータ圧縮のため、8KBごとのグループに分割されます。
そのうち、圧縮効率が50%を超えるグループを圧縮します。図のように75%の圧縮が可能なデータの場合、圧縮効率の制限を超えているため、各グループの圧縮が実行されます。
このとき、元データが8KB以下である4KBデータは圧縮対象外となります。
続いて重複排除が実行されます。図では、同じ色であるブロックを重複データとして排除しています。
最後にインラインデータコンパクションにより、4KB未満のデータが1つのブロックに格納されます。このとき、重複排除ブロックはデータコンパクションの対象外となります。
また、データ圧縮の対象外だった4KBブロックについても、ここで圧縮が実行されます。
最終的に4KBブロックは4つとなり、12個ものブロックが削減されます。
・4KB未満のデータで構成される複数のブロックを1つの4KBブロックにまとめる機能
また、データ圧縮の対象外となった4KBブロックの圧縮も合わせて実行する
・コマンドでの手動実行でのみ、書き込み済みの既存データに対して実行可能
・データ圧縮と併用できる
・インライン処理による重複排除後のブロックはインラインデータコンパクション対象外
・インラインデータコンパクション後のブロックをポストプロセス処理により重複排除することは可能
・SnapMirrorなどのレプリケーション時は、まとめられたデータが元のブロックに戻るが、レプリケーション先でもインラインデータコンパクションが有効になっていれば、書き込み時に再度1つにまとめられる
・インライン処理を全て有効にした場合、データ圧縮、重複排除、インラインデータコンパクションの順に実行される
【SB C&S NetAppプロモーションTwitterアカウント】
NetAppに関するさまざまな情報を公開しています。
皆様フォロー宜しくお願いいたします。
TwitterアプリからはこちらのQRコードもどうぞ。