連載 :
VMwareの現在vSphere APIを活用する
2010年6月23日(水)

ここで、いくつかvSphere PowerCLIのサンプルを紹介する。いずれもConnect-VIServerを実行し、vCenter Serverにログインした状態で利用できる。サンプル(5)はGet-Viewを使わなければ実現できない処理である。
(1)テンプレートから128台の仮想マシンをクローンする(仮想マシン名vm-1~vm-128)
1 | <!--//--><![CDATA[// ><!-- |
2 |
3 | $esx = Get-VMHost <esx-name> |
4 | $tmpl = Get-Template <template-name> |
5 | 1..128 | foreach { New-VM -VMHost $esx -Name ( "vm-" + $_) -Template $tmpl } |
6 |
7 | //--><! |
(2)仮想ネットワーク・アダプタの接続ポート・グループをまとめて切り替える
1 | <!--//--><![CDATA[// ><!-- |
2 |
3 | Get-VM | Get-NetworkAdapter | Where-Object { $_.NetworkName - eq <old-pgname> } | Set-NetworkAdapter -Network <new-pgname> |
4 |
5 | //--><! |
(3)取得から1ヶ月以上経過した古いスナップショットを削除する
1 | <!--//--><![CDATA[// ><!-- |
2 |
3 | Get-VM | Get-Snapshot | Where-Object { $_.Created - lt (Get-Date).AddMonths(-1) } | Remove-Snapshot |
4 |
5 | //--><! |
(4)パフォーマンス・データをCSVに書き出す
1 | <!--//--><![CDATA[// ><!-- |
2 |
3 | Get-Stat -Realtime -Entity (Get-VM <vmname>) | Export-csv -encoding unicode <filename> |
4 |
5 | //--><! |
(5)「VMware Tools のインストール」状態(CDマウント)のままになっている仮想マシンを一覧化
1 | <!--//--><![CDATA[// ><!-- |
2 |
3 | Get-VM | Get-View | Where-Object {$_.Summary.Runtime.ToolsInstallerMounted - eq $True } | Select Name |
4 |
5 | //--><! |
VMwareのコミュニティ「Developer: vSphere PowerCLI Sample Code(英語サイト)」では、より本格的なサンプルを入手できる。
さて、ここまでは、いずれもvSphere PowerCLIのシェルでインタラクティブ(対話形式)に実行している例を紹介してきたが、スクリプトとして保存するには、下記のような流れになる。
1 | <!--//--><![CDATA[// ><!-- |
2 |
3 | Add-PSSnapin VMware.VimAutomation.Core |
4 | $ vi = Connect-VIServer -Server <ipaddress> -User <username> -Password <password> |
5 | (ここに、今回紹介したような実際の処理を記述する) |
6 | Disconnect-VIServer -Server $ vi -Confirm:$False |
7 |
8 | //--><! |
スクリプトをps1という拡張子で保存することで、必要な時に直ちに実行できるだけでなく、Windowsのタスクを用いて定期的に実行することや、vCenter Serverのアラーム機能のトリガーに指定することなど、さまざまなやり方でできる。
まとめ
今回は、vSphere APIを利用した管理の自動化を行うために、vSphere APIの概要とPowerShellでのAPI利用方法について紹介した。次回は、昨今注目を集める仮想デスクトップ・ソフトであるVMware Viewを紹介する。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。