仮想マシンのメモリ変更

作成した仮想マシンのメモリを1024MBから2048MBに変更します。ここでは、仮想マシン名は「win2k3-001」から「win2k3-005」となっていますので正規表現で仮想マシン名は「win2k3-00[1-5]」としてオペレーションを実行します。変更コマンドは以下のとおりです。

Get-VM -name "win2k3-00[1-5]" |foreach {Set-VM -VM $_ -MemoryMB (1024*2)}

仮想マシンの起動・停止

仮想マシンの起動

作成した仮想マシンを起動します。同じように正規表現で「win2k3-001」から「win2k3-005」を指定します。

Get-VM -name "win2k3-00[1-5]" | foreach {Start-VM -VM $_}

もし、仮想マシン名に正規表現が使えない場合などは以下のように指定することも可能です。

Get-VM -name ("win2k3-001", "win2k3-002", "win2k3-003")
| foreach {Start-VM -VM $_}

仮想マシンの停止

仮想マシンの電源を切るには以下のオペレーションで実行可能です。「Stop-VM」は仮想マシンの電源を切ります。今回はOSがインストールされていませんので問題ありませんが、VMware ToolsがインストールされたOSが動作している場合は、「Stop-VM」の代わりに「Shutdown-VMGuest」コマンドを利用してください。

Get-VM -name "win2k3-00[1-5]" | foreach {Stop-VM -VM $_}

パフォーマンスデータの取得

各仮想マシンのパフォーマンスデータの取得は以下のとおりです。仮想マシン名「vCenter」の直近のパフォーマンスデータを取得します。

Get-Stat -Realtime -Entity (Get-VM -Name vCenter)

電源がONの仮想マシンのデータを取得したい場合は以下のコマンドで情報を取得することができます。デフォルトの設定では仮想マシン名は出力されませんので、Select-Objectで表示するオブジェクトに「Entity」つまり仮想マシン名を追加しました。

foreach ($vm in Get-VM | Where-Object { $_.PowerState -eq "PoweredOn" })
{
  Get-Stat -Entity $vm -Realtime | select-object Entity, MetricId, 
  Timestamp, Value
}

CSVにファイルを出力したい場合は、以下のように変更します。PowerShellの特徴であるパイプラインをうまく利用して少し書き換えてみました。これでCSVに出力されますので、あとはExcelなどに取り込めばデータをグラフ化することが可能です。

Get-Stat -Entity (Get-VM | Where-Object { $_.PowerState -eq "PoweredOn" }) 
-Realtime |
  Select-object Entity, MetricId, Timestamp, Value|
  Export-csv (Join-Path $env:USERPROFILE “My Documents\vm-stats.csv”)

データのグラフ化

データをグラフ化してみます。普通にグラフ化するのは大変なので今回はピポットテーブルを利用してみました。データは、「Entity」、「MetricId」、「Timestamp」、「Value」の順で並んでいます。時系列のグラフを作成するため、今回はRealtimeを指定して直近1時間のデータを取得しています。ピポットデータで集計した例は以下のとおりです。MetricIdとEntityごとにデータを確認することができます。

図6:取得した情報をピポットテーブルで表示

図6:取得した情報をピポットテーブルで表示

ピポットテーブルをグラフ化したのが以下の図です。分刻みのCPU使用率を確認することができます。

図7:CPUの使用率をグラフ化した例

図7:CPUの使用率をグラフ化した例(クリックで拡大)

今回は、Excelの説明がメインではありませんが、PowerShellを利用すればExcelを直接オペレーションすることもできますので、グラフなどのレポートの自動作成も可能です。「Excel PowerShell」で検索してみるといろいろな事例が見つかると思いますので、皆さんも試してみてはいかがでしょうか。

まとめ

プライベートクラウド環境の構築から運用まで解説してきましたが、第4回ではVMware vSphere PowerCLIによる自動化について事例を交えてご紹介しました。第3回でご紹介した、ROC(Remote Operation Center)では、PowerCLIだけではなく、Rubyなども利用して、仮想化環境はもちろん、ネットワークやストレージなども含めた、統合的な環境の自動化運用を行える仕組みを提供していますので、皆さんのシステム運用の一助になれば幸いです。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30