仮想化とストレージの関係

前回は、ストレージシステムを革新したベンダーとその技術を紹介しました。6回目となる本稿では、より現代的なデータセンターの象徴である仮想化とストレージについて掘り下げていきます。その中で、仮想環境およびフラッシュメモリに適したストレージを考える上で重要なポイントを解説しましょう。

仮想化、仮想マシンのパイオニア – VMware

VMwareは仮想環境をデータセンターのプラットフォームとして確立したパイオニアです。ベアメタル(物理)のx86サーバー上に「ESXi」というハイパーバイザーを載せ、WindowsやLinuxなどのOSを仮想マシン(仮想サーバー、仮想デスクトップ)としてホスティングすることで様々なワークロードをサーバー上で稼働させます。これにより、最新マルチコアのCPUを最大限に活用することができます。仮想マシンなので素早く立ち上げられ、不要となればサーバーから削除するのも簡単になりました。vMotionと呼ばれる仮想マシンのサーバ間の移動も簡単にできるようになり、vSphere HAによって簡単に可用性の高いシステムを構築できるようになりました。

このvMotion,vSphere HAは複数のサーバーからアクセスできる外部接続型の共有ストレージを必要としたため、VMware環境に多くのNAS,SANストレージが導入されました。

仮想マシン+LUNの限界

このVMwareがハイパーバイザーである「ESX」と同時に開発したのが、「VMFS(Virtual Machine File System)」です。従来の物理ストレージにおけるLUN(Logical Unit Number)をVMFSでフォーマットしてデータストアを作成し、その中に複数の仮想マシンのディスクイメージファイルVMDK(Virtual Machine Disk)を収容できるようにしたもので、ストレージ技術と仮想化技術の橋渡しをしてくれる優れたアイデアでした。しかし仮想化が広く使われるに従って、下記のような弊害が出てきたのです。

  • LUN単位の管理しかできず、仮想マシンごとの細かな制御ができない
  • 物理ストレージと仮想ディスクの双方にて管理が必要になり煩雑
  • LUNに収容されるVMDKへのアクセスは、仮想マシンが個別に実行するため性能が一定ではない
  • SSD、HDDなどが混在するストレージ環境において、仮想マシンの要求するパフォーマンスや容量を個別に管理する必要がある
仮想マシンとLUNの限界
仮想マシンとLUNの限界

ここで起きる問題のひとつが、「ノイジーネイバー問題」です。ある仮想マシンが、高負荷なベンチマークを流し始めたり、バックアップが実行されることで、これは同じデータストアやRAIDグループに格納されている他の仮想マシンが影響を受けて必要な性能が確保できない状況を指します。

この問題はHDDを主とした従来型のNASおよびSANストレージによく見られた傾向ですが、最近のSSDなどを使ったオールフラッシュストレージやHCI(ハイパーコンバージドインフラストラクチャ)でも同じ課題を持ちます。

また、性能影響やスナップショットを考慮して数TBごとにLUNやVolumeを区切り、その中に数十VMずつ仮想マシンを配置するなど管理面も煩雑になりがちでした。

これらは、多くの仮想マシンがひとつのLUNを共有する仕組みのSANストレージでは避けられない問題です。

ノイジーネイバー問題
ノイジーネイバー問題

VVOLの登場

こうした課題を克服するために開発されたのが、VMware vSphere 6.0で登場した「VVOL(Virtual Volumes)」です。

VVOLを利用するためには、ストレージ製品がVVOLに対応しており、VMware vSphere 6.0以降の仮想化基盤を使う必要があります。VVOL Datastoreという名の新たなストレージコンテナーをつくり、VMDKごとにLUNオブジェクトを格納する形になりました。これにより、ひとつのLUNに多くのVMDKが混在するという問題は解決されたのです。

しかしながら、VVOLは仮想マシン数、仮想ディスク数(VMDK)の増加や、スナップショットの倍数でLUNを多量に消費することから、数百~数千といったLUNを構成できないSANストレージの制限により、大規模な仮想化の実装が難しいことがあります。よって、実装するにあたり、SANストレージのLUN制限数を予め確認しておくことが重要です。

VVOLの役割
VVOLの役割

前回紹介しましたが、外付けストレージではなくサーバーに直接装着されたストレージを、クラスター単位でSANとして扱う「VSAN(Virtual SAN)」も登場しています。特長としては、別のソフトウェアではなくハイパーバイザーに完全統合されている機能であることから、vSphereの管理ツールであるvCenterからの一元的な管理が可能です。

仮想化に特化したストレージ – Tintri

仮想化に適したしたストレージは、どういった特性を持つべきでしょうか。VMwareが実現したサーバーの仮想化とLUNの中に複数の仮想ディスクが混在する方法では、現代のニーズには応えられませんでした。仮想化に特化したストレージは、下記の要件をおさえていなければいけません。

  • 仮想マシン単位でストレージが構成でき、管理ができる。
  • 仮想マシン単位、仮想ディスク単位にストレージの容量、性能の情報を可視化できる。
  • 数百台から数千台の単位で起動される仮想マシンのストレージを管理できる
  • SSDやHDDのなどが混在するシステムでも性能および容量を最適化できる
  • QoSを設定できる

これらを実現するのが、Tintriの「VMstore」です。VMstoreは、従来型のストレージとは全く異なり、仮想化環境を前提にしたストレージ製品です。VMstoreの主な特長として、以下が挙げられます。

  • 仮想環境およびフラッシュメモリに特化したファイルシステムを持ったNAS
  • 仮想マシン単位でスナップショットやレプリケーションできる。
  • 仮想マシン管理データベースを持ち、リアルタイムで可視化し分析
  • 仮想マシン単位にIOレーンを持ち自動または手動で性能を最適化
  • オールフラッシュモデルのT5000と、SSDとHDDのハイブリッドT800シリーズ

VMstoreは、アプライアンスとして提供され、NFS/SMBプロトコルでアクセスするNASです。つまり、ストレージ側にOSとファイルシステムを持つインテリジェントなストレージサーバーとも言えます。

仮想ディスクを収容するため、およびフラッシュメモリの長所を活かし寿命や性能低下などの短所を克服するために特化したファイルシステムを持っています。仮想マシンが安定して動作し、仮想化ハイパーバイザーと連携して状況を細かに把握でき、バックアップやレプリケーションが仮想マシン単位で管理できる特徴があります。

仮想化環境を前提にしたTintriの「VMstore」
仮想化環境を前提にしたTintriの「VMstore」

また、仮想マシン毎にIOのレーンを持ち、他のストレージで見られるIOキュー待ちが発生せず、各仮想マシンが安定して動作するよう、自動で性能を最適化します。
仮想マシン単位に手動でQoSを設定することも可能で、性能を抑えつける上限設定だけではなく、性能を引き上げ保証する下限設定も可能です。

vSphere環境で言えば、前述したVVOLが実現したかった仮想マシン単位のストレージ管理を、VVOL登場よりもずっと以前からNFSデータストアで実現しています。

仮想マシン単位の管理/性能自動最適化と、上限/下限QoS
仮想マシン単位の管理/性能自動最適化と、上限/下限QoS

また、仮想化はVMwareのハイパーバイザーだけではありません。Microsoftが提供する「Hyper-V」やRed Hatが提供する「Red Hat Virtualization」など、様々なハイパーバイザーがあります。そのような複数の仮想化基盤においても、Tintri VMstoreは同様に仮想化に特化したストレージとして使うことができます。

このように、Tintriは仮想化とフラッシュメモリと言うデータセンターの2つの大きなトレンド両方に適したストレージといえるでしょう。

*  *  *

VMwareが提供した仮想化基盤とそれに対応したストレージ、仮想マシンとストレージの問題点、仮想化に特化したストレージとしてTintri VMstoreの概略を紹介しました。フラッシュメモリを単にローカルストレージやキャッシュとして使うだけでは、仮想化されたデータセンターのニーズにはマッチしないことをご理解いただけたと思います。次回は、いま求められるストレージの選択方法について解説します。


※本ページは、『マイナビニュース』へ掲載された記事広告を転載しています。