4.動作確認および動作検証
4-3.リソース管理
4-3-1.VMWare DRS
4-3-2.VMWare DPM
!コメント!
ここでは、VMWare DRS(以下、DRS)とVMWare DPM(以下、DPM)の動作を確認していきます。
以下、かなり乱暴な書き方ですがDRSとDPMの動作について記載します。
DRS
クラスタ内のリソースや負荷状況によって、自動的にVMotionを実施してくれます。
これにより各ホストの負荷を均一化&平準化します。
1台のホスト上にて仮想マシンを複数台稼動させておきます。
before
esx41=Ludwig-128、Ludwig-129、Ludwig-130、Ludwig-131、Ludwig-132、Ludwig-133
esx42=
after
esx41=Ludwig-128、Ludwig-129、Ludwig-130
esx42=Ludwig-131、Ludwig-132、Ludwig-133
esx41の負荷が高まると自動的に仮想マシンをesx42へ移行(VMotion)します。
DPM
クラスタ内のリソースや負荷状況によって、
自動的に仮想マシンが稼動していないホストをシャットダウンしてくれます。
また、負荷が高まってくるとシャットダウンしたホストを
自動的に(Wake on LANにて)起動してくれます。
1台のホスト上にて仮想マシンを稼動させておきます。
before
esx41=Ludwig-128
esx42=
after
esx41=Ludwig-128
esx42=ホスト自体をシャットダウン
esx41の負荷が低く、esx41のリソースのみで事足りる場合、
esx42を自動的にシャットダウンします。
詳細は以下のマニュアルを参照してください。
http://www.vmware.com/files/jp/pdf/vsp_40_u1_resource_mgmt_ja.pdf
また、以下のURLも参考になると思います。
VMware DRSとVMware DPMによる自律運用
http://www.atmarkit.co.jp/fserver/articles/vmwaredep/14/01.html
4-3-1.VMWare DRS
!コメント!
検証の流れは以下の通り。
esx41=Ludwig-128、Ludwig-129、Ludwig-130、Ludwig-131、Ludwig-132、Ludwig-133
esx42=
1.ホストesx41上で仮想マシンLudwig-128を起動。
2.その後、順にLudwig-129、Ludwig-130・・・と、全6台の仮想マシンを起動させます。
3.ある程度、負荷が高まるとDRSが発動し仮想マシンがesx42へ自動的にVMotionします。
※1
設定により、
・2台以上の仮想マシンを常に同じホスト上に配置させる
・自動的にVMotionさせない仮想マシンを設定
といった事も可能です。
しかし、今回はあまり複雑な設定はせず、
自動的に仮想マシンがVMotionする動作を確認します。
※2
負荷が足らずに待てど暮らせどDRSが発動しない場合も想定し、
フリーのCPU負荷アプリにて仮想マシンに負荷を掛けます。
※3
上記※2とは逆に仮想マシンを順に起動させていく途中で、
いきなりDRSが発動してくれる場合もあります。
このため、全仮想マシン(今回は6台)が起動した後、
esx41へ全仮想マシンを移行させます。
#
上記※2と※3はかなり矛盾したことを記載していますが、
「DRSが発動する際の動作を確認すること」が目的なので
※2 or ※3のどちらかを駆使してDRSを誘発します。
1.DRSの設定1
クラスタ(wolfgang)を右クリック→設定の編集をクリック
2.DRSの設定2
クラスタ機能より、VMWare DRSをオンにするをクリック
3.DRSの設定3
VMWareDRSより、完全自動化をクリック
!コメント!
移行のしきい値のスライダーを動かしても構いません。
DRSが発動し難いときは、右(積極的)側にスライダーを動かしても良いと思います。
但し、画面上に表示されている日本語での説明を読んでいると、
左から2番目が一番移行し易いのでは?という印象を受けます。
比較してみると面白いので以下に全ての優先順位を記載しておきます。
優先順位1
vCenterは、アフィニティルールやホストメンテナンスのような
クラスタの制約を満たすために必要な推奨のみを適用します。
優先順位2
vCenterは、クラスタの負荷分散を著しく強化する推奨を適用します。
優先順位3
vCenterは、クラスタの負荷分散を有効に強化する推奨を適用します。
優先順位4
vCenterは、クラスタの負荷分散をある程度強化する推奨を適用します。
優先順位5
vCenterは、クラスタの負荷分散を多少強化する推奨を適用します。
4.DRSの設定4
VMWareDRSのルールより、特に何も設定する必要はありません。
!コメント!
ここで、先に記載した「2台以上の仮想マシンを常に同じホスト上に配置させる」といった設定が可能です。
5.DRSの設定5
VMWareDRSの仮想マシンのオプションより、特に何も設定する必要はありません。
最後にOKをクリック。
!コメント!
ここで、先に記載した「自動的にVMotionさせない仮想マシンを設定」といった設定が可能です。
6.DRSの設定6
クラスタ(Wolfgang)のサマリ画面の右下にVMWareDRSの項目が追加されました。
7.仮想マシンの起動
それでは、仮想マシンを順に起動させていきます。
上記※3に記載したとおり、いきなりDRSが発動してしまった場合には、
一旦、全仮想マシンを手動でesx41側へ移行させてください。
8.仮想マシンの稼動状況
esx41
仮想マシンが6台稼動しています。
esx42
仮想マシンは1台も稼動していません。
9.DRS発動1
Ludwig-133、Ludwig-132、Ludwig-131・・・という順でCPUに負荷を掛けていきます。
10.DRS発動2
下図のようにLudwig-129まで負荷を掛けたところで、DRSが発動しました。
Ludwig-133が自動的に移行を開始しました。
!コメント!
今回はごくごく基本的な動作確認しか行っていませんが、動作としては特に問題ないようです。
また、仮想マシンの綿密なリソース計算やDRSしきい値を設計することで、
「想定通りにDRSを誘発させる」といったことができるのかもしれません。
以下のKBなどが参考になると思います。
Calculating the priority level of a VMware DRS migration recommendation
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007485
4-3-2.VMWare DPM
!コメント!
検証の流れは以下の通り。
esx41=Ludwig-128
esx42=
1.DPM設定後、ホストesx41上で仮想マシンLudwig-128を起動させておきます。
2.Ludwig-128を手動でシャットダウンします。
3.DPMが発動しDRS機能により、自動的にLudwig-128がesx42へ移行します。
4.自動的にesx41がシャットダウン(スタンバイモードへ切替え)します。
5.esx42上にてLudwig-128を手動で起動させます。
6.Ludwig-128が起動する前にesx41が自動的に起動
7.esx41が起動後、Ludwig-128の起動が開始されます(このタイミングで5.の動作が初めて開始される)
※1
設定により、
・自動的にシャットダウンさせないホストを設定
といった事も可能です。
※2
DPMはDRS機能に包含されています。
また、HAのFailoverキャパシティとも関係しています。
※3
DPMを誘発させるためとはいえ、上記の検証の流れは
本来のDPMの動作と異なります。(ぶっちゃけズルイやり方です)
手動で」と「自動的に」と(しつこく)明示的に記載していますが、
本来であれば、以下のようなイメージで動作します。
(1)
初期状態
仮想マシンを起動させておきます。
esx41=Ludwig-128
esx42=Ludwig-129
(2)
DPMの発動により、DRS機能にて自動的にLudwig-129をesx42→esx41へ移行。
Ludwig-129の移行完了後、自動的にesx42がシャットダウン。
esx41=Ludwig-128、Ludwig-129
esx42=シャットダウン
(3)
Ludwig-128、Ludwig-129にてCPUに負荷を掛けることで、
DPMの発動により、自動的にesx42が起動。
esx41=Ludwig-128、Ludwig-129
esx42=起動
(4)
esx42の起動後、DRSの負荷分散機能により自動的にLudwig-129をesx42へ移行。
esx41=Ludwig-128
esx42=Ludwig-129
今回の構成(ホスト2台構成)では、DRS&DPMのしきい値設計に加えて、
HAのFailoverキャパシティ設計を綿密に行わないと、
上記(1)〜(4)の動作を意図的にかつ自動的に発生させるのは
極めて困難と推測しているため、今回は手動操作を交えています。
#
少々泣き言ですが、今回の構成で(1)〜(4)の動作を発生させるには、
いつ発動するかわからないDPMをひたすら待ち続ける
といった状況を想定しています。
ちなみに、ホストが3〜4台以上あれば、
比較的容易にDPMを発動させることができそうな気もしますが。。。
1.DPMの設定1
ホスト(esx41)を右クリック→スタンバイモードへの切り替えをクリック
!コメント!
Wake on LANが正常動作することを確認するため、まずは手動でスタンバイモードへの切り替えを実施します。
手動切り替えを実施せずにDPMを有効化とすると、以下のような警告メッセージが表示されます。
また、スタンバイモードへの切り替え有無は、以下の画面にて確認可能です。
クラスタ(Wolfgang)をクリック→ホストタブをクリック→画面を右側へスクロール→前回のスタンバイ終了の項目を確認
一度もスタンバイモードを実施していないとき=実行しないと表示されます。
一度でもスタンバイモードを実施したとき=成功した日時が表示されます。
2.DPMの設定2
はいをクリック
!コメント!
はいをクリック後、スタンバイモードになるまでに実測値約3分15秒掛かりました。
なお、ホスト上に仮想マシンが登録されている場合は、仮想マシンを別なホストへ移行してから、
スタンバイモードへの切り替え動作が開始されます。
3.DPMの設定3
ホスト(esx41)を右クリック→パワーオンをクリック
!コメント!
パワーオンをクリック後、起動するまでに実測値約6分30秒掛かりました。
4.DPMの設定4
クラスタ(Wolfgang)をクリック→ホストタブをクリック→画面を右側へスクロール→前回のスタンバイ終了にて、
「成功しました。」の表示を確認してください。
5.DPMの設定5
クラスタ(Wolfgang)を右クリック→設定の編集をクリック
6.DPMの設定6
VMWareDRSより電力管理を選択→自動をクリック
DPMしきい値のスライダーを右(積極的)側に目一杯動かしてください。
7.DPMの設定7
ホストオプションを選択→書くホストにて電力管理の項を自動に設定
8.DPMの設定8
OKをクリック
!コメント!
OKをクリックした後、仮想マシンが1台も起動していない状況であれば、
DPMが発動すると想定されます。
発動した場合には、仮想マシンの起動(検証の流れ5〜7)を実施してください。
CoffeeBreakくらいの時間は待たされます。
9.仮想マシンの起動
それでは、仮想マシンを起動させます。
10.仮想マシンのシャットダウン
仮想マシン(Ludwig-128)を右クリック→電源→ゲストのシャットダウンを選択
その後、はいをクリックしてください。
11.DPM発動1
仮想マシンのシャットダウンが完了すると、数十秒〜数分程度でDPMが発動します。
また、仮想マシンが自動的にesx42へ移行しています。
下図はHA無効化中
下図はスタンバイモードへの移行処理中
下図は完全にスタンバイモードになっています。
物理的にもサーバのFanが停止し各種LEDが消灯しています。
!コメント!
DPM発動からサーバの電源が停止するまで、実測値約2分30秒掛かりました。
12.DPM発動2
仮想マシン(Ludwig-128)を右クリック→電源→パワーオンを選択
同時にホスト(esx41)のスタンバイモードが終了し起動します。
13.DPM発動3
上記12の直後、ホスト(esx41)のスタンバイモードが終了します=起動されます。
下図は起動の準備中
下図は起動待ち
下図はHA有効中
下図は自動的に仮想マシン(Ludwig-128)をesx41へ移行中
13.DPM発動3
下図にて完了
!コメント!
仮想マシンのパワーオンを実施してから、実測値約6分30秒掛かりました。