NetApp Tech OnTap
     

インテリジェント・キャッシングとNetApp Flash Cache

インテリジェントなキャッシングの活用により、ストレージのパフォーマンスとディスクアレイ内のディスク数との関係を切り離すことが可能になります。これによりコストを大幅に削減できるだけでなく、パフォーマンスの調整に必要な管理負荷も軽減されます。NetAppは、他社に先駆けて革新的な読み取り / 書き込みキャッシングテクノロジの開発に取り組んできました。たとえば、NetAppストレージシステムは受信する書き込み要求のジャーナルにNVRAM(不揮発性メモリ)を採用しています。これにより、システムは書き込み要求のあったデータをNVRAMに書き込み、書き込み要求を送信したホストに対して遅延なく応答することができます。これは、書き込みキャッシュをソフトウェアスタックのはるか下方に格納する他のベンダーのアプローチとはまったく異なるものです。

読み取りキャッシングに関しては、NetAppはマルチレベルキャッシュを採用しています。

  • 1次読み取りキャッシュには、ストレージシステムのメモリ内のシステム・バッファ・キャッシュが使用されます。特殊なアルゴリズムが、どのデータをメモリ内に格納し、どのデータをプリフェッチするかを決定し、機能の最適化を図ります
  • NetApp Flash Cache(旧称PAM II)は2次キャッシュ機能を追加するもので、システム・バッファ・キャッシュからイジェクトされたブロックを格納し、大容量で遅延の少ないブロックのプールを作成します
  • 3次読み取りキャッシュは、NetApp FlexCache®により提供され、ストレージインフラに別途キャッシュ層を作成します。このキャッシュにより、単一のストレージシステムが持つ機能では実現できないレベルまで読み取りパフォーマンスを拡張できます

このような読み取り / 書き込みキャッシングテクノロジの技術詳細と、このテクノロジが最も効果を発揮する環境とアプリケーションについては、最近のホワイトペーパー(英語)で紹介しています。

本稿では、2次読み取りキャッシュであるFlash Cacheに重点を置いて説明します。Flash Cacheを導入すると、一定レベルのパフォーマンスに必要なスピンドル数の75%もの削減と、高性能なディスクから経済的なディスクへの交換が可能となるため、ストレージのコスト削減につながります。Flash CacheをNetAppの重複排除機能やFlexClone®テクノロジと連携させることで、キャッシュを大幅に増強できるため、キャッシュのヒット数が飛躍的に増加し、平均遅延時間の短縮が実現します。

512 GBのFlash Cacheモジュール

図1)512 GBのFlash Cacheモジュール

Flash Cacheとは

Flash Cacheと読み取りキャッシング全般について理解するのに最も重要なポイントは、メモリからの読み取りとディスクからの読み取りでは遅延時間に大きな違いがあるということです。遅延時間をディスクから読み取る場合と比較すると、Flash Cacheにヒットした場合は10分の1に、システム・バッファ・キャッシュにヒットした場合は100分の1に短縮されます。

システム・バッファ・キャッシュとFlash Cacheの読み取り遅延への効果

図2)システム・バッファ・キャッシュとFlash Cacheの読み取り遅延への効果

基本的に、Flash CacheはNetAppの第1世代Performance Acceleration ModuleであるPAM I に非常によく似ています。最も大きな違いは、Flash Cacheモジュールは旧世代製品であるDRAMベースのPAM Iモジュールに比べてはるかに大容量である点です。これは、フラッシュメモリの価格と密度の変化によるものです。Flash Cacheには、256 GBと512 GBのモジュールがあります。NetAppストレージシステムのモデルにより異なりますが、最大構成で4 TBのキャッシュ(PAM Iでは80 GB)まで対応します。実際にキャッシュ可能なデータ量で考えた場合、この差は非常に大きく、あらゆる種類のアプリケーションに対するキャッシングの効果が高まります。

Flash Cacheは高い相互運用性を備えており、お客様の環境のあらゆる機器やシステムに導入が可能です。

  • すべてのストレージプロトコルに対応
  • コントローラに接続されたすべてのストレージを対象にキャッシング
  • FlexShare®を使用し、Quality of Service(QoS;サービス品質)に基づいた優先順位付けが可能
  • Vシリーズ・オープン・ストレージ・コントローラと連携

Flash Cacheの仕組み

Data ONTAP®はFlash Cacheを使用して、システム・バッファ・キャッシュから削除されたブロックを保持します。こうすることで、Flash Cacheソフトウェアは1次読み取りキャッシュとシームレスに連携できます。データがシステム・バッファ・キャッシュから移動すると、Flash Cacheはデータに設定された優先順位とカテゴリに基づき、どのデータをキャッシュするかを判断します。

Flash Cacheを使用すると、ストレージシステムはディスクの読み取りを実行する前に、インストールされているモジュールのいずれかに要求された読み取りデータがキャッシュ済みかどうかをまず確認します。Data ONTAPは一連のキャッシュタグをシステムメモリに維持しており、Flash Cacheに要求対象のブロックが存在するかどうか、カードにアクセスせずに判別できます。そのため、Flash Cacheへのアクセスが高速化され、遅延が短縮されます。重要なのは、キャッシュに何を書き込むかを決定するアルゴリズムです。

Flash Cacheアルゴリズムでは、デフォルトで、ランダムに読み取られた価値の高いデータを価値の低いシーケンシャルなデータと区別してキャッシュに保存し、時間のかかるディスク読み取りを回避します。NetAppは、固有の要件に応じてキャッシュ動作を変更する機能を提供しています。Flash Cacheでは、以下の3つの動作モードをサポートしています。

  • デフォルトモード。Flash Cacheの通常動作モードで、ユーザデータとメタデータの両方をキャッシュします。システム・バッファ・キャッシュのキャッシングポリシーと似ています。NFSやCIFSなどのファイル・サービス・プロトコルの場合、メタデータにはファイルやディレクトリ構造の維持に必要なデータが含まれます。SANの場合、メタデータにはLUN内のデータのブックキーピングに使用される少数のブロックが含まれます。このモードは、アクティブデータセットのサイズがFlash Cacheのサイズ以下の場合に使用するのが最適です。また、アクセスが頻繁なデータのホットスポットがあり、そのデータがキャッシュに存在するようにする場合にも有効です
  • メタデータモード。このモードでは、ストレージシステムのメタデータのみをキャッシュします。メタデータは、キャッシュ済みの特定のデータブロックよりも頻繁に再利用される場合があります。そのため、メタデータをキャッシュすることでパフォーマンスが大幅に向上する可能性があります。特に、データセットが非常に大きく、多数の小さなファイルで構成されている場合や、データセットのアクティブな部分が非常に動的な場合に役立ちます。メタデータのキャッシングは、データセットが大きすぎて効率的にキャッシュできない場合にも適しています(Flash Cacheのキャッシュサイズを上回るアクティブデータセットなど)。メタデータモードは、キャッシュ対象のデータに関する制限が最も厳しいモードです
  • ロープライオリティ・モード。ロープライオリティ・モードでは、「通常」のユーザデータとメタデータだけでなく、本来なら除外される優先度の低いデータについてもキャッシングが有効になります。このカテゴリに含まれる優先度の低いデータには、大容量のシーケンシャルリードと最近の書き込みデータがあります。Flash Cacheの導入により大容量のキャッシュメモリが追加され、キャッシュされている他のデータにマイナスの影響を及ぼすことなく、シーケンシャルリードと新しい書き込みデータを格納できる可能性があります。このモードは、最も制限が少ないFlash Cacheの動作モードです

キャッシュサイズとキャッシュされたデータの種類がスループットに与える影響

図3)キャッシュサイズとキャッシュされたデータの種類がスループットに与える影響

Data ONTAP 7.3以降に搭載されているNetApp Predictive Cache Statistics(PCS;予測キャッシュ統計情報)機能を使用すれば、Flash Cacheによってワークロードのパフォーマンスが改善されるかどうかを判断でき、追加が必要なキャッシュ容量を決定できます。さらにPCSでは、それぞれの動作モードをテストし、デフォルト、メタデータ、ロープライオリティの内、どのモードが最適かを判断できます。

NetApp Flash CacheとPCSの詳細については、TR-3832『Flash Cache / PAMベスト・プラクティス・ガイド』(英語)で紹介しています。

Flash CacheとStorage Efficiency

NetApp Flash Cacheは2つの重要な機能により、ストレージの効率化を実現します。

  • インテリジェント・キャッシングにより、ディスク数の削減や低価格のディスクへの交換が可能
  • NetApp Storage Efficiencyの機能をいくつか組み合わせることで、共有ストレージブロックに「キャッシュ増強」効果をもたらし、キャッシュしたブロックの価値が向上

仮想インフラ環境におけるキャッシュ増強、キャッシュ内のブロックを重複排除できることによる利点

図4)仮想インフラ環境におけるキャッシュ増強、キャッシュ内のブロックを重複排除できることによる利点

多くのアプリケーションには、かなりの割合で重複したブロックがあります。その結果、同一ブロックを保存することでストレージスペースが無駄に消費されるだけでなく、システム・バッファ・キャッシュやFlash Cacheにも同じブロックをキャッシュすることになり、キャッシュスペースにも無駄が発生します。NetAppの重複排除機能とNetApp FlexCloneテクノロジは、ブロックの重複を排除してキャッシュヒットの確率を高めることでキャッシングの価値を向上させます。重複排除機能は、プライマリストレージ内の重複ブロックを特定し、単一のブロックへのポインタに置き換えます。FlexCloneを使用することにより、開発 / テスト作業などのためにボリューム、LUN、個々のファイルなどをコピーした結果、よく発生する重複を回避できます。どちらを使用した場合も、単一のブロックに対して多くのポインタが作成されることになります。そのため、こうしたブロックがキャッシュされると、そのキャッシュが再度要求される確率は非常に高くなります。

キャッシュ増強は、サーバやデスクトップが仮想化された環境では特に有効です。このような環境ではキャッシュ増強のことを、VMwareのTransparent Page Sharing(TPS)になぞらえて、Transparent Storage Cache Sharing(TSCS)と呼ぶこともあります。

Flash Cacheの使用により、ディスクの購入コストを大幅に削減し、ストレージ環境をさらに効率化することが可能になります。Windows®ファイルサービス環境でのテスト結果は以下のとおりです。

  • Flash CacheをファイバチャネルまたはSASディスクと併用することでパフォーマンスの向上を実現。スピンドル数を75%、購入コストを54%削減しただけでなく、電力とスペースを67%削減
  • Flash CacheをSATAディスクと併用することで、ファイバチャネルまたはSASディスクとの併用と同じパフォーマンスと容量の増加を実現。同時にストレージのTBあたりのコストを57%、電力を66%、スペースを59%削減

Flash Cacheの導入例

広範なIT環境やアプリケーションが、Flash CacheテクノロジとNetAppのその他のインテリジェント・キャッシング・テクノロジによるメリットを活用しています。

表1)さまざまな環境やアプリケーションへのインテリジェント・キャッシングの適用性
(ハイパーリンクをクリックすると、各環境 / アプリケーションに関する参照資料が表示されます)

環境 / アプリケーション書き込み
キャッシュ
読み取り
キャッシュ
Flash CacheFlexCache
サーバ / デスクトップの仮想化XXXX
クラウド・コンピューティングXXXX
リモートオフィスXX X
データベースXXX 
EメールXXX 
ファイルサービスXXXX
工学 / 技術分野のアプリケーション
製品ライフサイクル管理XXX 
石油 / ガス探査XXX 
ソフトウェア開発XXXX
EDA(デザイン・オートメーション)XXXX
レンダリングXXXX

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

サーバ仮想化にも仮想デスクトップインフラ(VDI)にも、ストレージのパフォーマンスに関する独自の要件があり、それらの要件をキャッシングにより満たすことが可能です。多くの仮想マシンを同時にブートする必要がある場合(日々行うデスクトップの起動や、サーバの仮想化環境では障害発生後や再起動時など)は常に、ストレージの負荷が非常に高くなりがちです。また、ログインを何度も行ったりウィルススキャンを実施したりする場合も、大きなI / O負荷が発生することがあります。

たとえば、1,000台を超えるVMware Viewデスクトップを導入していたある地方銀行は、以前の環境でストレージのパフォーマンスに大きな問題を抱えていました。300個ものディスクスピンドルを使用していたにもかかわらずです。この銀行が、こうした環境に代えてわずか56個のディスクとFlash Cacheを使用したNetAppソリューションを導入したところ、4~5時間かかっていたリブート処理に伴うシステム停止が10分にまで短縮されました。VDIサーバが応答しないなどの問題も解消され、以前は時間差を設けなければ対応できなかったログインも、今ではわずか4秒ですべて完了します。NetAppのインテリジェント・キャッシングを取り入れたことで、この銀行は低コストで高いパフォーマンスを実現することができました。

このような成果に中心的役割を果たしているのが、キャッシュの増強です。仮想環境では、同一のオペレーティング・システムやアプリケーションのほぼ同じコピーを数多く保持することになるので、重複の割合が高くなっています。そのため、共有データブロックによるキャッシュ増強の効果は非常に大きくなります。重複を排除するには、NetAppの重複排除機能を導入する方法(すでに仮想化されている環境の場合)と、NetApp Virtual Storage Console v2.0のプロビジョニング機能とクローニング機能を使用して仮想マシンを効率的にクローニングし、同一のゲスト・オペレーティング・システムがインストールされた各仮想マシンが同じブロックを共有できるようにする方法(新規に仮想環境を構築される場合)があります。いずれの場合も、一連の共有ブロックがいったんキャッシュに読み込まれると、すべての仮想マシンの読み取りアクセスが高速化します。

クラウド・コンピューティング

ほとんどのクラウドインフラはサーバを仮想化した上に構築されるため、クラウド環境でも同様にインテリジェント・キャッシングによるメリットの多くを実現できます。また、インテリジェント・キャッシングとFlexShareを組み合わせることで、マルチテナント型クラウド環境で共有ストレージを使用する異なるテナントに対して、個別のサービスクラスを明確に定義できます。その結果、IT as a Serviceの提供能力が大幅に向上します。

データベース

インテリジェント・キャッシングは、オンライン・トランザクション処理環境にも大きなメリットをもたらします。最近のNetAppホワイトペーパー(英語)では、I / OバウンドのOLTP環境でパフォーマンスを向上させる方法として、ディスクの追加あるいはFlash Cacheの追加という2つの方法を検証しています。どちらの方法も、全体的なシステムスループットの向上に効果的であることがわかりました。Flash Cache構成では、以下のような結果が出ました。

  • 同じシステムにディスクを追加する場合と比べて、追加コストが約30%少なくて済む
  • 平均I / O遅延時間が27.5ミリ秒から16.9ミリ秒に短縮される
  • 電力消費量やラックスペースが変わらない(ディスクを追加した構成の場合、いずれも2倍以上に増加)

Eメール

多くのユーザが利用するEメール環境では、データ量がすぐに膨大に膨れ上がります。データベース環境の場合と同じく、Flash Cacheを追加することで、ディスクを追加する場合の数分の1のコストでパフォーマンスを大幅に向上させることが可能です。たとえば、最近NetAppが行ったMicrosoft® Exchange 2010環境のベンチマークでは、Flash Cacheを追加することでIOPS(I/O per Second)が2倍になり、サポート可能なメールボックス数が67%増加しました。このベンチマークの結果については、2010年9月に発行予定のTR-3865『Using Flash Cache for Exchange 2010』(英語)で紹介いたします。

石油 / ガス探査

科学分野や技術分野のさまざまなアプリケーションも、Flash Cacheにより大きなメリットが得られます。たとえば、大容量のインテリジェント・キャッシュを使用すると、処理スピードが大幅に上がり、石油やガスの探査の際に必要となる地震探査データセットの解析時のボトルネックも解消することができます。

成功を収めているある独立系エネルギー企業は最近、Schlumberger Petrel 2009ソフトウェアとNetAppストレージを導入し、掘削場所の可能性評価に活用しています (最近の共同ホワイトペーパーに、NetAppストレージとPetrelの連携による利点が記載されています)。

この企業は、512 GBのNetApp Flash Cacheカードを複数枚、SATAディスクドライブを搭載した5台のFAS6080ノンブロッキング・ストレージ・システムで使用しています。この共有の地殻解析データ分析環境におけるヒット率は70%でした。つまり、70%の確率で要求したデータがすでにキャッシュに存在したとことになります。それまではアプリケーションを開いてロードするだけで20分かかっていたところが、わずか5分で可能となりました。詳細については、最近のユーザ事例(英語)をご覧ください。

まとめ

NetApp Flash Cacheは追加の2次読み取りキャッシュとして機能し、多くの一般的なアプリケーションのパフォーマンスを向上させます。必要なディスクスピンドル数が少なくて済み、パフォーマンスを低下させることなく容量のみを最適化したディスクを使用することが可能となるため、コストの削減を実現できます。Flash Cacheを使用することで、ディスクドライブの数が減っても容量を大きく利用できるため、ストレージシステムの購入コストを抑え、運用に必要なラックスペース、電力コスト、冷却コストを削減することが可能です。読み取りキャッシングの効果は、NetAppの重複排除機能やFlexCloneテクノロジと組み合わせて使用することでさらに大きくなります。これは、データブロックの共有時に、キャッシュヒットの確率が大幅に向上するためです。

NetAppのインテリジェント・キャッシング・テクノロジに関する詳細については、最近のホワイトペーパー(英語)をご参照ください。

 Flash Cacheについてご意見をお寄せください。

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

Mark Woods

Mark Woods
プロダクト・マーケティング・マネージャー
NetApp

Markは、プロダクトマネジメントとマーケティングの分野で15年以上の経験があります。NetAppに入社する以前は、Hewlett-Packardでサーバ事業に携わっていました。Markはコロラド大学の電気工学課程で理学士号、テキサス大学でMBAを取得しています。

Amit Shah

Amit Shah
シニア・プロダクト・マネージャー
NetApp

Amitは、エンジニアリングおよびプロダクトマネジメントの分野で20年以上の経験があります。NetAppに入社する以前は、HP(Agilent)、Mylex、QLogic、Rhapsody Networks、Candera Systems、Unisysなど多くの大手企業および新興企業に勤務していました。Amitはラトガース大学の電気工学課程で理学士号、フェアリーディキンソン大学の電気工学課程で理学修士号を取得しています。

Paul Updike

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

IT業界で18年のキャリアを持つPaulは、さまざまなハイパフォーマンス環境、学術環境、およびエンジニアリング環境での業務に携わってきました。8年前にNetAppに入社して以来、主にData ONTAPおよびストレージシステムのパフォーマンスに関するベストプラクティスの分野で活躍しています。

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