Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

Shutdown der VMs und Host per CLI [erledigt]

Moderatoren: Dayworker, irix

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Shutdown der VMs und Host per CLI [erledigt]

Beitragvon osterhase » 12.09.2010, 11:42

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.

King of the Hill
Beiträge: 13043
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 12.09.2010, 11:48

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

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Beitragvon osterhase » 12.09.2010, 11:53

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 :)

King of the Hill
Beiträge: 13043
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Shutdown der VMs und Host per CLI

Beitragvon irix » 12.09.2010, 11:55

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

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Beitragvon osterhase » 12.09.2010, 12:01

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.

King of the Hill
Beiträge: 13043
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 12.09.2010, 12:04

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

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Beitragvon osterhase » 12.09.2010, 12:07

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.

King of the Hill
Beiträge: 13043
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 12.09.2010, 12:15

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

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Beitragvon osterhase » 12.09.2010, 12:40

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?

King of the Hill
Beiträge: 13043
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Beitragvon irix » 12.09.2010, 12:47

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

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Beitragvon osterhase » 12.09.2010, 13:11

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.

Member
Beiträge: 106
Registriert: 09.09.2009, 13:44

Beitragvon osterhase » 12.09.2010, 14:38

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:

Code: Alles auswählen

/sbin/shutdown.ssh
/sbin/poweroff


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.

Benutzeravatar
Member
Beiträge: 13
Registriert: 24.07.2006, 12:11

Beitragvon Wurzerl » 27.11.2012, 08:58

Danke Osterhase, das hat mir sehr weitergeholfen, möchte aber eine kleine Korrektur (zumindet für vSphere 5.x) anbringen:

Code: Alles auswählen

/sbin/shutdown.sh


Zurück zu „ESXi 4“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste