皆さん、こんにちは
SB C&S 技術担当の河村です。
近年、ディスクの大容量化やストレージ自体のパフォーマンス向上により、市場競争が激しくなっています。それに比例して各メーカーの価格競争も進んでおり、ストレージにかかるコストは着実に下がってきています。しかし、世界におけるデータそのものの量は飛躍的に増大しており、同様に企業が抱えるデータの量も増大しているため、結果として企業のIT資産の中で、ストレージにかかるコストが一番高額になるといったケースもあります。
そんな中、NetAppはStorage Efficiencyという、データを効率化する圧縮や重複排除などの機能を他社に先駆けて導入し、データ容量の削減を劇的に向上させることで、業界をリードしてきました。
今回から複数回に渡って、ONTAPのStorage Efficiencyについて、各機能のアーキテクチャをご紹介していきたいと思います。
第1回となる本記事では、「データ圧縮」機能について説明させていただきます。
※本記事で説明するONTAPのバージョンは9.7になります。
データ圧縮とは?
データ圧縮とは、データの内容はそのままに、容量のみを小さくする技術です。圧縮の仕組みは各メーカーによって異なり、データ容量をできるだけ小さくするため、様々な仕組みが開発されています。
ONTAPのデータ圧縮の特長
圧縮の手法として、データを1つの塊として圧縮する手法がありますが、解凍時に圧縮データ全体を解凍する必要があるため、データの一部を読み取りたいといった場合、不要なデータまで解凍する分、余計な処理が発生してしまいます。この場合、データ容量が大きくなればなるほど、パフォーマンスへの影響も大きくなります。
ONTAPのデータ圧縮では、こういった問題を回避するため、データを「Compression Groups」と呼ばれる小容量のグループごとに分割して圧縮します。こうすることでデータの一部を読み取る場合でも、データ全体ではなく、小容量のグループを解凍すれば良いので、解凍処理が最適化されます。
また、グループ化されたデータは、どの程度圧縮されるかといった圧縮効率の判定をしており、圧縮効率が悪ければデータ圧縮は行いません。こうすることで無駄な処理を削減し、システムにかかるオーバーヘッドを低減しています。
Compression Groups
ONTAPでは、データを小容量のグループごとに分割して圧縮します。
この小容量のグループを「Compression Groups」と呼びます。
Compression Groupsは「8KB」「32KB」の2種類があり、後の章で説明する圧縮方法の選択によって、どちらのグループで分割するかが決定されます。
例えば、15KBのファイルを「8KB」のCompression Groupsに分割する場合、8KBと7KBに分割され、どちらのCompression Groupsも圧縮効率判定に移るという処理が行われます。
なお、どちらのグループの場合でも、ファイルサイズが8KB以下のファイルについては圧縮効率の観点から圧縮対象外となります。
元のファイルが8KBより大きい場合
元のファイルが8KB以下の場合
圧縮の実行タイミング
ONTAPのデータ圧縮処理では下記の2つの実行タイミングが存在します。
- インライン処理
- ポストプロセス処理
ディスクへの書き込みI/Oの低減、ディスク容量、ピーク時間を避けた運用などの要件を考慮し、管理者はどちらか、または両方の実行タイミングを選択します。
インライン処理
インライン処理では、ストレージにデータが送信され、ディスクに書き込まれるまでの間に圧縮を実行します。ディスクに書き込まれる前に圧縮が完了しているため、ディスクへの書き込みI/Oの低減、ディスク消費スペースやSnapshotの容量削減に対する効果を即座に発揮することができます。一方で、圧縮と同時にスループットを最適化するため、Compression Groupsの部分的な上書き処理といったパフォーマンスが重視される部分については、ポストプロセス処理にて実行されることとなり、インライン処理では実行されません。
そのため、インライン処理を設定する場合、ポストプロセス処理も同時に設定することが条件となります。
※AFFシリーズではポストプロセス処理がサポートされていないため、ポストプロセス処理はスキップされる形となります。
ポストプロセス処理
ポストプロセス処理では、ストレージにデータが送信され、ディスクに書き込まれた後、設定されたスケジュールにより、定期的に圧縮を実行します。任意のタイミングで実行することができるため、運用のピーク時を避けて圧縮を実行することで、システムへの影響を最小限に抑えることができます。
インライン処理が設定されている場合、ポストプロセス処理では、インライン処理で圧縮されなかったデータのみを圧縮します。
圧縮方法
ONTAPのデータ圧縮には下記の2種類が存在します。
- アダプティブ圧縮
- セカンダリ圧縮
読み取り処理のパフォーマンス、圧縮効果の要件を考慮し、管理者はどちらかの圧縮方法を選択します。
アダプティブ圧縮
アダプティブ圧縮では、データを「8KB」のCompression Groupsに分割して圧縮をします。小容量単位で圧縮することにより、解凍するデータが小さくなるため、読み取りパフォーマンスに優れています。そのため、ワークロードの大部分がランダムライトの場合や、ランダムライトとシーケンシャルライトが混在している場合に有効な圧縮方式となります。なお、ポストプロセス処理によるアダプティブ圧縮では、Compression Groupsの圧縮効率が50%を超えない場合、圧縮を行いません。
ただし、インライン処理によるアダプティブ圧縮でのみ、圧縮効率が25%以上50%以下のデータを対象として圧縮を行います。さらに、ONTAPのファイルシステムであるWAFLで処理する4KBブロックから余るデータを1つの4KBブロックにまとめることでデータの効率化を図ります。
※圧縮効率が50%を超える場合、通常の圧縮処理が行われます。
セカンダリ圧縮
セカンダリ圧縮では、データを「32KB」のCompression Groupsに分割して圧縮をします。アダプティブ圧縮と比べ、大きい容量単位で圧縮することにより、圧縮効果が高くなります。そのため、ワークロードのほとんどが32KBより大きいラージシーケンシャルI/Oの場合に有効な圧縮方式となります。なお、セカンダリ圧縮では、Compression Groupsの圧縮効率が25%を超えない場合、圧縮を行いません。
特定の実行タイミングで実施可能な圧縮方法は1種類のみとなり、インライン/ポストプロセス処理と組み合わせて、選択できる圧縮方法は4通りあります。用途に応じて圧縮方法を選択できることもONTAPのデータ圧縮における強みではないかと思います。
データ圧縮のサポートマトリックス
データ圧縮は、NetAppの全ての製品で利用することができます。
ただし、例えばオールフラッシュストレージであるAFFシリーズの場合、SSDに対する書き込みI/Oを抑えて、SSDの寿命を延ばすために、デフォルトでインラインアダプティブ圧縮が有効になっているといったように、製品によって若干の違いも存在します。
データ圧縮を利用できる製品とデフォルト設定(ONまたはOFF)について、以下の表をご参照ください。
(2020年8月現在)
FAS All SSD・・・FASシリーズのディスクを全てSSDで構成
Flash Pool・・・SSDとHDDを組み合わせ、アクセス頻度の高いホットデータをSSDへ、アクセス頻度の低いコールドデータをHDDへ配置する構成
また、データ圧縮機能は、ONTAPに標準搭載されている機能です。
これだけの機能がNetApp製品を購入するだけで無償利用できるということもお客様にとって非常に有難い点かと思います。
最適なシステム
もともとデータ圧縮機能は、大容量なシステムに適していましたが、現在では、バージョンアップによる性能の向上により、高いI/Oを要求がされるシステムでの利用も可能となりました。例えば、「バックアップデータの保存場所」のようなセカンダリストレージとして利用される環境では、パフォーマンスよりも高い圧縮効率を実現したいケースが多いですが、そういった場合にデータ圧縮は最適です。NetApp社が出したシナリオデータでは、データベースのバックアップにて、65%もの容量を削減できたという報告があります。
また、「ファイルサービス」のような環境でも、高い圧縮効率はそのままに、スループットは10%程度しか低下しないなど、プライマリストレージでも利用できることが分かるシナリオデータも報告されています。
※あくまでシナリオデータ上の結果のため、実際に導入する環境によって数値が変わる可能性があることについてご注意下さい。
データ圧縮は、次回解説予定の重複排除やインラインデータコンパクションといった他のStorage Efficiencyとも併用できるうえ、SnapMirrorなどのレプリケーション機能でも圧縮したデータを保持したまま同期することが可能です。
ONTAPの各種機能と併せて利用することで、より最適化された形でのデータ管理を提供できます。
[SMART_CONTENT]
まとめ
- データを小容量のグループ(Compression Groups)に分割して圧縮することで、圧縮処理の効率化が図られており、解凍処理が最適化される
- 事前に圧縮効率をチェックし、効率の悪いデータについては圧縮しないことで、システムにかかるオーバーヘッドを低減している
- 8KBより大きなファイルを対象として圧縮する
- ディスクへの書き込みI/Oを低減するインライン処理と運用ピーク時を避けて任意のタイミングで実行できるポストプロセス処理がある
- ランダムI/Oに適したアダプティブ圧縮と圧縮効率の高いセカンダリ圧縮がある
- 重複排除やインラインデータコンパクションといった他のStorage Efficiencyと併用できる
- SnapMirrorなどのレプリケーション機能においても圧縮データが継承される
【関連情報】
現在、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