VM’s unter ESXi 4 ohne vSphere Client kontrollieren

Sollte man gerade keinen vSphere Client zu Hand haben, gestaltet sich das Handling von VM’s unter ESXi 4 schwierig, da ESXi kein Webinterface bietet.

Abhilfe schafft eine SSH Session (muss auf dem ESXi Host aktiviert sein), über welche man die Kontrolle über VM’s wie folgt realisieren kann:

1. Vmid’s aller VM’s erhalten

~ # vim-cmd vmsvc/getallvms

Vmid Name File Guest OS Version Annotation
112 srv-adc-001a.testdom1.com [localstore00] srv-adc-001.testdom1.com/srv-adc-001.testdom1.com.vmx windows7Server64Guest vmx-07
144 srv-exc-001a.testdom1.com [localstore00] srv-exc-001a.testdom1.com/srv-exc-001a.testdom1.com.vmx windows7Server64Guest vmx-07
176 srv-adc-001b.testdom2.com [localstore00] srv-adc-001b.testdom2.com/srv-adc-001b.testdom2.com.vmx windows7Server64Guest vmx-07
192 srv-exc-001b.testdom2.com [localstore00] srv-exc-001b.testdom2.com/srv-exc-001b.testdom2.com.vmx windows7Server64Guest vmx-07
64 srv-trm-001a.testdom1.com [localstore00] srv-trm-001.testdom1.com/srv-trm-001.testdom1.com.vmx windows7Server64Guest vmx-07
96 srv-trm-001b.testdom2.com [localstore00] srv-trm-001.testdom2.com/srv-trm-001.testdom2.com.vmx windows7Server64Guest vmx-07

2. Status der gewünschten VM einholen

~ # vim-cmd vmsvc/power.getstate 112
Retrieved runtime info
Powered on

3. Aktion durchführen (z.B. Herunterfahren)

~ # vim-cmd vmsvc/power.shutdown 112

Eine Liste aller möglichen Befehle liefert der Aufruf von „vim-cmd vmsvc“ ohne weitere Parameter:

~ # vim-cmd vmsvc
Commands available under vmsvc/:
acquiremksticket get.configoption power.on
acquireticket get.datastores power.reboot
connect get.disabledmethods power.reset
convert.toTemplate get.environment power.shutdown
convert.toVm get.filelayout power.suspend
createdummyvm get.guest power.suspendResume
destroy get.guestheartbeatStatus queryftcompat
device.connection get.managedentitystatus reload
device.connusbdev get.networks setscreenres
device.disconnusbdev get.runtime snapshot.create
device.diskadd get.snapshotinfo snapshot.dumpoption
device.diskaddexisting get.summary snapshot.get
device.diskremove get.tasklist snapshot.remove
device.getdevices getallvms snapshot.removeall
device.toolsSyncSet gethostconstraints snapshot.revert
device.vmiadd login snapshot.setoption
device.vmiremove logout tools.cancelinstall
devices.createnic message tools.install
get.capability power.getstate tools.upgrade
get.config power.hibernate unregister
get.config.cpuidmask power.off upgrade