Seite 1 von 1
Shutdown der VMs und Host per CLI [erledigt]
Verfasst: 12.09.2010, 11:42
von osterhase
Hallo,
ich versuche gerade mittels Skript alle VMs und anschließend den Host (sauber) herunterzufahren. Es geht um einen alleinstehenden ESXi 4.1 (free), das Skript wird vom Agent einer APC USV getriggert und soll beim Stromausfall alles sauber herunterfahren.
Im Internet findet man Forenbeiträge, nach denen das Skript hostops.pl dafür geeignet sein soll.
Code: Alles auswählen
C:\Programme\VMware\VMware vSphere CLI\Perl\apps\host>hostops.pl --target_host <host.domain> --server <host.domain> --username root --password <pw> --operation shutdown
This operation is not allowed as one or more Virtual machines is currently power
ed On
Ich dachte, das Skript sorgt gerade dafür, dass vorher die VMs (mit installierten Tools) herunterfahren (in dem Configurations-Tab der VMs steht "Shutdown Guest")....
Wie lässt sich das bewerkstelligen?
Viele Grüße.
Verfasst: 12.09.2010, 11:48
von irix
Die API ist "ReadOnly" beim vSphere Hypervisor aka FreeESXi und man kann so nur Daten auslesen aber nur wenige bis keine veraendern/senden.
Ansonsten wuerde einer vollstaendigen Automatisation einer ganzen Armee von FreeESXi Hosts nichts mehr im Wege stellen.
Gruss
Joerg
Verfasst: 12.09.2010, 11:53
von osterhase
Okay, das erklärt das natürlich... dann bleibt mir nichts anderes als die Shutdowns über die Gastsysteme zu steuern.
Danke für die schnelle Info

Re: Shutdown der VMs und Host per CLI
Verfasst: 12.09.2010, 11:55
von irix
osterhase hat geschrieben:Code: Alles auswählen
This operation is not allowed as one or more Virtual machines is currently power
ed On
Frage: Ist der automatische Start/Shutdown der VMs konfiguriert?
Gruss
Joerg
Verfasst: 12.09.2010, 12:01
von osterhase
Wenn damit in dem Einstellungs-Fenster des vSphere Clients -> Options -> VMware Tools -> Stop: Shutdown Guest gemeint ist, dann ja. Oder gibt es noch eine andere Einstellung?
EDIT: Okay, ich weiß was Du meinst... werde es gleich testen.
Verfasst: 12.09.2010, 12:04
von irix
osterhase hat geschrieben:Wenn damit in dem Einstellungs-Fenster des vSphere Clients -> Options -> VMware Tools -> Stop: Shutdown Guest gemeint ist, dann ja. Oder gibt es noch eine andere Einstellung?
Nein, den Start/Shutdown da unter Host->Configruation.
Ansonsten musst du halt erstmal eine Liste deiner VMs ziehen und den Status pruefen, bzw. den Status igonieren und den Shutdownbefehl fuer alle VMs absetzen.
Frage: Verwendet deine ESXi Installation noch den Trial Mode?
Gruss
Joerg
Verfasst: 12.09.2010, 12:07
von osterhase
irix hat geschrieben:osterhase hat geschrieben:Wenn damit in dem Einstellungs-Fenster des vSphere Clients -> Options -> VMware Tools -> Stop: Shutdown Guest gemeint ist, dann ja. Oder gibt es noch eine andere Einstellung?
Nein gibt es nicht. Dann musst du halt erstmal eine Liste deiner VMs ziehen und den Status pruefen, bzw. den Status igonieren und den Shutdownbefehl fuer alle VMs absetzen.
Die Liste ist kein Problem, mit welchem Skript kann ich den Shutdown der VM dann durchführen? Oder meinst Du auf Betriebssystemebene wie psshutdown und co?
Frage: Verwendet deine ESXi Installation noch den Trial Mode?
Gruss
Joerg
Nein, ist registriert, aber die kostenlose Variante.
Verfasst: 12.09.2010, 12:15
von irix
osterhase hat geschrieben:..
Die Liste ist kein Problem, mit welchem Skript kann ich den Shutdown der VM dann durchführen? Oder meinst Du auf Betriebssystemebene wie psshutdown und co?
Ich meinte nicht die Shutdownoptions welche unter VM einstellt, weil das ist nur wenn man da auf den Buttons drueckt.
Ich meinte die unter Host->Configuration->Auto. Start/Shutdown.
Ansonsten findest du unter apps/vm/vmcontrol.pl ein Script was VMs steuern kann.
Gruss
Joerg
Verfasst: 12.09.2010, 12:40
von osterhase
Code: Alles auswählen
C:\Programme\VMware\VMware vSphere CLI\Perl\apps\vm>vmcontrol.pl --host <host> --vmname "<vm>" --username root --password <pw> --server <host> --operation shutdown
Error in '<vm>' under host <host>: VM '<vm>' can't be
shutdown
SOAP Fault:
-----------
Fault string: fault.RestrictedVersion.summary
Fault detail: RestrictedVersionFault
Scheint, als ist das mit der kostenlosen Version auch schon nicht mehr möglich?
Die automatische Start/Shutdown-Reihenfolge habe ich konfiguriert, das ändert aber nichts an dem Problem, dass ich den Vorgang nicht per Skript angestoßen bekomme...
Per Shell-Zugriff lässt sich das auch nicht triggern?
Verfasst: 12.09.2010, 12:47
von irix
Das "Fault detail: RestrictedVersionFault" haette ich schon eher erwartet aber den Grund hab ich ja oben schon geschrieben. Laesst sich ja durch ca. 500,- aufheben und dann gibts ja noch andere Nette Sachen obendrein.
Ich hab hier zwar auch einige ESXi's aber kann nichts dazu sagen was mit internem Scripting moeglich ist. Die Busybox des ESXi enthaelt ja nur eine begrenze Auswahl an Funktionen und Programmen im Gegensatz zum COS eines ESX.
Gruss
Joerg
Verfasst: 12.09.2010, 13:11
von osterhase
Okay, da scheint in der Tat wenig zu machen zu sein... habe es gerade auch noch über vmrun aus dem VIX API Paket versucht, ebenfalls mangels Lizenz nicht möglich. Für die private Testumgebung reicht aber eigentlich die kostenfreie Variante...
Werde nun den Shutdown über die Betriebssysteme steuern.
Verfasst: 12.09.2010, 14:38
von osterhase
Okay, ich habe eine Lösung gefunden.
Mittels plink führe ich folgende Befehle per ssh (aus einer VM heraus) auf dem Host-System aus:
Dabei werden alle VMs per Guest-Shutdown sauber heruntergefahren (in der umgekehrten Reihenfolge der automatischen Startup-Konfiguration) und am Ende schaltet sich der Host aus, genau wie gewünscht
Besten Dank noch mal für die Unterstützung.
Verfasst: 27.11.2012, 08:58
von Wurzerl
Danke Osterhase, das hat mir sehr weitergeholfen, möchte aber eine kleine Korrektur (zumindet für vSphere 5.x) anbringen: