vCenter 配下の VM数を把握するには?

CJです。

vSphere基盤を運用する上で、以下の内容について確認したことありませんか?

・Cluster 配下のホスト数

・Cluster 配下のVM数

・PowerOn のVM数

・PowerOff のVM数

そうです、このような内容は計画メンテナンスを行う上で、一度確認したことがあるかと思います。vSphere Web Client を通して GUI でみたり、VMリストをコピーしてメモ帳で行数を把握して VMの数を数えるなどいくつか簡単な方法がありますが、今回は PowerCLIを使った適切・簡単な方法を共有したいと思います。

PowerCLIを起動した後に、以下のコマンドにて現在 vCenter 配下に VMがどれだけあるかみてみましょう。

Get-VM

自分の環境には、上記のように合計 6台のVMが動いている状態です。

では、早速 vCenter 配下で Clusterごとの Host、PowerOn状態の VM の数も以下のコマンドにて確認してみましょう。

Get-Cluster | Select Name, @{N=”Host Count”; E={($_ | Get-VMHost).Count}}, @{N=”VM Count”; E={($_ | Get-VM | Where-Object {$_.PowerState -eq “PoweredOn”}).Count}}

ごらんのように、Clusterごとの Host数および VM数が確認できることがわかります。

PowerOff のVM数を確認するには、以下のコマンドを使います。

Get-Cluster | Select Name, @{N=”Host Count”; E={($_ | Get-VMHost).Count}}, @{N=”VM Count”; E={($_ | Get-VM | Where-Object {$_.PowerState -eq “PoweredOff”}).Count}}

get-vm コマンドで確認したように、自分のテスト環境においては稼働中のVM 6台のみが vCenter 配下にある状態です。本当に PowerOff のVM数も拾えるかどうかを確認するため、VM1台を停止します。

Stop-VM CJVM

VMが停止したので、再度 PowerOn / Off のVM数を確認してみましょう。

きちんと、電源状態に合わせた VMの数が確認できました。

ぜひ、計画メンテナンス時などでご活用ください。

 

[参照情報]

Powercli Script to measure the count of Host and its Vm’s in a each clusters

https://communities.vmware.com/thread/514432

PowerCLI Reference / PowerState – Enum
https://code.vmware.com/docs/5060/cmdlet-reference#/doc/PowerState.html