VAAIのメリット - 百聞は一見にしかず

6/11のエントリーで書いたVAAI(vStorage API for Array Integration)ですが、vSphere4.1のリリースに合わせてどっと情報が出てきています。その中で、最もわかりやすい説明+Movieだということで、こちらをご紹介します。

こちらはESX4.1にEMC Unified Storage (実体はCX4-120を使用:Unisphereについてはこちらの記事を参考にしてください)を接続した構成においてStorage vMotionを行い、VAAIありとなしでの比較を行っているMovieです。なお、VAAIの有効/無効はESXのAdvanced Settingsにおいて、DataMoverという項目が追加されており、そこで"DataMover.HardwareAcceleratedMove"というステータス値にフラグ1をたてると有効となる様です。

最初に、VAAIなしでのStorage vMotionが実演されます。Storage vMotion処理が開始されると、ESXホストを通じて仮想マシン構成ファイルの移行処理が行われるため、esxtopでDisk I/Oを参照するとvmhbaにおいてread/write両方の大量のデータが流れていることが確認できます。

つまり、これまでのStorage vMotionはESXホスト側のCPUおよびHBA、ストレージ側のSP(Storage Processer)に大きな負荷をかける処理であったということがよくわかります。
続いて、VAAIありでのStorage vMotionが実演されます。移動するセクタ情報などの通信はやりとりされるために、vmhbaを通じたI/Oがまったく発生しないわけではありませんが、VAAIなしの場合と比較すると格段の差があることがわかります。また、Storage vMotion処理に要する所要時間も大幅に短くなっていることがわかります。
わずか5分程度のMovieでありながら、このMovieがよくできてるのはここからで、Storage側のリソース使用率もしっかりと確認している点です。
まずはストレージ側のSPにおけるUtilization(%)です。VAAIなしの場合は80%近いUtilizationとなっているのに対して、VAAIありの場合は54%程度と、ストレージ側の処理性能に与える影響も低減していることがわかります。


続いてSPにおけるTotal Bandwidth (MB/s)です。こちらは完全に違いが明確です。VAAIの場合はSPを通じてI/Oが処理されますので非常に高いI/Oが行われていることがよくわかりますが、VAAIなしの場合はストレージ筐体内だけで処理が完結していますので、SPではI/Oが一切処理されていません。

先述した通りですが、ESXホスト側のvmhbaから見ても、VAAIありの場合となしの場合では通信量がまったく異なります。

VAAIの最もわかりやすいメリットはStorage vMotionや仮想マシンの複製処理などにおける処理速度の高速化ですが、ESXホストとストレージ両方に与える負荷や、ストレージI/Oが低減することによる他のストレージI/Oに与える影響の軽減など、様々なメリットがあることがよくわかります。
このMovieでは結論として、VAAIを用いることによってStorage vMotion処理は25%以下程度高速化し、ストレージ側およびESXホスト側のCPU使用率を20%以下程度低減し、240MB/s程度のストレージ通信を削減できるとしています。VAAIが実装されたことによって、ついにStorage vMotionも実用的な機能となってきたといえるのではないでしょうか。
使用するストレージ装置側がVAAIに対応する必要がありますので、場合によってはFirmwareのアップデートなどが必要になる場合もあるかと思いますが、ESX4.1と使用するのであれば、VAAIをサポートするストレージを使うメリットは大きいのではないかと思います。
(7/15:誤字脱字修正など)
(7/17:細部追記など)