VMware vSphere CLI を使ってリモート操作 (SDK for Perl編その1)

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2010/12)です。
※ 情報が古い可能性もありますので、ご留意ください。



に引き続き。

"--url" は vCenter のアドレス、"--vmname" は基本的に対象の仮想マシン(VM)名。あと "--password" でパスワードも指定できる。

# ちなみに、下記以外にも、もっと色々なコマンドやオプションがあるのですが、それはおいおい。

仮想マシン(VM)を起動/停止する

# perl vmcontrol.pl --username Administrator --operation poweron --vmname test01 --url https://10.255.xxx.xxx/sdk/webService

"--operation" の選択肢は、以下の通り。

poweron - Power on one or more virtual machines.
poweroff - Power off one or more virtual machines.
suspend - Suspend one or more virtual machines.
reboot - Reboot one or more guests.
reset - Reset one or more virtual machines.
shutdown - Shutdown one or more guests.
standby - Set to standby mode one or more guests.

テンプレートから仮想マシンへのデプロイ

# perl vmclone.pl --username Administrator --vmhost 10.255.yyy.yyy --vmname template_n --vmname_destination test01 --url https://10.255.xxx.xxx/sdk/webService --datastore data10

"--vmname" にはテンプレート名、"--vmname_destination" には新しく作る仮想マシン名。

テンプレートから仮想マシンへの変換

# perl vmtemplate.pl --username Administrator --url https://10.255.xxx.xxx/sdk/webService --vmname test01 --operation T --pool Resources

"--operation" で "VM" を指定すると、仮想マシンからテンプレートへの変換となる。

対象ホストに割り当てられているリソース確認

# perl vidiscovery.pl --url https://10.255.xxx.xxx/sdk/webService --username Administrator --managedentity datacenter --entityname datacenter_name
Enter password:

***************Datacenter CA_test***************
DataCenter : datacenter_name
   Host : 10.255.yyy.yyy
      VM : template_n
      VM : test01
      VM : test02

仮想マシンの情報確認

# perl vminfo.pl --url https://10.255.xxx.xxx/sdk/webService --username Administrator --vmname test01
Enter password:

Information of Virtual Machine test01

Name:            test01
No. of CPU(s):           1
Memory Size:             1024
Virtual Disks:           1
Template:                0
vmPathName:              [data_store_name] test01/test01.vmx
Guest OS:                CentOS 4/5 (64 ビット)
guestId:                 centos64Guest
Host name:               localhost
IP Address:              Not Known
VMware Tools:            VMware Tools is running and the version is current
Cpu usage:               0 MHz
Host memory usage:               290 MB
Guest memory usage:              0 MB
Overall Status:          The entity is OK

ゲスト(仮想OS)の情報確認

# perl guestinfo.pl --url https://10.255.xxx.xxx/sdk/webService --username Administrator --vmname test01 --operation display
Enter password:


Guest Info for the Virtual Machine 'test01' under host 10.255.yyy.yyy

test01 guestFamily: linuxGuest
test01 guestFullName: CentOS 4/5 (64 ビット)
test01 guestId: centos64Guest
test01 guestState: running
test01 hostName: localhost
test01 ipAddress: Not Known
test01 toolsStatus: VMware Tools is running and the version is current.
test01 toolsVersion: 8290
test01 Screen - Height: 400
test01 Screen - Width: 720
test01 Disk[0]: Capacity 34842681344
test01 Disk[0]: Path : /
test01 Disk[0]: freespace : 32237264896
test01 Disk[1]: Capacity 517738496
test01 Disk[1]: Path : /boot
test01 Disk[1]: freespace : 500488192
test01 guest - Net : Not Known