NetApp Tech OnTap
NetApp Tech OnTap
     
Back to Basics:重複排除機能

今月のTech OnTapでは、Back to Basicsの第2弾をお届けします。Back to Basicsは、NetAppの主要なテクノロジに馴染みのない方にも、それぞれの基礎について分かりやすく説明することで、理解を深めていただき、ご利用のきっかけとしていただくためのシリーズです。

NetAppは、ストレージ所要量を大幅に削減する重複排除テクノロジを2007年に導入しました。NetAppの重複排除機能は、同一のデータブロックを特定し、バイト単位の照合を行った後、データブロックではなく単一の共有ブロックを参照するようにして効率を改善します。同じボリュームまたはLUNに存在するデータの重複ブロックが排除されるため、ストレージ所要量が削減されます。

NetApp Data ONTAP®オペレーティング環境と、NetAppストレージシステム上のすべてのデータを管理しているWAFL®ファイルシステムに欠くことのできないのが、NetAppの重複排除機能です。重複排除は、実行するアプリケーションやデータへのアクセス方法に関係なくバックグラウンドで実行され、オーバーヘッドもわずかです。

重複排除についてよく寄せられる質問の1つは、「どれだけのスペースを削減できるのか」というものです。このご質問にはあとで詳しくお答えしたいと思いますが、一般的には、データセットの種類と、その中に含まれる重複の量に左右されます。ビジネスデータとエンジニアリングデータが混在する環境でNetAppの重複排除が効果を発揮した例として、アトランタに本社を置くPolysius Corporation社をご紹介しましょう。セメントプラントの新規設計や、既存プラントの拡張事業を行っている。

Polysiusの本番用ストレージの所要量は、最大年率30%で増えていました。AutoCADファイル、Microsoft® Officeドキュメントなどの非構造化データが混在する環境に重複排除機能を適用することによって、Polysiusはストレージスペースの47%を解放することができました。中には、70%削減できたボリュームもありました。この結果、同社は新しいストレージの購入を延期することができ、ディスク上にバックアップデータを保持する期間を2倍にすることができました。詳細については、Polysiusのユーザ事例(英語)をご覧ください。

NetAppの重複排除機能は、次のような点で非常に優れています。

  • NetApp製またはサードパーティ製のプライマリ、セカンダリ、アーカイブストレージ上で動作する
  • アプリケーションに依存しない
  • プロトコルに依存しない
  • オーバーヘッドが最小限
  • NetApp FASストレージシステムとVシリーズ・ストレージ・システムの両方で機能する
  • バイト単位で検証を実行
  • ボリュームおよびLUN内にある新しいデータと以前に格納されたデータに適用できる
  • ピーク時以外の時間帯に実行できる
  • NetAppの他のStorage Efficiencyテクノロジと統合できる
  • 重複排除による削減効果を、SnapMirror®やFlash Cacheの使用時にも継承できる
  • シンプルな検証ツール
  • 無償でご提供

今月号のBack to Basicsでは、NetAppの重複排除機能の仕組み、最も一般的な使用事例、重複排除機能を実装するにあたってのベストプラクティスなどについて解説します。

Data ONTAPでの重複排除の仕組み

NetAppの重複排除機能の中核を支えているのは、伝統的なコンピュータサイエンス技術である参照カウントです。以前のData ONTAPでは、ブロックが解放されているか、それとも使用中か、ということのみを追跡していました。重複排除の導入によって、Data ONTAPはブロックの使用回数も追跡するようになりました。重複排除機能を使用すると、NAS構成、SAN構成のいずれにおいても、単一のブロックを最大で255回参照できます。ファイルの側では、共有ブロックを使用していることは「認識」されません。WAFLのブックキーピング機能が、詳細を透過的に処理します。

FAS6200シリーズ

図1)NetApp重複排除機能の仕組み

Data ONTAPは、2つのブロックの共有が可能であることを、どのようにして判断しているのでしょうか。Data ONTAPは、ブロックごとに、ブロックデータのハッシュである「フィンガープリント」を計算します。同じフィンガープリントを持つ2つのブロックは、共有の候補となります。

NetAppの重複排除機能を有効にすると、ボリューム内で使用されているすべてのブロックのフィンガープリント・データベースが作成されます(これは「収集」と呼ばれるプロセスです)。この初期セットアップが完了したら、データの重複排除を開始できます。

通常の処理の速度が落ちないようにするために、重複の検索は単独のバッチプロセスとして実行されます。通常の使用中にデータの書き込みが行われると、WAFLは、このデータのフィンガープリントのカタログを作成します。このカタログは、次のいずれかのイベントによって重複排除が開始されるまで蓄積されます。重複排除を開始するイベントは、ストレージシステムの管理者が決定できます。

  • 重複排除の「start」コマンドが手動で実行されたとき
  • 定期的な重複排除プロセスが開始されたとき
  • ボリュームに新しいデータが20%書き込まれたとき
  • SnapVault®転送が完了したとき

重複排除プロセスが開始されると、変更されたブロックのフィンガープリントをキーに使用して、ソート処理が開始されます。このソートされたリストが、フィンガープリント・データベース・ファイルとマージされます。両方のリストに同じフィンガープリントが存在する場合、1つに集約できる同一ブロックが存在している可能性があります。同一ブロックが見つかると、Data ONTAPは一方のブロックを廃棄し、もう一方のブロックを参照するようにします。ファイルシステムは常に変化しているため、この手順を実行できるのは、両方のブロックが実際に引き続き使用されており、同じデータを含んでいる場合に限られます。2つのブロックが本当に同一であることを確認するために、特定された候補ブロックはバイト単位で比較されます。

NetAppの重複排除機能は、WAFLの特別な機能を使用して、重複排除にかかるコストを最小限に抑えています。たとえば、WAFLには、ディスク上のすべてのデータブロックをチェックサムで保護する機能があります。

NetAppは、このチェックサムをフィンガープリントのベースとして使用しています。チェックサムは標準の機能であるため、「無償で」使用でき、システムに新たな負荷がかかることがありません。また、WAFLでは、使用中のデータブロックが上書きされることがないため、ブロックが解放されないかぎり、フィンガープリントは有効です。このように、NetAppの重複排除機能はWAFLと緊密に統合されているため、変更のロギングも効率的に処理されます。そのため、NetAppの重複排除機能は、さまざまな用途に使用できます。他社の重複排除テクノロジのように、バックアップのみにしか使用できないということがありません。

使用事例

NetAppでは、重複排除機能の導入以来、重複排除機能が本番環境にもたらしているメリットを計測しています。適用先として最も多いのは、VMware®およびVDI、ホーム・ディレクトリ・データ、ファイルサービスです。Microsoft SharePoint® 2010、Exchange 2010での利用も急速に増えています。

VMware環境とVDI環境で重複排除が際立った削減効果をもたらすことについては、Tech OnTapの記事でも多数取り上げてきました。VMware環境やVDI環境では、各仮想マシンがほぼ同一のオペレーティング・システム環境を使用しているため、元々かなりの割合でファイルが重複しているためです。環境ごとの標準的な結果について、次の表にまとめました。

表1)重複排除による標準的なスペース削減量

データセットの種類 アプリケーションの
種類
重複排除のみ

ファイルサービス / ITインフラ

30%

仮想サーバとデスクトップの仮想化

70%

データベース

Oracle® OLTP

0%

Oracle Data Warehouse

15%

SQL Server®

20%

Eメール、コラボレーション

Exchange 2003 / 2007

3%

Exchange 2010

15%

エンジニアリングデータ

30%

地質データ

3%

アーカイブデータ

25%

バックアップデータ

95%


一般的なVMwareまたはVDI環境には、ほぼ同じオペレーティング・システムとアプリケーションがインストールされた仮想マシン(VM)が大量に存在し、大量の重複データを発生させています。

同じOSを実行するVMが100台あり、それぞれに10~20 GBのストレージが必要な場合、1~2 TBのストレージがほぼ同一のコピーに専有されることになります。NetAppの重複排除を適用すると、VM特有の冗長性の大半を排除できます。

大まかに言えば、X台の仮想マシンがストレージボリュームに割り当てられている場合、重複排除を実行すると、オペレーティング・システムに必要なストレージは、重複排除を実行していない環境の約X分の1になります。当然ですが、実際の結果は、ボリューム内に存在するVMの数と、VMの類似度によって異なります。

ESX VI3環境では、実際にはスペースが50%以上削減されることが一般的です。一部には、90%削減されるケースも見られます。これは、オペレーティング・システムだけでなく、アプリケーションデータも含めたVMwareストレージ環境全体の重複排除の数字です。VDI環境では、一般に最大で90%のスペースが削減されます。

また、NetAppは、広く使用されているエンジニアリング・アプリケーションや科学アプリケーションで生成される非構造化ファイルデータのリポジトリについても、重複排除の効果を継続的に調査しています。代表的なものには、SiemensのPLMソフトウェアであるTeamcenter、IBMのSCMソフトウェアであるRational ClearCase、Schlumbergerの地質データ解析ソフトウェアであるPetrelなどがあります。

Teamcenterは、比較的小規模なメタデータデータベースに、設計ファイルが格納される大規模な「保管スペース」を組み合わせて使用しています。エンジニアがTeamcenter内に設計を保存するたびに、その設計ファイルの完全なコピーが保管スペース内に保存されます。設計に加えられた変更がわずかであっても同様です。

NetAppは、Siemens PLMと緊密に連携して、Siemensのパフォーマンス / 拡張性ベンチマークツールを使用し、Teamcenter環境における重複排除の効果について評価しました。このベンチマークツールは、通常の使用時のように、多数の設計ファイルの改訂版を複数作成してシミュレーションを実行できるものです。こうして作成した保管スペースに重複排除を適用したところ、57%のスペースが削減されました。実際には、これよりもさらに多くのスペースが削減されると考えられます。多くの場合、改訂版ファイルの数が、このシミュレーションよりも多いと考えられるためです (もちろん、一般に、シミュレータを使用して重複排除の潜在的な削減容量を測定する場合は、注意が必要です。シミュレータは通常、データのパターンではなくパフォーマンスに焦点を当てているため、シミュレーションデータには、多くの場合、人為的に作成された大量の重複データが含まれます)。

Teamcenterと同様に、業界をリードするソフトウェア構成管理ソリューションであるIBM Rational ClearCaseも、メタデータデータベースと、大規模な「バージョン管理オブジェクトベース(VOB)」の組み合わせで構成されます。ファイルはVOB内に格納されます。ClearCaseで重複排除機能が最も効果を発揮するのは、VOBのコピーを作成する必要がある状況においてです。また、実験環境での暫定結果から、ファイル全体が格納されている場合にClearCase環境に重複排除を使用すると、スペースが40%以上削減されると考えられます。

SchlumbergerのPetrelは、地質データの解析、貯留層の視覚化、シミュレーション・ワークフローなどに使用されています。このソフトウェアでは、大量のファイルを含むプロジェクト・ディレクトリが作成されます。ユーザがデータの作成、配信、アーカイブを行うのに伴って、重複するデータオブジェクトが複数のストレージデバイスに保存されます。NetAppでは、こうしたプロジェクト・ディレクトリに重複排除を適用することで、スペースを約48%削減できることを確認しました。

NetAppの重複排除の使用にあたって

表2は、NetAppの重複排除機能を実行するための基本的な要件をまとめたものです。

表2)NetApp重複排除機能の基本要件

要件 重複排除機能

ハードウェア

NearStore® R200
FAS2000シリーズ
FAS3000シリーズ
FAS3100シリーズ
FAS3200シリーズ
FAS6000シリーズ
FAS6200シリーズ
IBM N5000シリーズ
IBM N7000シリーズ
注:Data ONTAP 7.3以降では、NetApp FASシステムに対応するVシリーズシステムと、上記のIBM Nシリーズ・ゲートウェイ・システムもサポートされています

Data ONTAPのバージョン要件

Data ONTAP 7.2.5.1以上
(8.0.Xの場合は7-Modeのみ)

必要なライセンス

De-dup
NearStoreライセンス(バージョン8.0より前のData ONTAPの場合に必要)

サポートされるボリュームの種類

FlexVol®のみ、トラディショナル・ボリュームはサポートされません

最大ボリュームサイズ

Data ONTAP 8.0.1の場合、最大16 TB(重複排除の対象となるすべてのプラットフォームで共通) 以前のバージョンのData ONTAPでの「フレキシブルボリュームの最大サイズ」は、NetAppのモデルによって異なります。詳細については、TR-3505をご覧ください。

サポート対象のプロトコル

すべて

上記の要件のほかに、いくつかのベストプラクティスを取り入れることで、重複排除機能を円滑に運用できます。このセクションでは、重要なベストプラクティスをいくつか簡単に説明します。また、重複排除機能を他の主要なNetAppテクノロジと組み合わせて使用する場合の情報も掲載しました。詳細については、TR-3505:『NetApp FASの重複排除機能における導入および実装ガイドをご覧ください。

  • 重複排除機能を導入する前に、テスト環境で重複排除がパフォーマンスに与える影響とサイジング要件を測定してください。特に、NetAppがこれまでテストしていないアプリケーション(表1に挙げられていないアプリケーションなど)では、測定が重要になります
  • 重複排除では、システムリソースが消費され、ディスク上のデータレイアウトが変更されることがあります。アプリケーションのI / Oパターンや、重複排除がデータレイアウトに与える影響により、読み取りと書き込みのI / Oパフォーマンスが変化する場合があります。削減されるスペースとパフォーマンスへの影響は、アプリケーションとデータの内容によって異なります
  • アプリケーションで作成される新規データの量が少ない場合は、重複排除機能をまれに実行する程度にとどめてください。こうした場合、頻繁に実行してもメリットは非常に限られるからです。重複排除を実行する頻度は、フレキシブルボリューム内のデータの変更率によって決定します
  • 同時に実行する重複排除スキャンプロセスが多いほど、より多くのシステムリソースが消費されます。以下のいずれかを実行することが、最善の選択といえるでしょう
    • フレキシブルボリュームの重複排除スケジュールをずらして、重複排除プロセスが別の日に実行されるようにし、多数のプロセスが同時に実行される可能性を抑える
    • autoモードを使用して、大量の追加データが各フレキシブルボリュームに書き込まれた場合のみ、重複排除機能が実行されるようにする (重複排除機能が比較的小規模な環境で実行されている場合、autoモードの実行は自然に分散する傾向にあります)
    • 重複排除機能を手動で実行する
    • 重複排除機能を毎晩実行して、重複排除される新規データの量を最小限に抑え、所要時間を短くする
  • 重複排除プロセスが完了する前にSnapshot®コピーを作成すると、削減されるスペースは少なくなる可能性があります。可能であれば、Snapshotコピーを作成する前に重複排除プロセスを実行し、重複排除プロセスが完了したことを確認してから、Snapshotコピーを作成します
  • 重複排除を適切に実行するには、重複排除メタデータ用にある程度の空きスペースを残しておく必要があります。Data ONTAP 7.3より前のバージョンの場合、各フレキシブルボリュームに総データ量の6%に相当する空きスペースを確保します。Data ONTAP 7.3以降のバージョンの場合、重複排除を実行する全フレキシブルボリュームの総データ量の4%に相当する空きスペースをアグリゲートに確保します(フィンガープリント+変更ログ用)。そして、各フレキシブルボリュームには、総データ量の2%に相当する空きスペースを確保します。詳細については、TR-3505のセクション5.3.3をご覧ください

重複排除と他のNetAppテクノロジ

重複排除機能は、他のNetAppテクノロジと連動する設計になっています。これらのテクノロジでは、多くの場合、重複排除によってメリットが強化されます。

  • Flash CacheFlash Cacheは、インテリジェントなキャッシングによってI / Oパフォーマンスを向上させます。NetAppの重複排除機能は、キャッシュヒットの確率を高めます。重複排除されたブロックがFlash Cache内に存在する場合、そのキャッシュが再度要求される確率が非常に高くなります。この効果は「キャッシュ増強」と呼ばれ、サーバやデスクトップが仮想化された環境では特に有効です
  • Volume SnapMirror。Volume SnapMirrorを使用して重複排除済みのボリュームを複製すると、ターゲットボリュームは、ソースボリュームの重複排除の状態を自動的に継承します。VMwareにVolume SnapMirrorを使用した場合の効果については、過去の記事(英語)で説明されています。また、重複排除機能とSnapMirror、SnapVaultの各モードとの関係についても、最近の記事で説明されています
  • FlexClone。FlexClone®テクノロジは、データボリュームとデータセットを透過的な仮想コピーとして瞬時に複製します。FlexCloneボリュームの作成時に、
    • 親FlexCloneボリュームで重複排除が有効な場合、新しいボリュームはその効果を継承します
    • クローンボリュームは、重複排除スケジュールなどの親ボリュームの重複排除設定を継承します
    • Data ONTAP 7.3以降では、重複排除メタデータファイル(フィンガープリント・データベースと変更ログファイル)はクローニングされません。これは、メタデータファイルがアグリゲート内のボリュームの外に置かれているためです。完全な重複排除を維持するためには、クローンボリュームで重複排除を開始する必要があります
  • 圧縮機能。Data ONTAP 8.0.1で導入されたNetAppのデータ圧縮機能は、重複排除機能を強力に補完します。見込まれるスペース削減量と使用事例については、過去のTech OnTapの記事で説明されています
  • シンプロビジョニング。重複排除機能は、NetAppシンプロビジョニング(英語)とも連動して、スペース削減量を最大化します。NASボリュームの場合、設定に難しい点はありません。LUNの場合、次の設定を使用すると、スペース削減量を最大化できます(詳細については、TR-3505のセクション6.4.18をご覧ください)
    • LUNのスペースリザベーションの値 = off
    • ボリュームのフラクショナルリザーブの値 = 0~100の間で任意
    • ボリュームギャランティ = none
    • スナップリザーブ = 0%
    • Autodelete = on
    • Autosize = on
    • Try_first = volume_grow

まとめ

重複排除は重要なStorage Efficiencyツールであり、単独で使用できるだけでなく、NetAppのシンプロビジョニングやFlexCloneなどの他のStorage Efficiencyソリューションと組み合わせて使用することもできます。重複排除機能の詳細については、TR-3505:『NetApp FASの重複排除機能における導入および実装ガイドをぜひご覧ください。このガイドは、頻繁に更新されており、次のような広範なトピックを扱っています。

  • 構成と運用
  • パフォーマンスとストレージ効率を最大化するサイジング
  • 他のNetAppテクノロジとの併用
  • ベストプラクティス(VMware、Microsoft Exchange、Microsoft SQL Server、Microsoft SharePoint、Lotus Domino、Oracleなどの特定のアプリケーションで使用する場合のベストプラクティスなど)
  • トラブルシューティング
 重複排除機能に関するご意見をお寄せください。

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

Carlos Alvarez
シニア・テクニカル・マーケティング・エンジニア
NetApp


2008年にNetAppに入社して以来、Carlosはストレージの効率化に専門的に取り組んでおり、重複排除、データ圧縮、シンプロビジョニングについて深い専門知識を持っています。Carlosは、お客様の環境で最も効果を発揮するNetApp® Storage Efficiencyテクノロジの最適な組み合わせについて、頻繁にアドバイスを行っています。この業界で20年以上の経験を積んでいるCarlosは、これまでにも数々の実装ガイド、テクニカル・ホワイト・ペーパー、リファレンス・アーキテクチャ、ベストプラクティス、ソリューションガイドの執筆を依頼されてきました。



 
関連情報
関連情報
重複排除に関するTech OnTapの記事
重複排除について、さらに知りたいとお考えですか。Tech OnTapでこれまでに掲載した重複排除機能に関する記事を、以下にご紹介します。


その他のBack to Basics
Back to Basicsの第1弾では、NetApp®のシンプロビジョニングに焦点を当てました。シンプロビジョニングの実装方法、ベストプラクティスなどが解説されていますので、ぜひご覧ください。

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