皆様こんにちは。前回は、vSphere のEnterprise エディションで提供される機能によりストレージの能力を最大に活用する方法をお伝えいたしました。引き続き、「押さえておきたいvSphereの基本」と題して、“ストレージを自動的に整える”方法をお伝えします。
ストレージを自動的に整えるとは、どういうことでしょうか?ストレージの能力/性能が最大限に活用できるようになれば、より多くの仮想マシンをストレージ上に配置できるようになります。しかしながら、仮想マシンのI/Oが競合し、ストレージの能力を超えてしまった場合には、仮想マシンのパフォーマンスは悪化してしまいますので、ストレージに対して性能や容量を整える工夫が必要になってきます。
■ストレージを整える
様々なサービスを提供する仮想マシンは、仮想マシン毎にI/O 数、レスポンスタイム、スループット、容量などストレージに対する要件が存在します。仮想マシンが安定して稼働するためには、きちんと仮想マシンの特性を理解して、バランスよく配置することが求められます。例えば、午前にI/O 要求が高まる仮想マシンと午後にI/O 要求が高まる仮想マシンを同一データストアに配置するという形になります。ところが、実際の仮想化環境というのは時間、分、秒といったもっと細かい粒度で稼働状況が変化していきます。また、仮想マシンの増減やシステムを利用するユーザの増減などによっても、CPUやメモリと同じようにストレージの要件は時間の経過とともに変化していきます。そのため、すべての仮想マシンの稼働状況を把握し、IT管理者の方が手動でバランスよく配置し続けることは作業負荷が重くなってしまいます。vSphere のEnterprise plus エディションでは、そのような課題を解決する機能を提供しております。
具体的な例を見ていきます。こちらの図1では、5つの仮想マシンが3台のホストと1つのデータストア上で稼働をしています。ホストは分散されておりますが、データストアは1つのみであり、5つの仮想マシンはこのデータストア上に配置されています。各仮想マシンは、稼働状況に応じて必要なI/Oを発行していますが、あるタイミングでストレージの能力を超えるI/Oが仮想マシンから発行された場合、ディスクI/Oに関する資源の取り合いが発生し、仮想マシンのパフォーマンスが劣化してしまう、またはそのデータストアに配置される仮想マシン全体に影響してしまうことも考えられます。パフォーマンス劣化する仮想マシンが、重要であればあるほど、問題が大きくなりますので、そのようなことが起きたとしても、影響をできるだけ少なくする必要があります。それが、仮想マシンのI/O優先順位を”整える”という機能(Storage I/O Control)です。
図1:複数の仮想マシンがデータストアを共有する= IOリソースの共有
この機能はストレージの能力に余裕がある場合では発動しませんが、ストレージの能力が枯渇した際(競合状態)に発動されることになります。図2のグラフは、仮想マシンのI/O優先順位を整えるよう設定した各仮想マシンの稼働状況になります。Phase1~3 は、いずれもストレージの能力が枯渇している時間となっており、単一ホストではなく、複数のホストに跨っていても状況を理解し、優先順位に応じて各仮想マシンからのI/O が整えられています。
各仮想マシンの優先順位は予めVM5(4000) >>> VM3,4(750) > VM1,2 (500) としております。
()内は仮想マシンに設定したシェア値です。
Phase2 の時間帯では、非常に高い優先順位を設定している仮想マシン(VM5)がシャットダウンされたことにより、使えるストレージ資源に空きが生じます。稼働している他の仮想マシンは、Phase1 の時より多くのストレージ資源を使えるようになっているため、各仮想マシンのパフォーマンスが向上しています。そして、再びPhase3 でVM5を起動すると、ストレージ資源が優先的にVM5 に提供されるようになります。仮想マシンのI/Oを整えることにより、ストレージ資源を有効活用し、たとえ枯渇したとしても、vSphereの機能で影響を最小限にすることできます。
図2:シェア値(優先度)の違いにおける負荷の様子
仮想マシンのI/Oの優先順位を整えるという説明をしてきましたが、Storage I/O Controlはストレージが一時的に資源不足になった際の対応策となります。常時発動されているという状況は配置している仮想マシンに対して、常にストレージの資源が足りていないということになりますので、恒久的な対策が必要になります。
例えば、1つのストレージ(データストア)の能力を上げるという方法もありますが、vSphere のEnterprise plusエディションでは、ホストと同じように複数のデータストアをデータストア クラスタとして、”束ねる”ことができます。データストア クラスタに資源が足りなくなった際、新たにデータストアを追加し、データストア クラスタのトータルの資源を簡単に増加させることが可能になります。例えば、100iops,100GBの資源を提供可能なデータストアが3つ登録されているデータストアクラスタは、300iops,300GBのひとつの資源と考えることができるようになります。
さらに自動的にこのデータストアクラスタを有効活用できるStorage DRS という機能を使用すれば、データストア クラスタ内(複数のデータストア間)で、過去の統計情報を基に負荷や容量を自動的に整えてくれます。自動的に整えられる際は、第1回でご紹介したStorage vMotion を使用し、システム停止させることなく行われます。※ホストのDRS と同様に手動モードで実施することも可能です。
仮想化環境において、ストレージ環境を整える機能を活用することにより、ストレージの負荷や容量を監視しながらの仮想マシンの配置、移行といったIT管理者の負荷を減らす事ができ、仮想環境の特性を活かしたより有効的な使用ができるようになります。
■まとめ
今回、vSphere Enterprise plus エディションで提供している機能(ストレージに対する負荷や容量を自動的に整える機能)をご紹介させていただきました。主にESXiが10台以上となる環境では積極的に使用していただきたい機能になります。人間で例えると骨盤のずれで偏りができてしまうと、肩こりや頭痛など体全体の調整を崩してしまったり、本来のパフォーマンスが出せなかったりすることがあるかと思います。この「ズレや偏り」を治すため、整体やマッサージ等コンディションを整えたりします。ストレージでも同様、IOや容量の偏りが原因でシステム全体に影響がでてしまい、本来もっている能力を出せないことは非常にもったいないことです。是非vSphereの機能を有効活用していただき、仮想基盤のコンディション(すなわちパフォーマンス)をさらに高めていただければ幸いです!!
VMware青山健二/中村朝之
「押さえておきたいvSphereの基本」
~ストレージ編~
1.マニュアル操作でストレージ環境を最適化
2.ストレージと連携してパフォーマンスを最大化
3.優先度の定義付けと自動化
~ネットワーク編~
1.ホスト単位でネットワークを構築する 〜標準スイッチ編〜
2.スケーラブルで高機能なネットワークを構築する 〜分散スイッチ編〜
3.仮想化環境でL3-L7 サービスを提供する 〜vCloud Networking and Security〜
~可用性編~
・物理リソースの有効活用と仮想マシンの最適配置~DRSとリソースプール編~
・システム障害に備える仕組み~vSphere HAとFT編~
vSphere