連載
» 2010年10月06日 00時00分 公開

VMware vSphere 4.1の進化を探る(3):VMware vSphere 4.1 のストレージ機構 (1) VAAI (1/3)

VMware vSphere 4.1では、共有ストレージ装置が保有するさまざまな機能を、ハイパーバイザと連携させることで有効活用するための機能が搭載された。これがVAAI(vStorage API for Array Integration)だ。今回は、現時点でどのような連携が可能なのかを具体的に解説する。

[齋藤康成,ヴイエムウェア株式会社]

共有ストレージ装置との連携の必要性

 仮想化を進めれば進めるほどストレージの重要性が増す。これはほぼすべてのITインフラ管理者が実感していることだろう。共有ストレージ装置の活用は仮想マシンを活用する上で不可欠の要素であり、運用のあらゆる場面でストレージ装置へのアクセスが行われている。一方で、近年のストレージアレイ装置はさまざまな機能を保有している。データの複製や移動、効率の良いロック機構など、さまざまなインテリジェントな機能がストレージのハードウェアやファームウェア側に実装されている。VMwareでは、これらストレージ装置側が保有するさまざまな機能を、ハイパーバイザと連携させることで有効活用することはできないかと考えた。これを実現するための機構がvStorage API for Array Integration(以降VAAIと略記)である。本稿ではvSphere 4.1の新機能の1つであるVAAIについて紹介する。

仮想マシンの操作とディスクI/O

 先述の通り、仮想インフラストラクチャの管理・運用には多くのストレージ操作が伴う。例えばテンプレートから仮想マシンを展開する場合は仮想マシンのディスクイメージファイル(VMDKファイル)の複製処理が発生する。また、仮想ディスクのある領域をゼロで埋めるという処理は運用のさまざまな場面で実行されている。これらの処理は単純なDisk I/Oという形で実行されている。

 例えば仮想マシンの複製処理を行う場合、複製元となる仮想ディスクのデータはいったんハイパーバイザによって読み込まれ、ディスクに書き込まれる(図1)。仮想ディスクに記録されているデータ容量分のRead I/OとWrite I/Oが発生し、ストレージネットワーク上にはそのトラフィック(データ容量×2)が流れる。

図1 仮想マシンの複製処理。データはいったん物理ホストまで到達してから再度書き込まれる 図1 仮想マシンの複製処理。データはいったん物理ホストまで到達してから再度書き込まれる

 ここでもし、ストレージ装置側が保有するデータコピー機能を活用することができたとしたらどうなるだろう? ハイパーバイザはストレージ装置に対して特定の領域のコピー命令を発行する。それを受けたストレージ装置はストレージ装置内でそのデータコピーを実行する(図2)。

図2 ストレージ装置との連携。データコピーはストレージ装置内で実行される 図2 ストレージ装置との連携。データコピーはストレージ装置内で実行される

 後者の方法の場合、当然のことながら物理ホストとストレージ装置間を流れるデータトラフィックは大幅に少なくなり、ホスト側で消費されるCPUサイクルも減少する。また処理時間についてもストレージ装置側のハードウェアを活用できるため短くなることが期待できる。

 このように、ストレージ装置との密な連携を行うことによって、ストレージ装置側の持つ機能を有効活用しようというアイデアがVAAIである。

VMFSと排他制御

 ファイルシステムのスケーラビリティという観点においても、ストレージ装置との連携が期待できる場面がある。

 vSphere環境ではVMFSと呼ばれるファイルシステムが利用されている。VMFSは複数のESXホストから共有可能なファイルシステムであり、vSphere環境を構築する上で極めて重要な役割を担っている。

 ファイルシステムを複数のホストから共有して利用している以上、データの整合性を担保するための何らかのメカニズムが必要となる。このためファイルシステムのメタデータの更新が必要とされる操作については排他制御を行っている。

 VMFSの排他制御にはSCSI-2のディスクリザベーションと呼ばれる技術が利用されている。メタデータの更新を伴うディスク操作にはさまざまなケースがあるが、仮想マシンの新規作成、仮想マシンのパワーオン、REDOファイルの伸長処理などが代表的である。これらのタイミングでメタデータの更新が行われるが、このときESXホストはSCSI-2のリザーブ/リリース処理を実行することで排他制御を実現している。

 SCSI-2リザベーションはディスク単位(LUN単位)で動作するロック機構であるため、スケーラビリティという観点ではあまり効率の良い方法ではない。vSphere 4.1環境では単一データストアを最大64台(DRSを利用する場合は32台)のESXで共有することがサポートされているが、これ以上のスケーラビリティを確保するには、より効率の良い排他制御機構が必要とされている。

図3 VMFSの排他制御にはSCSI-2のディスクリザベーションが用いられている 図3 VMFSの排他制御にはSCSI-2のディスクリザベーションが用いられている

 従って、LUN単位のロック機構ではなく、より粒度の細かいロック機構を用いることで、ファイルシステムのスケーラビリティの向上を期待することができる。最近のストレージ装置には、セクタ単位のロック機構を保有しているものがあるため、VAAIではこれを利用する(図4)。

図4 VAAIを用いてセクタ単位でロック処理を行うことで、影響範囲を最小限にとどめることができる 図4 VAAIを用いてセクタ単位でロック処理を行うことで、影響範囲を最小限にとどめることができる

vSphere 4.1における実装

 VAAIではさまざまな機能のインテグレーションが計画されているが、vSphere 4.1では以下の3種類の機能を実装している。

(1) Full Copy

 ストレージ装置内におけるデータコピー処理を、ストレージ装置側が保有する機能で実行する。ESXホストとストレージ装置の間は制御命令のみのやりとりが行われ、実データは流れない。VMのクローンの作成、テンプレートからのVMの展開、VMのデータストア移行(含Storage vMotion)のときなどに活用される。

(2) Block Zeroing

 領域をゼロで埋める処理を、ストレージ装置側が保有する機能で実行する。ESXホストとストレージ装置の間は制御命令のみのやりとりが行われ、実データは流れない。VMware FTで利用するVMの新規作成、MSCS構成にするVMのディスク作成のときなどに活用される。

(3) Hardware Assisted Locking

 VMFSのメタデータ更新を行うとき、ストレージ装置側が保有する粒度の細かいロック機構を用いる。これによりSCSI-2リザベーションの使用頻度を極力低く抑える。VMFSのスケーラビリティ向上に寄与する。

 それでは個々の機能について詳細を見てみよう。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。