みなさん、こんにちは! VMware 新卒 SE の野田です。
少しずつ vSphere について、理解が深まってきているのではないでしょうか?
第4回目は管理者にうれしい、仮想マシンの配置に絶大な効果を発揮する機能 vSphere Distributed Resource Scheduler (以下 DRS )をご紹介します。
〜はじめに〜
DRS というのは” Distributed Resource Scheduler “という単語の頭文字を繋げた略称です。訳すと“分散リソーススケジューラ”となります。 ESXi サーバの物理リソース CPU /メモリを効率的に使いましょう!そんな感じ感じの解釈をされた方もいるのではないでしょうか。果たして DRS とはどんな機能なのか?見ていきましょう。
その前に、まずは前回登場したクラスタのおさらいです。
クラスタの構成
vCenter Server の配下にある複数の ESXi サーバを論理的にグループ化し、 ESXi サーバ群を作ります。このサーバ群を協調動作させる仕組みを”クラスタ”と呼びます。
クラスタとして一つにまとめられたサーバ群は、あたかも一つの大きなリソースであるかのように扱うことができました。前回の例では図1のようにクラスタは一つの大きなコンピュータのように扱える、とご説明しました。このクラスタの構成が、今回ご紹介する DRS には必須となってきます。
では、本題に入ります。ここから少しの間、社会の IT 管理者になったつもりで考えてみてください。
【状況】
あなたは IT 管理者として自社の仮想基盤の整理を任されています。今、自社の仮想基盤では10台の ESXi サーバ上で100台の仮想マシンが動いています。(図2参照)
あなたの会社がある新規サービスを立ち上げるため、仮想マシンを展開することになりました。しかし自社の ESXi サーバはリソースが飽和状態のものや時間帯によって大きく変化したりと様々です。(仮想環境は生き物です)
課題1. どこの ESXi サーバ上で新規の仮想マシンをパワーオンすべき?
おそらく ESXi サーバ1台1台のリソースの消費具合を確認し、展開先の ESXi サーバを探そうと考えたのではないでしょうか。 ESXi サーバの台数が多くなればなるほど、各 ESXi サーバのリソースを調べるのにも大変な労力と時間を消費します。見つかったとしてもすぐ負荷負荷状況が変わる可能性もあります。困りました…。
課題2. ESXi サーバ間に負荷の偏りが出てきた場合(図3参照)
手動で仮想マシンを他の ESXi サーバに移行して ESXi サーバ間の負荷の均衡をとります。移行先の ESXi サーバのリソースに余裕があればよいですが、どの ESXi サーバにどの仮想マシンを移行すればよいのか?判断が難しい。困りました…。
課題3. 物理サーバのメンテナンスやハードウェア交換、パッチの更新やメンテナンスの時期
各 ESXi サーバのリソースを調べながら、手動で仮想マシンをリソースに余裕のある ESXi ホストへ移行していくのも根気のいる作業。こちらも課題2と同様、どの ESXi サーバにどの仮想マシンを退避したらいいのか?もちろん移行先にある仮想マシンに影響がでないようにしなくては…。
せっかく仮想基盤にしたにもかかわらず悩ましい課題がでてきてしまいました。こういった状況で存在感を示すのが「 DRS 」という機能です。先ほどクラスタは複数の ESXi サーバを、一つの大きなコンピュータ(リソース)として扱える、と説明しました。管理者はクラスタ上に仮想マシンが存在する!と意識しておりますが、実際どこの ESXi サーバ上に仮想マシンが配置されるかはこの DRS にお任せできてしまいます。
課題1. どこの ESXi サーバで新規の仮想マシンをパワーオンすべき?
⇓
DRS によって、仮想マシンはクラスタ内で最適な ESXi サーバ上に自動(もしくは管理者が承認後)で展開されます。
課題2. ESXi サーバ間に負荷の偏りが出てきた場合
⇓
負荷の偏りが発生した時点で、自動(もしくは管理者が承認後)で適切な ESXi サーバ上に移行されます。(図4参照)
課題3。物理サーバのメンテナンスやハードウェア交換、パッチの更新やメンテナンスの時期
⇓
物理サーバメンテナンス時も、 ESXi サーバをメンテナンスモードにすることによって、仮想マシンの再配置を自動的に行ってくれます。
このように、 DRS は仮想マシンをどの ESXi サーバ上へ展開するか?といったことを考える必要はなく、単にクラスタに仮想マシンを展開するといった感覚で仮想マシンの展開を可能にしています。課題1~3について考慮する必要は無くなりますね。
どうですか?クラスタ単位で考えると、今まで以上に仮想基盤を有効に使う事ができるかもしれません。
〜 DRS の設定〜
では DRS の設定を行ってみましょう。 DRS として仮想マシンの再配置が行われるタイミングは以下の2つです。
A )仮想マシンのパワーオン時
B )クラスタ内のリソースに偏りが生じたとき
この2つに意識しながら、 DRS の設定を行います。
DRS の設定で特徴的なのが「自動化レベル」と「移行のしきい値」です。 DRS を有効にしても仮想マシンを移行するタイミングは自分で確認したい!という方には自動化レベルの設定が役に立ちます。
自動化レベル
DRS には以下3種類の自動化レベルが提供されています。
●完全自動化
仮想マシンをパワーオンすると、仮想マシンが最適な ESXi サーバに自動で移行されます。また、 DRS がクラスタ内の負荷の偏りを検出し、自動で仮想マシンの移行を行ないます。 IT 管理者は仮想マシンがどの ESXi サーバで動いているかあまり意識しません。自動化レベルの設定ではこの完全自動化がデフォルト値となっています。
●一部自動化
仮想マシンをパワーオンした段階は、完全自動化と同じくDRS により仮想マシンが最適なホストに配置されます。しかし、クラスタ内のリソースに偏りが出てくると、仮想マシンの移行推奨が表示され、IT管理者が承認後、仮想マシンの再配置が行われます。
●手動
この場合、自動的な仮想マシンの移行は行われません。つまり、仮想マシンをパワーオンすると、推奨の ESXi サーバのリスト表示、またクラスタのリソースに偏りが出た場合、仮想マシンの移行を推奨する表示がされ、いずれもIT管理者の承認後仮想マシンの配置、再配置が行われます。
では DRS が発動するタイミング B )のクラスタのリソースに偏りが出た場合ですが、少しの偏りでも再配置をするのか、大きく偏りが出た場合に再配置をするのか?を定義するのが「移行しきい値」です。
移行しきい値
クラスタ内の ESXi サーバ間のリソースの偏り具合によって移行するかしないかを決定します。この決定する値のことを移行しきい値と呼びます。図7に示す通り、しきい値は1(保守的)〜5(積極的)までの5段階あり、デフォルトは3に設定されています。しきい値1はメンテナンスモードと呼ばれ、仮想マシンの再配置はメンテナンスモードが実行された際のみ行なわれます。移行しきい値は、値が大きくなるにつれ、少しの偏りでも仮想マシンの再配置(積極的な再配置)が行なわれるようになります。
再配置先を限定する〜ホストアフィニティ〜
DRS を使用すると、仮想マシンの再配置先はクラスタ上の全ての ESXi サーバとなります。ここでゲストOSで使用しているソフトウェアライセンスの関係上等で、再配置先の ESXi サーバを限定したい!というご要望があるかと思います。このような状況で役に立つのが、 DRS のホストアフィニティという機能です。前もって仮想マシンをグルーピングしておき、その仮想マシンが動く ESXi サーバを限定することでソフトウェアライセンスの節約や、仮想マシンの所在をはっきりさせておくことも可能となります。また、このグルーピングは DRS のみならず、HAの時にも有効に働きます。
まとめ
DRS についてご紹介しましたが、いかがでしたでしょうか? DRS でできることを一度ご理解いいただくと、この機能にきっと魅力を感じると思います。そして一度でも DRS を使ったことがある方は「 DRS がない環境はちょっと大変…と思われているかもしれません。ちなみに、VMwareでは事例を紹介しております。こちらのお客様 、4台の物理サーバ上に130 VM (統合率32.5)を稼働させ、リソースを有効に使用させてさせております。是非こちらのお客様のお声もご参照ください。
DRS を使用されているお客様にうかがうと、「この機能はやはり便利♪」とおっしゃっておりました。今後もこの DRS の魅力を理解しながら、仮想基盤のリソースを更に有効に、またもっと楽に管理して頂ける様、私自身も vSphere の魅力をご紹介していきたいと思います。
次回もお楽しみに!
– VMware SE 野田裕二
新卒 SE 社員が贈る vSphereのキソ!
第1回 vSphereを俯瞰する
第2回 仮想環境におけるネットワークとストレージ
第3回 vMotionとvSphere HA/vSphere FTの違いとは?
第4回 仮想マシンの配置管理はDRSにお任せ!
第5回 様々な仮想マシンが混在&混雑しても大丈夫!?ネットワーク と ストレージの帯域を維持する仕組み
第6回 vSphere でココまでできる!データ保護
第7回 仮想環境となが〜くお付き合いしていく
第8回 ( おまけ編 ) まだまだあった!ストレージ関連機能