【テクニカルレポート】NetAppストレージのデータ圧縮機能~前編 | RBB TODAY

【テクニカルレポート】NetAppストレージのデータ圧縮機能~前編

 NetAppストレージのデータ圧縮機能~前編

エンタープライズ ソフトウェア・サービス
図1)圧縮処理を実行する前には、圧縮グループの圧縮率がテストされる。その後はテスト結果に応じ、圧縮した、または圧縮されていない圧縮グループがディスクに書き込まれる
  • 図1)圧縮処理を実行する前には、圧縮グループの圧縮率がテストされる。その後はテスト結果に応じ、圧縮した、または圧縮されていない圧縮グループがディスクに書き込まれる
 柔軟なITの実現に重要なのは効率性です。ストレージ効率化技術を刷新するリーダー企業として、NetAppはSnapshotと関連テクノロジ、シンプロビジョニング、FlexClone、プライマリストレージの重複排除など、多くの革新的で最新の効率化技術をお客様に提供できるよう力を尽くしてきました。

 言うまでもなく、データ圧縮テクノロジはずっと以前から使用されています。ただし、大規模なストレージシステムに関しては、特にパフォーマンスへの影響の面で従来から重大な課題があります。最近まで、テープドライブやVTLなどのデバイスに対する圧縮機能は、ほぼ例外なく専用のハードウェアを使用して提供されており、コストと複雑性を増大させる要因になっていました。NetAppが新たに開発した方法では、ソフトウェアを使用して透過的なインラインデータ圧縮機能を提供し、同時にコンピューティング・リソースへの影響も軽減します。この方法により、既存のNetAppストレージシステムをData ONTAP 8.0.1以降にアップグレードすれば、Data ONTAPを通じて追加コストなしで圧縮機能をご利用いただけるようになりました。

 この記事では、NetAppのデータ圧縮機能の概要と仕組みを説明するとともに、いくつかの一般的なユースケースと、それぞれについて計測したスペース削減量を紹介します。また、データ圧縮機能を他のNetAppテクノロジと併用する方法について説明し、お客様の成功を支援するため、どのようにNetAppがこの新機能を展開しているかを確認します。

■NetAppのデータ圧縮機能について

 NetAppのデータ圧縮機能は、透過的なインラインデータ圧縮を実行するソフトウェアベースのソリューションで、Data ONTAP 8.0.1に組み込まれた無償オプションとして提供されます。NetAppのデータ圧縮機能の使用に、アプリケーションの変更は一切必要ありません。

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

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

 NetAppの圧縮アルゴリズムでは、ファイルが32KBのデータ領域に分割され、この領域が圧縮グループと呼ばれます。各圧縮グループには、1つのファイルのデータのみが含まれます。

データの書き込み:書き込み要求は、圧縮グループレベルで処理されます。グループが形成されると、データをメモリ内に保持したままテストが実行され、対象のデータが圧縮可能であるかどうかが判断されます。圧縮できない場合、データはそのままディスクに送信されます。テストでデータが圧縮可能と判断された場合のみ、そのグループ全体が圧縮されます。この方法によって、スペースの削減量が最適化され、同時にリソースのオーバーヘッドが最小化されます。

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

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

■圧縮のパフォーマンス

 NetAppのデータ圧縮機能は、単独で使用またはNetAppの重複排除機能と併用することにより、最適なストレージ削減量を達成できるように設計されています。NetAppの重複排除は、最も都合の良い時間に実行されるようにスケジュールを設定できるのに対し、NetAppのデータ圧縮はインライン処理として、データをディスクに書き込む際に実行されます。この2つの機能を同じボリューム上で同時に有効化すると、最初にデータを圧縮してから重複排除が実行されます。重複排除を実行するためにデータを解凍する必要はありません。この処理では単純に、重複した圧縮済みまたは未圧縮のブロックがデータボリュームから削除されます。

 データ圧縮機能では高い圧縮効率を実現するため、Data ONTAPの内部的な特性を活用しています。NetAppのデータ圧縮はパフォーマンスへの影響を最小限に抑えますが、完全に解消することはできません。使用の際は、データ圧縮を実行するのに必要なリソースが許容量であるかどうか、ワークロードを評価する必要があります。実際の影響は、次のようなさまざまな要素に応じて変化する可能性があります。

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

 お客様の実装を最適化するため、サイジングなどの作業に役立てていただけるよう、NetAppでは各種のベストプラクティスをご用意しています。目的の用途にデータ圧縮を適用できるかどうかを判断するには、さまざまな要素が関係するため、実際の環境でテストするのが最も良い方法です。以降では、さまざまなアプリケーション・データセットを使用して計測したスペース削減率と、いくつかの標準的なユースケースを紹介します。

「NetAppストレージのデータ圧縮機能~後編」へ続く


執筆者:敬称略

・Sandra Moulton
テクニカル・マーケティング・エンジニア
NetApp

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

※同記事はネットアップ(NetApp)の発行する「Tech OnTap」の転載記事である。
《RBB TODAY》

関連ニュース

特集

page top