仮想化環境のストレージに生じる5つの問題と解決法


当サイトは自動ブログ作成システムSMACで構築中。

 データセンターに新しいアプリケーションを導入する際、よく利用されるのがサーバ仮想化だ。インフラのどこかに仮想マシン(VM)を格納しなければならないが、これには外部や内部のストレージを組み合わせて使用するのが一般的だ。

 だが、あまりにも多様な機能があるため、この目的にストレージ製品を選ぶのは簡単なことではない。ストレージを正しく選ぶには、ワークロードの要件やストレージに生じやすい問題を確実に回避できるかどうかを考慮する必要がある。

 仮想サーバやデスクトッププラットフォームのストレージに生じやすい主な問題として、次の5つが挙げられる。

1. スプロール

物理サーバの購入、設置、稼働に掛かる労力に比べ、VMの作成は簡単だ。必要に応じてVMを稼働させることでビジネスアジリティは向上する。だが、その代償も大きい。あっという間に、ストレージリソースは、孤立したVMや使用されなくなったVMであふれかえることになる。例えば、ハイパーバイザーと関連付けられていないVM、起動しているのに何も実行していないVM、起動しておらず使われてもいないVM(いわゆる「ゾンビ」マシン)などがこれに相当する。

2. 効率

VMのストレージリソースは、慎重に管理しなければ制御不能なほど増加する。各VMにできるだけ多くのストレージ容量を割り当てようとするのが一般的だ。それは、後でVMのサイズを変更する手間を最小限に抑えるためだ(このサイズ変更は大きな影響を及ぼす可能性がある)。テンプレートを使用した導入では、全く使用されないリソースを過度に割り当てる危険性が伴う。

3. パフォーマンス

仮想化では、LUN(論理ユニット番号)の役割が物理サーバの導入とは逆転する。各サーバが1つ以上のLUNを受け取る環境では、仮想化はそれよりも大きなLUNを作成し、多数のVMを格納するために使用する。従って、LUNレベルのVMストレージワークロードは通常、ランダムな性質になる。複数のアクティブなVMのI/Oアクティビティが同じ物理ストレージを共有することを予測するのは不可能だからだ。I/Oのピークが非常に高いVDI環境でこの問題が特によく見られる(いわゆるブートストームなど)。

4. コスト

(GB当たりの)ストレージコストは下がり続けている。だが、実際にそれが当てはまるのはHDDで、特に大容量ドライブを使用する場合だ。フラッシュストレージはHDDに比べれば明らかに高価で、1ドル/GBという目標を実現するためのハイブリッドシステムも登場している。VM導入ではコストも重要な要素になる。コスト当たりのパフォーマンスが妥当な、正しいストレージを選ぶことが重要だ。

5. データ保護

VMの保護は必要だが、従来のバックアップ/リストア方式では仮想環境のニーズを満たせない。仮想化環境のコスト節約の基盤は、ハードウェアの統合だ。つまり、バックアップのために各VM上にエージェントを導入するのは、実用的なソリューションとは言い難い。課題は、VMのパフォーマンスと可用性に影響を与えず、ファイルとアプリケーションへのデータアクセスを細かく制御しながら、VMとアプリケーションの両方に一貫した適切なバックアップを取ることだ。

 この5つがストレージと仮想化における主な問題点だ。全ての問題に効く「特効薬」のようなソリューションは存在しないが、適切なプラクティスを実行し、ハードウェアとソフトウェアの幅広いソリューションを使用することで、いずれも解決できる。

●スプロール

 孤立VMやゾンビ/非稼働VMの問題を解決するには、VMの追跡と管理に適切なプラクティスを実践することだ。VMのリストを抽出してストレージ上のVMファイル構造と比較するスクリプトを使えば、孤立したVMを特定して追跡できる。「VMware ESXi」の場合はVMXファイルとVMDKファイルを確認する。「Hyper-V」でこれに該当するのはVHDファイル、VHDXファイル、仮想マシンを定義するXMLファイルだ。

 妥当な名前付け規則と所有者情報があれば、ゾンビ/非稼働VMの所有者をたどって、そのVMが本当に必要かどうかを確認できる。「VMware vSphere」とHyper-Vは、「PowerShell」のようなスクリプトを簡単に実行できるツールを使うことができるので、どちらのプラットフォームも所有者情報などの詳細をVMに追加することが可能だ。

●効率

 ストレージ効率を上げる方法はたくさんある。(ハイパーバイザーと外部ストレージの両方での)シンプロビジョニング、圧縮、重複排除などのテクノロジーがその例だ。ストレージ容量を最適化するには、VMのマスターイメージとそこから生成されるクローンとの差分を管理するリンククローンを使用できる。

 VMが同じイメージ(ほぼ同じイメージ)に基づいている場合、このような手法を駆使すれば、大幅な節約が可能になる。シンプロビジョニングを使用する際に気を付けなくてはならないのは、VM内でデータを正常に作成/削除できるようにするには、VMが論理上解放した物理リソースを使用しないようにすることだ。具体的には、いわゆる「デッドスペース」を取り戻すために「SDelete」などのクリーンアップタスク(時に、追加でデフラグ)を実行する。

●パフォーマンス

 パフォーマンスの問題を解決するテクノロジーは多数存在する。米PernixDataの「FVP」、米Infinioの「Accelerator」、米Atlantis Computingの「Atlantis USX」などのソフトウェアは、サーバ内のローカルDRAMキャッシュやフラッシュを使用して、I/O速度をCPU速度に近づける。これらの高速化ソフトウェアはI/O待機時間を軽減するため、特に、重複排除可能な冗長データが多数存在する環境でのパフォーマンスが向上する。米Tegileや米Pure Storageなどが提供するハイブリッド/オールフラッシュソリューションにVMを導入してもパフォーマンスを向上できる。

●コスト

 オールフラッシュソリューションのI/Oパフォーマンスが高いのは確かだが、HDDのよりも高価だ。ほとんどの仮想環境にはアクティブなVMと非アクティブなVMが混在しているので、フラッシュが適しているのはVMのアプリケーションワークロードの一部のみという場合がある。「vSphere Storage I/O Control」や「vSphere Storage DRS」などの組み込みのハイパーバイザーツールは、最も適切な場所にVMを割り当てるために使うこともできるが、使用範囲が限られる可能性がある。従って、米VMTurboのソフトウェア「Operations Manager」などを使えば、ストレージに限らず全てのリソースの使用について仮想環境を確認および最適化できる。

●データ保護

 仮想環境バックアップのセキュリティを確保する方法としては従来、ハイパーバイザーでもストレージアレイでもスナップショットが使用されてきた。この手法の問題は、スナップショットイメージの一貫性だ。米VMwareの「vStorage APIs for Data Protection」(VADP)などのハイパーバイザー機能は一貫したスナップショットを取得できるようにするが、ハイパーバイザーでスナップショットを取得するとVMのパフォーマンスが低下する。

 スイスに本拠を置くVeeamの「Backup & Replication」や米HPの「StoreOnce Recovery Manager Central」などのツールは、ハイパーバイザーの一貫性を確保するメリットと共に、物理アレイのパフォーマンスを活用してハイパーバイザーとストレージ間のスナップショットプロセスを同期する。これにより、運用ワークロードへの影響を最小限に抑えながらスナップショットを実装することが可能になる。StoreOnce Recovery Manager Centralは、VMイメージをテスト/開発目的で生成するツールとしても使える。

 VMストレージの問題に明確に対処するソリューションを幾つか挙げたが、次のような製品もある。

・VM対応ストレージ
米Tintriの「VMstore」はVMを含むファイルを認識するため、アプリケーションのパフォーマンスを向上し、容量要件を満たすことができる。

・サーバサイドストレージ
「VMware Virtual SAN」の他、米Maxta「MxSP」や米Springpath「HALO」など、VMインフラ内に仮想ストレージアプライアンスを配置するソフトウェアが挙げられる。

・VMware vSphere Virtual Volumes
さまざまなベンダーが、VMファイルを単一のエンティティにカプセル化する「VMware vSphere Virtual Volumes」(VVols)へのサポートを提供している。VVolsによって、個々のVMへのサービスレベル(パフォーマンス、容量)の適用や、外部アレイへの管理のオフロードが可能になる。