プライベートクラウドストレージのパフォーマンスを保証する5つのポイント

プライベートクラウド環境、流動的でワークロードの予測が困難な環境は、基盤となるストレージインフラストラクチャーに多くの課題を与えます。ストレージが常に安定したパフォーマンスを保証することまで、特に重要な5つのポイントを浮き彫りにしました。


今回のポイント

  • プライベートクラウド環境は流動的であり、様々なアプリケーションを実行しています。これらのアプリケーションへの細かい見える化ができなければ、パフォーマンスを管理することは困難です。
  • TintriはLUN単位ではなく、VM(仮想マシン)単位での管理や運用が可能です。従来のストレージとは比較できないほどはっきりとした見える化を実現しています。

プライベートクラウド環境は流動的で、様々なアプリケーションを実行しています。VDI、開発検証、データベース、データ分析などを実行しているユーザーは常に新しいワークロードを実行しています。さらに、バックアップ、スナップショット、データ複製などの計画的なデータ保護はストレージに多大な負担を与えます。

アクセスを連続的に実行するワークロードもあれば、ランダムに行うものもあります。リクエストサイズ(16KB未満)が小さいものもあれば大きいもの(256KB)もあります。またシーケンシャルアクセスによるスループット重視ななものと、ランダムアクセスが伴うレイテンシ重視なものがあります。この複雑なI/Oの挙動に加え、I/Oタイミングの集中も起きえます。

プライベートクラウドに適したストレージを選択する際、考慮すべきことは?

ポイント:流動的で予測困難な環境下では、手動によるパフォーマンス調整は管理の負荷が膨大になってしまいます。低いレイテンシ、高いIOPS、ハイスループットを安定して提供するには、ストレージの設計を常に見なおして変更する必要があります。

従来のストレージではここが問題でした。従来のストレージによる管理では適切なサイジングや事前に定義された、静的なワークロードに合わせてLUNを作成しています。一度構成されると、ストレージ構成を変更することは面倒です。プロビジョニング時の前提は無効となり、計画が変わる可能性があるため、実際には多くの管理者はパフォーマンスを向上させるためにLUNを再設計します。時には多少オーバープロビジョニングすることで設計のタイミングを減らすことも考えますが、その場合はストレージ容量が無駄になってしまいます。

では、そのような動的な環境下で、管理負荷を最小限にしながらもストレージのパフォーマンスを保証することはできるのでしょうか?

5つのポイントをご紹介します。

1. 見える化(エンドトゥーエンドのレイテンシの分析)

低いレイテンシ、高いIOPS、ハイスループットを一貫して提供するという期待にこたえられるようなハイパフォーマンス ストレージであっても、問題がまったくないとは言い切れません。ホストCPU、メモリ、ネットワーク、ストレージをはじめ、プライベートクラウド環境のあらゆる場所で障害が発生しうるのです。

それゆえ、インフラストラクチャーの見える化は非常に重要です。I/Oのレイテンシやその分析について端から端まで瞬時に理解し、レイテンシの問題やその根本的原因を瞬時に特定する必要があります。Tintriは、各アプリケーション、vDisk、VMについてホスト(サーバー)、ネットワーク、ストレージのそれぞれに対してリアルタイムでのレイテンシの見える化を提供します。

2. 各アプリケーションのパフォーマンスのレーン分けとQoS(サービス品質の保証)

I/Oの適正なスケジューリングと低レイテンシを保証し、必要なパフォーマンスのレーン分けとQoSを提供するには、ストレージはアプリケーションを理解している必要があります。

とりわけ、ユーザーがVMでいかなるワークロードも実行しても良いようなプライベートクラウド環境では、他のVMからパフォーマンスリソースを奪うVM、すなわちノイジーネイバー(うるさい隣人)問題を穏便に解決したいことでしょう。

Tintriは、vDisk単位でパフォーマンスを細かく隔離することができ、異なるvDiskやVM上で、アプリケーションはお互いに快適に稼働し続けます。TintriのVM単位でのQoSにより、管理者やクラウドサービスプロバイダーはVMについてIOPSの最小値と最大値を手動で設定することも可能で、ストレージのパフォーマンスリソースを自在にコントロールできます。これはサービスレベルを設定することにも利用できます。

3.Flash Firstアーキテクチャー

SSDはハードディスクとはまったく違った読み書きの挙動をします。SSD内のフラッシュトランスレーションレイヤは予測不可能なレイテンシスパイク(時には数百ミリ秒)を引き起こすウェアレベリング、ページリマッピング、ガベージコレクションなどの内部作業を行います。意外なことにも、これはハードディスクの動作よりも遅いのです。

SSDを搭載するストレージであれば、SSD向けのI/O処理を考慮してストレージ設計を行っていることが重要です。一貫して低いI/Oレイテンシをお客様に保証するアルゴリズムを実行するには、動作の複雑さを理解しなければなりません。これらの技術は特定の方法によるSSDの書き込みから、リクエストの慎重な切り分け、I/Oのスケジューリングなど多岐にわたります。レガシーのハードディスクベースのストレージにフラッシュを単に入れ替えるだけでは、フラッシュの持つパフォーマンスをフルに活かすことが出来ず、書き込み寿命も短くなってしまいます。

Tintriは、フラッシュや仮想アプリケーション用にファイルシステムをゼロから設計しました。

4. アプリケーションのワーキングセットに対する理解

オールフラッシュストレージであっても、低レイテンシを保証するには、メタデータをメモリの中に蓄える必要があります。ストレージが(メモリではなく)フラッシュからメタデータとデータの双方について読み込むことは好ましくありません。

Tintriのファイルシステムは、仮想ディスクやVMを自動的に最適化するように作られており、各アプリケーションのアクセスパターンやワーキングセットについ深い分析を行っています。Tintri by DDNでは、この分析結果を用いてメタデータへの速いインメモリアクセスを提供しています。SSDとHDDを用いたハイブリッドのストレージについては、ワーキングセット情報を用いて、SSDとHDDの間のアプリケーションデータの配置を管理し、オールフラッシュと同等のパフォーマンスを実現しています。

5. 効果的なインライン重複排除と圧縮

どこでどのように重複排除と圧縮が行われるかがパフォーマンス向上のキーになります。重複排除や圧縮によって、一貫した低レイテンシや高パフォーマンスが阻害される状況は避けなければなりません。実行方法により、重複排除や圧縮はオーバーヘッドとなり、I/Oのパフォーマンスに影響を及ぼすことがあります。

例えば、ホスト側で実行されるポストプロセスの重複排除や圧縮は、より多くのI/O負荷をストレージに加え、言うまでもなくホスト側の演算処理に負荷を与えてしまい、プロダクションI/Oに影響を及ぼします。

Tintriはストレージ側でインライン重複排除や圧縮を行うため、ホストに負荷の掛からない仕組みをとっています。さらに低レイテンシや高いIOPS、ハイスループットを達成するため、重複排除や圧縮を最適化しました。