Seite 1 von 1

Script - Server Shutdown

Verfasst: 15.02.2011, 11:14
von ben_mysc
Hallo zusammen

Ich arbeite seit kurzem mit ESXi 4.1 und vMA und benötige ein Script.
Weil ich ziemlich schnell an meine script Grenzen gestossen bin, bin ich auf der Suche nach hilfe.

Es geht um folgendens:

Ich brauche ein Shell-Script der mir ausgibt welche VM's auf meinem ESXi 4.1 Host laufen. Anschliessens soll ich per Benutzereingabe definieren, welchen er herunterfahren soll. Und diese müssen anschliessend heruntergefahren werden.

Bitte um hilfe!
Wie kann ich / soll ich dies realisieren?

Danke vielmals!

Verfasst: 15.02.2011, 11:49
von zacker
hi,

vmsupport -x kannst du dir anzeigen lassen welches vms laufen.

damit :

vmware-cmd /vmfs/volumes/PFAD zur VM.vmx stop soft

kannst du die runterfahren ...

wie du das in ein script bekommst musst du selber überlegen :D

Verfasst: 15.02.2011, 13:24
von ben_mysc
Hallo und danke schonmal für deine Hilfe!

vmsupport -x funktioniert bei mir nicht:

[vi-admin@vSphereManagementAssistant /][192.168.166.30]$ vmsupport -x
-bash: vmsupport: command not found


Mit vmware-cmd -l habe ich mir mal die VM's anzeigen lassen:

[vi-admin@vSphereManagementAssistant /][192.168.166.30]$ vmware-cmd -l

/vmfs/volumes/4d4c005b-1f7dde88-c353-00215a177fbd/CENTOS-5.4-32BIT/CENTOS-5.4-32BIT.vmx
/vmfs/volumes/4d4c005b-1f7dde88-c353-00215a177fbd/vSphere Management Assistant (vM/vSphere Management Assistant (vM.vmx
/vmfs/volumes/4d4c005b-1f7dde88-c353-00215a177fbd/Server_W2008_01/Server_W2008_01.vmx


Jetzt habe ich versucht die VM "Server_W2008_01" zu beenden, jedoch gab dies einen Fehler...:

[vi-admin@vSphereManagementAssistant /][192.168.166.30]$ sudo vmware-cmd --server 192.168.166.30 /vmfs/volumes/4d4c005b-1f7dde88-c353-00215a177fbd/Server_W2008_01/Server_W2008_01.vmx stop soft
Enter username: root
Enter password:
Operation cannot be performed:
SOAP Fault:
-----------
Fault string: fault.RestrictedVersion.summary
Fault detail: RestrictedVersionFault



Was habe ich falsch gemacht??

Danke vielmals!

Verfasst: 15.02.2011, 13:31
von Niketius
Hallo,

hiermit kannst Du Dir alle VMs auf dem ESX auflisten lassen

vmware-cmd -l

hiermit checken, welche on ist

vmware-cmd -q "[VM Name]" getstate

und hiermit kannst Du sie herunterfahren

vmware-cmd "[VM Name]" stop trysoft (bzw. Hard, wenn herunterfahren nicht mehr geht)

Ein gutes Beispiel findest Du unter folgendem Link:

http://www.riccardoriva.com/archives/682#more-682

Musst Du dann Deinen Wünschen entsprechend anpassen.

Gruß
Tom

Verfasst: 15.02.2011, 14:00
von ben_mysc
Super Danke!

Hat mir schon weiter geholfen! Danke für den Link...
Was bei mir jedoch immernoch nicht funktioniert, ist das eigentliche abschalten.

mit "getstate" bekomme ich den status:

[vi-admin@vSphereManagementAssistant /][192.168.166.30]$ vmware-cmd /vmfs/volumes/4d4c005b-1f7dde88-c353-00215a177fbd/Server_W2008_01/Server_W2008_01.vmx getstate
getstate() = on
[vi-admin@vSphereManagementAssistant /][192.168.166.30]$


Wenn ich "stop trysoft" mache, zeigt er mir die Hilfe an...

Wenn ich "stop soft" mache, kommt wieder folgender Fehler:


[vi-admin@vSphereManagementAssistant /][192.168.166.30]$ vmware-cmd /vmfs/volumes/4d4c005b-1f7dde88-c353-00215a177fbd/Server_W2008_01/Server_W2008_01.vmx stop soft
Operation cannot be performed:
SOAP Fault:
-----------
Fault string: fault.RestrictedVersion.summary
Fault detail: RestrictedVersionFault
[vi-admin@vSphereManagementAssistant /][192.168.166.30]$



Wieso das? Wo ist der Fehler?

Verfasst: 15.02.2011, 14:40
von zacker
ben_mysc hat geschrieben:vmsupport -x funktioniert bei mir nicht:



Das ist der Befehl im ESX. scheint es im ESXi so nicht zu geben ...
aber den richtigen hast du ja schon

Verfasst: 16.02.2011, 11:12
von Niketius
ja, im ESXi werden scheinbar nicht alle Befehle unerstützt

siehe auch hier:

http://kb.vmware.com/kb/1023990

vCLI, PowerCLI, and vSphere SDk for Perl are limited to read-only access for the free vSphere Hypervisor edition. To enable full functionality of vCLI on a VMware ESXi host, the host must be licensed with vSphere Essentials, vSphere Essential Plus, vSphere Standard, vSphere Advanced, vSphere Enterprise, or vSphere Enterprise Plus.


Gruß
Tom

Verfasst: 18.02.2011, 08:45
von ben_mysc
Danke Niketius

Ich habe das ganze nun getestet und kann es bestätigen. Auf der kostenpflichtigen Version ESX funktioniert der Befehl.

Danke euch!

Verfasst: 18.02.2011, 10:19
von ideFix
Gleiches Problem hatte der User "osterhase":
http://vmware-forum.de/viewtopic.php?p=106329

osterhase hat geschrieben: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.



Schöner Thread über die ESXi API: ESXi VIX API