NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
Back to Basics:データ圧縮機能
シェアする NetAppオフィシャルFacebook

ネットアップの代表的なテクノロジの基礎を解説するBack to Basicsシリーズの第6弾をお届けします。

一般的にデータ圧縮テクノロジは、かなり以前から存在していますが、このテクノロジには、大規模なストレージ システムに関して、特にパフォーマンスへの影響の面で重大な課題があります。最近まで、テープ ドライブやVTLなどのデバイスに対する圧縮機能は、ほぼ例外なく専用ハードウェアを使用して提供されており、コストと複雑さを増大させる要因になっていました。

ネットアップは、ソフトウェアによって透過的なインライン / ポストプロセス データ圧縮機能を行い、同時にコンピューティング リソースへの影響も軽減する手法を開発しました。この手法を編み出したことにより、Data ONTAP®アーキテクチャ上でデータ圧縮を行えるようになり、既存のネットアップ ストレージ システムでも追加コストなしでご利用いただくことが可能になりました。Data ONTAP 8.0.1に初めて導入されて以来、この圧縮機能はお客様に大変ご好評をいただいており、さまざまな業種のシステムに導入されています。Data ONTAP 8.0.1を導入したシステムのうち40%が、プライマリ ストレージに対して圧縮機能を適用し、60%がバックアップ / アーカイブ用に機能を利用しています。

ネットアップのデータ圧縮機能には、次のような大きなメリットがあります。

  • データ圧縮機能以外の最新のNetApp Storage Efficiencyテクノロジとの連動:シンプロビジョニングや重複排除機能など、他のStorage Efficiency機能と圧縮機能を併用することで、必要なストレージ総容量を大幅に削減するだけでなく、設備投資と運用コストも削減できます。アプリケーションによっては、圧縮機能だけでも総容量を最大87%削減できますが、他のStorage Efficiencyテクノロジを併用することで、さらに大幅な削減を実現できます。
  • パフォーマンスへの影響が非常に小さい:どのような圧縮機能でも、パフォーマンスの低下は避けられないものですが、ネットアップは、パフォーマンスへの影響を最小限に抑えながら、スペース削減効果を最大限に発揮するために、細心の注意を払ってこの機能を開発しました。
  • ソフトウェアのライセンス料が不要:ネットアップのデータ圧縮機能はData ONTAP 8.1に標準で搭載されており、追加ライセンスは不要です。圧縮機能を有効にするために、ハードウェアやソフトウェアの費用を追加で負担することはありません。
  • プライマリ ストレージとセカンダリ ストレージの両方に対応:圧縮機能は、プライマリ ストレージとセカンダリ ストレージのいずれか、または両方のボリュームに対して有効にできます。
  • アプリケーションの変更が不要:アプリケーションに対して透過的に圧縮が行われるため、コードを変更しなくても、さまざまなアプリケーションで圧縮データを利用できます。
  • レプリケート先やDataMotionのデータ移動先でスペース削減効果を継承:圧縮されたボリュームに対して、Volume SnapMirrorによるレプリケーションやDataMotion™による移動を行う場合、ブロックは圧縮された状態でコピーされます。そのため、データ転送時に使用する帯域幅と時間を節約できるほか、ターゲット ストレージ上のスペースも削減できます。また、CPUサイクルを余分に使用して同じブロックを再圧縮する必要もありません。

本稿では、ネットアップのデータ圧縮テクノロジの仕組みとパフォーマンス、適切な使用事例、インライン圧縮とポストプロセス圧縮の選択、ベストプラクティスなどについて解説します。

Data ONTAPでの圧縮の仕組み

ネットアップのデータ圧縮機能を使用すると、プライマリ、セカンダリ、アーカイブの各ストレージ上にあるフレキシブル ボリューム(FlexVol®)内のデータを圧縮し、ストレージ システムでデータを保存するのに必要となる物理的な容量を減らすことができます。通常のファイル、仮想ローカル ディスク、LUNのデータを圧縮することが可能です。ファイルに関する以降の説明は、仮想ローカル ディスクとLUNにも当てはまります。

ネットアップのデータ圧縮機能では、ファイルを圧縮する場合に、ファイル全体を単一の連続したバイト ストリームとしては扱いません。こうした方法でファイルを扱うと、ファイルの一部を少しだけ読み取るような要求に応える際、ディスクからファイル全体を読み取り、解凍してから読み取り要求に応答する必要があるため、極端にコストがかかります。ファイル サイズが大きくなると、この処理は特に困難になります。ネットアップのデータ圧縮では、このような問題を回避するため、連続した複数のブロックを小容量のグループに分け、1回の処理につき1つのグループを圧縮します。これは、ネットアップのデータ圧縮機能の効率を向上させている設計上の重要要素と言えます。読み取り要求を受け取った場合は、ファイル全体ではなく、小容量のブロック グループを読み取って解凍するだけで済みます。このアプローチを使用すると、小規模なファイルの読み取りと上書きの処理が最適化されるだけでなく、多様なサイズのファイルが圧縮できるようになります。

ネットアップの圧縮アルゴリズムでは、ファイルは「圧縮グループ」と呼ばれるデータ領域に分割されます。圧縮グループの最大サイズは32 KBで、たとえば、サイズが60 KBのファイルは2つの圧縮グループに分割され、1つ目のグループが32 KB、2つ目が28 KBになります。各圧縮グループには、1つのファイルのデータのみが含まれます。8 KB以下のファイルは圧縮されません。

データの書き込み:書き込み要求は、圧縮グループ レベルで処理されます。グループが形成されると、対象のデータが圧縮可能かどうかを判断するテストが行われ、スペースを25%以上削減できないと判断された場合、データは圧縮されません。テストで圧縮可能と判断された場合にのみ、データは圧縮されてディスクに書き込まれます。この方法により、スペース削減効率を最大限に引き出すとともに、リソースのオーバーヘッドを最小限に抑えることができます。

データを圧縮すると、ディスクに書き込まれるブロック数が少なくなるため、圧縮後の各書き込み処理に必要となる書き込みI / O数は減少します。これにはディスクの占有量を低減するだけでなく、バックアップの実行に要する時間を短縮する効果もあります。

VSC vCenterプラグインを使用している場合の、VMware管理者とストレージ管理者の担当業務

図1)ファイルは圧縮グループと呼ばれるデータ領域に分割され、圧縮可能かどうかのテストが行われる。各圧縮グループは、テスト結果に応じて圧縮済みまたは未圧縮の状態でディスクに書き込まれる

データの読み取り:圧縮されたデータの読み取り要求を受け取った場合、Data ONTAPはファイル全体ではなく、要求されたデータを含む圧縮グループのみを読み取ります。こうすることで、要求への応答に要するI / O量と、システム リソースに対するオーバーヘッド、読み取り応答時間を最小限に抑えることができます。

インライン圧縮処理:ネットアップのデータ圧縮機能でインライン処理を行うように設定されている場合、データはメモリ内で圧縮されてからディスクに書き込まれます。そのため、ボリュームへの書き込みI / O量は大幅に削減されますが、同時に書き込みパフォーマンスへの影響が生じる可能性もあります。パフォーマンスが重視されるアプリケーションでは、この圧縮方法を事前のテストなしに使用しないでください。

インライン圧縮では、スループットを最適化するために、新しく書き込むデータの大部分が圧縮されます。ただし、圧縮グループの部分的な上書き処理など、パフォーマンスが重視される一部の圧縮処理については、ポストプロセス圧縮処理が次に実行されるまで保留されます。

ポストプロセス圧縮処理:ポストプロセス圧縮では、最近書き込まれたデータと、圧縮機能を有効にする前からディスクに保存されていたデータの両方を圧縮できます。ネットアップの重複排除機能と同じスケジュールで処理され、圧縮機能を有効にすると、最初にデータが圧縮されてから重複排除が行われます。重複排除を実行するためにデータを解凍する必要はなく、重複した圧縮済みまたは未圧縮のブロックが単純にデータ ボリュームから削除されます。

インライン圧縮とポストプロセス圧縮がどちらも有効の場合、ポストプロセス圧縮では、圧縮されていないブロックの圧縮だけを行います。この処理では、圧縮グループの部分的な上書きなど、インライン圧縮で保留されていたブロックの圧縮も実行されます。

圧縮のパフォーマンスとスペース削減

データ圧縮機能では、高い圧縮効率を実現するためにData ONTAPの内部特性を活用しています。ネットアップのデータ圧縮ではパフォーマンスへの影響が最小限に抑えられていますが、影響を完全に解消することはできません。データの種類、データ アクセスのパターン、ハードウェア プラットフォーム、システム リソースの空き容量など、さまざまな要因によって影響が異なりますので、本番環境のボリュームに圧縮を実装する前に、必ずラボ環境で影響をテストしてください。

FAS6080を使用してポストプロセス圧縮のテストを実施した結果、単一プロセスの圧縮処理で最大スループット140 MB / 秒、複数プロセスの並行処理では最大スループット210 MB / 秒を達成しました。また、ファイルサービスなどのワークロードでは、CPU利用率が50%未満のシステムで、データセットが50%圧縮できた場合に、CPU利用率が最大20%上昇しました。CPU利用率が50%を超えるシステムでは、さらに顕著な影響が生じる可能性があります。

図2は、さまざまなワークロードに対して圧縮機能と重複排除機能を適用した場合のスペース削減率を示しています。

VSC vCenterプラグインを使用している場合の、VMware管理者とストレージ管理者の担当業務

図2)圧縮機能と重複排除機能のいずれか、または両方の機能を適用した場合の標準的なストレージ削減率

システムの利用例

すでに述べたように、圧縮または重複排除をいつ有効にするかを決めるには、スペース削減のメリットと潜在的なパフォーマンスへの影響とのバランスを考慮する必要があります。ストレージ環境で圧縮機能を利用することが最も理にかなっているかどうかを判断するには、この2点を一緒に評価することが重要です。

データベースのバックアップ(一般的なバックアップも同様)は、データ圧縮を行う候補として非常に適しています。多くの場合、データベースはきわめて容量が大きいので、65%を超える容量を削減できるというメリットはユーザに大きな魅力となります。バックアップ ストレージのパフォーマンスが若干低下するとしても、目をつぶるユーザが多いでしょう。具体例を挙げると、インライン圧縮機能を有効にして4つのOracleボリュームを並行してバックアップするテストでは、70%というスペース削減率が達成されました。CPU使用率は35%増加しましたが、バックアップウィンドウに変化はありませんでした。このようにターゲット ストレージのスペースが大幅に削減され、CPUリソースも使用できるとなれば、同じような環境を所有するお客様のほとんどは、おそらく圧縮機能を有効にすることを選ぶでしょう。ただし、新しいバックアップ用ストレージ システムのサイジングを行う場合は、十分なCPUリソースを圧縮機能に使用できるかどうか、確認することをお勧めします。

もう1つの利用例としてはファイルサービスが挙げられます。50%圧縮可能なデータセットがシステムの約半分を占めている状態で、ファイルサービスのワークロードを使用してテストした結果、スループットは5%しか低下しませんでした。ファイル要求への応答時間が1ミリ秒のファイルサービス環境では、これは時間にしてわずか0.05ミリ秒の増加で、応答時間が1.05ミリ秒に延びるに過ぎません。スペース削減率が65%であることを考えれば、このわずかなパフォーマンスの低下を許容できるとお考えの方は多いでしょう。データのレプリケーションにネットアップのVolume SnapMirror®テクノロジを使用し、ネットワーク帯域幅とセカンダリ ストレージ上のスペース使用量を減らすことにより、こうした削減率はさらに拡大します (この場合、セカンダリ ストレージにはプライマリ ストレージで圧縮済みのデータが複製されるため、それ以上の処理は必要ありません)。このシナリオでは、次の効果が得られます。

  • プライマリ ストレージのストレージ容量を65%削減
  • レプリケーションのためにネットワークを介して転送されるデータ量を65%削減
  • レプリケーション時間を65%短縮
  • セカンダリ ストレージのストレージ容量を65%削減

圧縮機能の有効な利用例はほかにも数多くあります。環境に最適なシステム構築を判断する際にお役立ていただけるよう、ネットアップはさまざまなツールとガイドブックをご用意しています。プライマリ ストレージでは、以下の用途で圧縮機能を使用することをご検討ください。

  • ファイルサービス
  • 地震データ
  • テストと開発

バックアップ / アーカイブ ストレージでは、以下の事例で圧縮機能を使用することをご検討ください。

  • ファイルサービス
  • 地震データ
  • 仮想サーバ
  • Oracle OLTP
  • Oracleデータ ウェアハウス
  • Microsoft® Exchange 2010

圧縮機能の使用

ネットアップのデータ圧縮機能は、Data ONTAP 8.1以降を実行しているすべてのNetApp FASシステムとVシリーズ システムで動作します。データ圧縮はボリューム レベルで有効化されますので、この機能を有効にするボリュームを選択できます。ボリュームに含まれるデータが圧縮可能でないことがわかっている場合は、そのボリュームに対して圧縮機能を有効にしない方が適切です。データ圧縮機能と重複排除機能を併用する場合は、ボリュームに対して重複排除機能を先に有効化する必要があります。また、ボリュームは、Data ONTAP 8.0の新機能である64ビット アグリゲート内に含まれていなければなりません。Data ONTAP 8.1から、ボリューム サイズの制限は排除されているため、使用するFASまたはVシリーズ プラットフォームの制約を超えたサイズのボリュームを使用できます。圧縮の有効化と管理には、コマンド ライン ツールまたはNetApp System Manager 2.0を使用できます。

圧縮機能を有効にする前に、必要なリソースが確保されていることをテストで確認して、潜在的な影響について理解しておくことをお勧めします。影響の大きさを左右する要因は次のとおりです。

  • アプリケーションの種類
  • データセットの可能圧縮率
  • データ アクセスのパターン(シーケンシャル アクセスとランダム アクセス、I / Oのサイズとパターンなど)
  • ファイルの平均サイズ
  • 変更割合
  • 圧縮が有効化されているボリューム数
  • ハードウェア プラットフォーム(システムのCPUとメモリのサイズ)
  • システム上の負荷
  • ディスクの種類と速度
  • アグリゲートを構成するスピンドル数

一般的に、次のような経験則が当てはまります。

  • 圧縮のパフォーマンスはハードウェア プラットフォームの種類によって変わる
  • コア数が多いほどスループットが向上する
  • コア速度が速いほどスループットへの影響は少ない
  • 圧縮可能なデータの割合が多いほどパフォーマンスへの影響は少ない

インライン圧縮とポストプロセス圧縮の選択

圧縮機能を設定する場合、その場でデータを圧縮するインライン圧縮と定期的なポストプロセス圧縮を組み合わせる方法と、ポストプロセス圧縮のみを実行する方法のいずれかを選択できます。インライン圧縮を使用すると、スペースの削減、ディスクI / Oの低減、Snapshot™コピーの縮小などの効果がすぐに現れます。ポストプロセス圧縮では、最初に圧縮されていないブロックをディスクに書き込み、後でそのブロックを読み取ってから圧縮します。そのため、新しくデータを書き込む際にパフォーマンスの低下を招かないようにする場合や、ピーク時に余分なCPUリソースを消費しないようにする場合に、この圧縮方法をお勧めします。

パフォーマンスがそれほど重視されず、書き込みパフォーマンスに多少の影響があってもかまわないような状況や、ピーク時に使用可能なCPUがある状況では、インライン圧縮が最も効果を発揮します。表1は、インライン圧縮とポストプロセス圧縮についての考慮事項です。

目標 推奨される対処法
Snapshotが使用する容量の削減 インライン圧縮により、Snapshotコピーで使用される容量が最小限に抑えられます。
qtree SnapMirrorまたはSnapVault®の複製先ディスク使用率の低減 インライン圧縮により、スペース削減が即座に実現し、バックアップウィンドウへの影響が最小限に抑えられます。さらに、Snapshotリザーブのスペース使用量を削減できます。
ディスクI / Oの削減 インライン圧縮では、ディスクに新しく書き込まれるブロック数が減少します。
新たな書き込み処理のパフォーマンスに対する影響の回避 ポストプロセス圧縮では、新しいデータが圧縮されずにディスクに書き込まれるため、最初の書き込みパフォーマンスに対する影響はありません。その後、圧縮を実行するスケジュールを設定して、空き領域を増やすことができます。
ピーク時のCPUへの影響の抑制 ポストプロセス圧縮では、圧縮を実行するスケジュールを設定して、ピーク時の圧縮による影響を最小限に抑えることができます。

表1)ポストプロセス圧縮のみを適用する場合と、インライン圧縮とポストプロセス圧縮を併用する場合の考慮事項

データ圧縮機能と他のネットアップ テクノロジ

ネットアップのデータ圧縮機能は、ネットアップの重複排除機能を補完する役割があります。ここでは、データ圧縮機能を、よく使用される他のネットアップ テクノロジと併用する場合について説明します。

Snapshotコピー:Snapshotコピーを使用すると、Snapshotコピーを作成した後、変更されたブロック データを保持し、特定時点の状態にデータをリストアすることができます。データを圧縮すると占有するディスク領域が小さくなるので、圧縮にはSnapshotコピーで消費されるディスク容量を削減する効果があります。

ポストプロセス圧縮機能では、Snapshotコピーでロックされているデータを圧縮することができます。ただし、Snapshotコピーが有効期限切れになるか削除されるまで、圧縮前の元のブロックがディスク上に残るため、スペース削減の効果はすぐには現れません。ポストプロセス圧縮は、Snapshotコピーを作成する前に実行することをお勧めします。圧縮とSnapshotコピーを併用する場合のベスト プラクティスについては、TR-3958またはTR-3966をご覧ください。

Volume SnapMirror:Volume SnapMirrorは物理ブロック レベルで動作します。ソース ボリュームで重複排除機能と圧縮機能のいずれか、または両方が有効の場合、重複排除と圧縮によるスペース削減効果は、ネットワークを介して転送されるデータで維持され、デスティネーション ボリュームにも継承されます。そのため、レプリケーション時に必要となるネットワーク帯域幅が削減され、SnapMirror転送が完了するまでの所要時間も大幅に短くなります。次に、留意すべき一般的なガイドラインをいくつか紹介します。

  • ソース システムとデスティネーション システムではいずれも、同じリリース バージョンのData ONTAPを使用する
  • 圧縮と重複排除はソース システム上でのみ管理され、デスティネーション システムのフレキシブル ボリュームにはストレージ削減効果が継承される
  • 圧縮は転送処理全体を通じて維持されるため、転送されるデータの量が削減される結果、ネットワーク帯域幅の使用量が減少し、転送時間が短縮される
  • データはすでにネットアップのデータ圧縮機能によって圧縮されているため、SnapMirrorリンクの圧縮機能を使用する必要はない

ネットワーク帯域幅とSnapMirror転送時間の削減量は、スペース削減量に正比例します。たとえば、ディスク容量が50%削減されると、SnapMirror転送の時間も50%短縮し、ネットワーク経由で転送する必要のあるデータ量も50%減少します。

qtree SnapMirrorとSnapVault:qtree SnapMirrorとSnapVaultはいずれも論理ブロック レベルで動作します。ソース ストレージ システムとデスティネーション ストレージ システムでは重複排除やデータ圧縮が独立して行われるため、ニーズに応じていずれか(または両方)のシステムで機能を実行できます。つまり、ソース データで圧縮または重複排除が行われていなくても、qtree SnapMirrorやSnapVaultのバックアップに対して圧縮または重複排除を実行できます。圧縮と重複排除を手作業で行うように設定されている場合を除き、SnapVault転送が完了すると、圧縮と重複排除が自動的に行われます。

クローニング:NetApp FlexClone®テクノロジを使用すると、ファイルやデータ ボリュームの仮想コピーを瞬時に作成できます。こうしたコピーは新たなストレージ スペースを使用することがなく、クローンに変更を加えた場合にのみスペースが消費されます。FlexCloneは重複排除と圧縮機能の両方に対応しています。クローンの親ボリュームに対して圧縮機能を有効にすると、スペース削減効果がクローンに継承されます。また、クローン ボリュームに対してのみ圧縮機能を有効にすることもできます。こうすると、親コピーに影響を及ぼすことなく、クローンに新しく書き込むデータに対して圧縮の効果を適用することができます。

まとめ

ネットアップのデータ圧縮テクノロジは重要なStorage Efficiencyツールです。この圧縮機能を使用すると、プライマリ ストレージとセカンダリ ストレージの両方で最も大きなスペース削減効果を発揮できます。本稿で取り上げたトピックの詳細とその他の情報については、TR-3958:『NetApp Data Compression and Deduplication Deployment and Implementation Guide: Data ONTAP 8.1 Operating in 7-Mode』およびTR-3966:『NetApp Data Compression and Deduplication Deployment and Implementation Guide: Data ONTAP 8.1 Operating in Cluster-Mode』をご覧ください。

 データ圧縮に関するご意見をお寄せください。

ご質問、意見交換、情報提供は、ネットアップのコミュニティ サイトまでお願いいたします。

Sandra Moulton
ネットアップ
テクニカル マーケティング エンジニア


Sandraは2年前にネットアップの一員となって以来、主にStorage Efficiencyだけに取り組み、特に重複排除とデータ圧縮に専門に携わっています。また、こうした重要なテクノロジに関し、各種のホワイト ペーパー、ベストプラクティス ガイド、リファレンス アーキテクチャの作成も担当しています。Sandraはこの業界で20年を超えるキャリアを持ち、シリコンバレーの他の有力企業各社でも同様の業務経験を積んでいます。



関連情報
関連情報
その他のBack to Basics

ネットアップのコア テクノロジの基礎について、シリーズでご紹介しています。過去に掲載された記事は以下のとおりです。

関連情報
 
Go further, faster TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2012 NetApp