こちら を参照して、Nested ESXi 環境にて vSphere DPM の検証 を行った内容を下記にまとめます。(バージョン: vCenter Server 7.0 Update 3e)
vSphere DPMとは
vSphere DPM(Distributed Power Management) の機能を使用すると、クラスタのリソース使用状況に応じてホストをパワーオンおよびパワーオフするため、vSphere DRS クラスタの電力消費量を削減 できます。
vSphere DPM では、3 つの電源管理プロトコル(IPMI or iLO or WOL)を使用して、ホストのスタンバイ モードを終了させることができます。また各プロトコルで事前の構成が必要となります。 VMware Docs 参照
DPMの設定は、DRSクラスタの [電源管理]にて [自動化レベル]と [DPMしきい値] の選択を実施します。
IPMIとは
IPMI とは、遠隔からサーバの電源管理等を行う事が出来る規格で、BMCと呼ばれるICチップから、サーバのOS等を経由せずにネットワーク経由で、電源のオン/オフや再起動等を行う事が出来る機能です。今回は VirtualBMC for vSphere を使用した、ネストESXi 環境におけるIPMIによるDPMの動作検証を実施します。
- 確認できたこと: vSphere DPM の基本動作(動作仮想マシン数の減少に伴う、ESXiのスタンバイへの移行と、仮想マシン数の増加に伴うESXiのスタンバイからの復帰)
- 注意点: DPMはESXiのハードウェア情報からコスト計算を行うが、ネストESXi 環境ではそうしたハードウェア情報は提供されず、DPMのコスト計算、及び推奨が正しく動作しない可能性がある。よって本番環境利用用途の検証ではなく、あくまでDPMの動作概要を把握する目的での検証となる。
Nested ESXi 検証構成の注意点
VirtualBMC for vSphere の実施において、対象のネストESXi を仮想マシン名にてアクセスする必要がある為、vCenter 配下にネストESXi 仮想マシン(Nest-ESXiX) を作成し、同時にホスト(172.18.10.X)としても登録します。
仮想BMCの構成
こちらを参照して、Cent OSにVirtualBMC をインストールし、仮想BMCを構成しました。
# ホスト3台分の、BMCアドレスを追加
[root@localhost ~]# nmcli con mod "System ens192" +ipv4.addresses "172.18.10.7/24"
[root@localhost ~]# nmcli con mod "System ens192" +ipv4.addresses "172.18.10.8/24"
[root@localhost ~]# nmcli con mod "System ens192" +ipv4.addresses "172.18.10.9/24“
# Python 3.x環境に、pip install vbmc4vsphereで VirtualBMCをインストール
[root@localhost ~]# python3.6 -m pip install vbmc4vsphere
# VirtualBMC デーモンの起動
[root@localhost ~]# vsbmcd --foreground
# vsbmc add にて、仮想BMC を作成(仮想マシン名、IP アドレス、ポート番号:623、BMCアカウント認証情報、vCenter Server 認証情報等を指定)
[root@localhost ~]# vsbmc add Nest-ESXi1 --address 172.18.10.7 --port 623 --username root --password password --viserver 172.18.10.1 --viserver-username administrator@vsphere.local --viserver-password password
[root@localhost ~]# vsbmc add Nest-ESXi2 --address 172.18.10.8 --port 623 --username root --password password --viserver 172.18.10.1 --viserver-username administrator@vsphere.local --viserver-password password
[root@localhost ~]# vsbmc add Nest-ESXi3 --address 172.18.10.9 --port 623 --username root --password password --viserver 172.18.10.1 --viserver-username administrator@vsphere.local --viserver-password password
# 仮想BMCの起動
[root@localhost ~]# vsbmc start Nest-ESXi1
[root@localhost ~]# vsbmc start Nest-ESXi2
[root@localhost ~]# vsbmc start Nest-ESXi3
# 仮想BMCの登録確認(& IPMI登録用 MACアドレスの確認)
[root@localhost ~]# vsbmc list --fakemac
+------------+---------+-------------+------+-------------------+
| VM name | Status | Address | Port | Fake MAC |
+------------+---------+-------------+------+-------------------+
| Nest-ESXi1 | running | 172.18.10.7 | 623 | 02:00:00:8c:c2:75 |
| Nest-ESXi2 | running | 172.18.10.8 | 623 | 02:00:00:4b:33:7f |
| Nest-ESXi3 | running | 172.18.10.9 | 623 | 02:00:00:69:43:a8 |
+------------+---------+-------------+------+-------------------+
vSphere DPMの設定 & 動作検証
vSphere Clientより DPMで電源管理を行う対象のホストに、vSphere DPM 用の IPMI設定 を実施します。(BMCアカウント、BMC IPアドレス、MACアドレスの指定)
vSphere DPM の設定を行い、動作確認を実施します。
- 検証シナリオ1 : 夕方に稼働仮想マシンの台数が少なくなった場合の、ホストのスタンバイモードへの自動移行(日中から夜間にかけての消費電力削減)
クラスタ内の最後の動作仮想マシンである1台がPower Offした後、6分後にホスト2台が、DPMにより自動でスタンバイモードへ移行した(開始者:System)
vCenter Server イベントにおいても、「DrsEnteringStandbyModeEvent」が確認できる
- 検証シナリオ2 : 朝方にPower On仮想マシンの台数が増えた場合の、ホストのスタンバイモードからパワーオン状態への自動移行(夜間から朝方にかけてのホストのキャパシティ増強)
ホスト2台がスタンバイになっているクラスタにおいて、全ての仮想マシンが一斉Power Onされたタイミングで、即座にスタンバイホスト2台がPower Onに切り替わる様子が確認出来る
vCenter Server イベントにても、「DrsExitingStandbyModeEvent」が確認できる
vSphere DPM: 削減効果や導入事例など
vSphere 5.x の頃は、DemandCapacityRatioTarget パラメーター等で vSphere DPM クラスタのCPU又はメモリ使用率が、45%-81%の間に収まるよう調整が出来たようです。(45%以下でスタンバイモードの検討を開始、81%以上でスタンバイモードからの復帰)
vSphere DPM の導入事例については、こちら が参考になりました。
ラボ環境等におけるテスト利用がメインで、導入事例としては電力企業や大学等があり、vSphere 5.x の頃はサーバの起動が遅いといった課題があったようです。