PowerCLIを使った仮想化の自動運用

2011年2月24日(木)
志茂 吉建

仮想マシンの情報取得

最初に仮想マシンの情報を取得してみましょう。Get-VMコマンドで仮想マシンの一覧(仮想マシン名、電源状態、CPU数、メモリ容量など)が確認できます。

図3:Get-VMコマンドの実行例

図3:Get-VMコマンドの実行例(クリックで拡大)

メンバー変数の確認

PowerCLIをインストールすると「vSphere PowerCLI Cmdlets Reference」ヘルプが一緒にインストールされます。コマンドの使い方などの詳細はそちらを参考にしてください。

PowerShellはオブジェクト指向だと最初に書きましたが、各コマンドの戻り値は実はオブジェクトです。オブジェクトなのでメンバー変数もあります。どんなメンバー変数(プロパティ)があるかを確認するには、以下のコマンドを実行します。出力結果は省略しますが、皆さんも一度試してみてください。

Get-VM | Get-Member

詳細の出力

では、仮想マシン名「vCenter」の情報をもう少し詳しく確認してみましょう。「Select-Object」で表示したいオブジェクトを確認することができます。今回は、仮想マシン名、電源ステータス、CPU数、メモリ、ネットワークアダプタ情報を表示させました。

Get-VM -Name vCenter | Select-Object Name, PowerState, NumCpu, MemoryMB, 
NetworkAdapters

図4:Get-VMの詳細情報確認の実行例

図4:Get-VMの詳細情報確認の実行例(クリックで拡大)

実例紹介

ここからはRePlavailなどで実際に使用しているスクリプトを一部抜粋して実例を紹介していこうと思います。

仮想マシンの新規作成

仮想マシンの新規作成もコマンドから作成することができます。メモリーサイズなどは「-MemoryMB」で指定できますが、引数をカッコつきで「(1024*2)」などと指定すると計算された結果が引数として利用されますので便利です。

New-VM -Name 'win2k3-001' -vmhost (Get-VMHost -Name 192.168.0.221) 
-Datastore 'datastore' -NumCpu 1 -DiskMB (1024*30) -MemoryMB (1024*2) 
-DiskStorageFormat 'thin' -GuestID 'winNetStandardGuest'

仮想マシン名を「win2k3-001」としていますが、「win2k3-001」から「win2k3-005」の5台の仮想マシンを作成したい場合は以下のとおりです。

1..5 | foreach {
New-VM -Name ("win2k3-{0:000}" -F $_) -vmhost (Get-VMHost 
-Name 192.168.0.221) -Datastore 'datastore' -NumCpu 1 -DiskMB (1024*30) 
-MemoryMB (1024*1) -DiskStorageFormat 'thin' -GuestID 'winNetStandardGuest'
}

「1..5」で1から5までの配列が作成されます。それを「foreach」で受け取ります。「$_」は「現在のパイプライン オブジェクト」となりますので、1から5が順番に入ります。今回のポイントは、「"win2k3-{0:000}" -F $_」になります。この表現は文字列書式のフォーマットで「win2k3-001」から「win2k3-005」までを作成します。

実行結果は以下のとおりです。作成された仮想マシンの一覧が表示されます。

図5:仮想マシン作成の実行例

図5:仮想マシン作成の実行例(クリックで拡大)
株式会社未来科学応用研究所

1996年にシーティーシー・テクノロジー株式会社に入社。プラットフォーム、ストレージ、ミドルウェア関連のサポートやプロフェッショナルサービスに従事。2007年下半期から、VMware仮想化関連のサービス開発やコンサルティングなどを担当。2011年に仮想化関連書籍などを共同執筆。2013年4月から株式会社未来科学応用研究所を設立し、仮想化/OSSコンサルタントとして活動中。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています