みなさん、こんにちは!VMwareテクニカルトレーナーのSatokoです。
前回、ハイパーバイザが物理のCPUやメモリをどのように仮想マシンに割当しているのか、またオーバコミットとは?という話をさせていただき、大きな反響をいただきました。仮想基盤におけるCPUやメモリのリソース関連の話はとても奥が深いのですが、イメージするだけで理解が深まります。
CPUやメモリを効率よく使うのは、今までとは違った考え方で運用していく必要があります。ですが、すこしの知識を身につけることによって、限られた資源を有効活用することができます。本記事がその参考になればと思います。
vSphere におけるリソース管理の概念について段階を追ってみてみましょう。
前回までは仮想マシン単体での話がメインでしたが、今回からは仮想マシンをある単位で束ねて運用していく話をすすめていきます。そこで重要になるのが考え方がクラスタです。
クラスタについては、新入社員ブログも参照ください
クラスタ= ESXi を束ねて論理的に大きなサーバにみせることですね。
クラスタの機能を段階的に活用する例をみていきましょう。
ステップ1:クラスタの有効化
ステップ2:クラスタにおける仮想マシンの配置
ステップ3:クラスタ内で論理的にグルーピングする
ステップ1:クラスタの有効化
まず、ここで押さえておきたい用語はクラスタです。クラスタとは ESXi を束ねて大きな物理サーバとして使用していただく方法です。個々の物理サーバの管理から複数のESXiを束ねて仮想基盤を使用する手法です。
クラスタ化すると、仮想マシンはどの ESXi にのっているかインベントリー情報だとわからなくなってしまいます。これはクラスタという論理的なコンピュータ上で仮想マシンが動いていることを表しているので、どこのESXi で動いているかは、あまり気にしないで!という意味でもあります。
クラスタ化していない場合は、仮想マシンとESXi(物理的なサーバ)の紐付きがわかるように表示されています。
クラスタ化すると、この仮想マシンはこのクラスタ上で動いている!という考えにかえる必要がありますね。
このクラスタ化をすることによって使用できる代表的な機能としては、vSphere HA ( 以下HA )ですね。HA はクラスタリソースをみながら、仮想マシンを起動していきます。たとえば、クラスタの25%のCPUを余剰リソースとして確保しておく等、クラスタ全体を論理的なサーバとして、物理サーバの障害時にどうリソースを確保できるか考えます。
ステップ2:クラスタ内における仮想マシンの配置
HAの使用だけでは、クラスタ化して、ESXiを束ねてみたものの….個々の仮想マシンは物理サーバを意識して配置することになります。そこで次に出てくる課題としては、クラスタ内で、仮想マシンをどこに配置すればいいのか?ということです。
「仮想マシンは特に移行することを考慮していないので、決められた ESXi サーバに展開している」
という方、意外と多くいらっしゃるのではないでしょうか。
ただ、この手法ですと、せっかくクラスタ化したにもかかわらず、個々の ESXi に何台仮想マシンがのるか? を意識する必要があるので、物理環境とリソース管理という観点でもあまりかわりがなく、少しもったいない気がします。
HAだけだと….仮想マシンとESXiサーバの紐付きから解放されない
仮想マシンはどこにでも動いて、クラスタ内のリソースを有効に活用する 、というのが仮想基盤の大きな特徴なので、個々の物理サーバとの紐付きからの束縛から解放されたいものです。
そのため、クラスタ内のCPUやメモリの負荷をみながら、仮想マシンを最適な物理サーバに自動的に配置してくれる機能があります。(DRS:vSphere Distributed Resource Scheduler)
クラスタ=大きなコンピュータとして扱われているので、その中でどこの物理的なCPU/メモリ資源を使うかどうかは、DRS任せになります。仮想マシンが最適に配置されるということは、CPUメモリ資源の使用の偏りをなくしクラスタ全体をまんべんなく使用できる環境に整えてくれます。
DRSを使っていると、ESXi は1コンピュータリソースとして存在するだけで、仮想マシンは最適な場所で動くのです。
ちなみに弊社のお客様調査によると、このDRSを使っているお客様とそうでないお客様の統合率の差は約2倍ほどとなっているそうです。限られたサーバ資源を有効的に活用できる、といえそうですね。DRSの詳細はこちらも参照ください。
ステップ3 :クラスタ内で論理的にグルーピングする
クラスタ資源が足りなくなったら、物理サーバの追加となります。とはいいつつも….なかなかすぐに物理サーバを追加できない…という場面も考えられますね。ここで紹介したいのが「リソースプール」という機能です。
このリソースプール、クラスタ内で仮想マシン群をグルーピングすることができます。
例えば、本番系グループと開発系グループという2つのグループを作ったとします。ここでは、ESXi サーバ3台でクラスタを構築するとします。この3台で構成されたクラスタで、本番系グループと開発系グループの資源の調整がとれます。
季節的に本番系のリソースが枯渇した場合は、本番系にリソースが多く割り当てられるような設定をしたり、開発系リソースが必要な際は、優先的に開発にリソースが割り当てられる設定をすることができます。
このリソースプールを使えるようになると、クラスタリソース自体を余計にふやすことなく、クラスタ内で資源の調節することも可能になります。このリソースプールはDRS機能が必須になりますので、方法2についてももちろん自動的に実施されています。
いかがでしたでしょうか。今回はクラスタの概念からはじまり、限りあるリソースを有効的に活用できる機能であるDRSやリソースプールをみてきました。イメージがつかめたところで、次回からは設定方法やリソースプール作成の際に知っておきたい話をしていきますね。お楽しみに!!
vSphereのリソースプール活用術
第1回:クラスタのおさらい (本記事)
第2回:リソースプールを活用しよう -設定編-
第3回:リソースプールを活用しよう -管理編-
VMwareテクニカルトレーナーよりワンポイントアドバイス 過去の記事
第1回:VMware vSphereにおけるCPU・メモリの考え方編
第2回:シェアと予約を押さえよう!
執筆協力
VMware Partner SE 中村朝之