Seite 1 von 1
VM herunterfahren über rcli und Vcenter Server
Verfasst: 12.04.2010, 16:25
von tomyx
Hallo zusammen,
ich hab hier 3 ESX4.0 Knoten und möchte über ein Script eine bestimmte VM herunterfahren.
Da ich aber nie genau weiss auf welchem Knoten die läuft würde ich gerne den VirtualCenter Server über das Script ansprechen.
Ich habe es geschafft über den Befehl vmware-cmd die VM herunterzufahren, jedoch muss ich hier den ESX Knoten angeben auf dem die läuft, will ich ja aber nicht.
Ist es überhaupt möglich bzw. vorgesehen dem VirtualCenter zu sagen er soll ne VM herunterzufahren, ohne dabei den ESX Knoten dabei anzugeben?
Vielen Dank für Eure Infos.
Gruß
t.
Verfasst: 12.04.2010, 17:19
von kastlr
Hallo,
nimm doch einfach die vSphere PowerCLI, damit geht das relativ simpel.
VMware vSphere PowerCLI
Viel Erfolg
Ralf
Verfasst: 12.04.2010, 20:40
von Nukite2007
Hallo Ralf,
klappt das auch mit ESX 4i ?
Viele Grüße
Peter
Verfasst: 12.04.2010, 21:16
von ideFix
Ja

Verfasst: 13.04.2010, 09:12
von tomyx
Hallo Ralf,
danke für die Antwort.
Ja, mit VMware vSphere PowerCLI funktioniert das eigentlich ganz gut.
Allerdings würde ich das ganze auf nem Linux laufen lassen, am liebsten auch auf einem ESX.
Also Hintergrund ist über nen Cronjob eine VM runterfahren, dann auf dem ESX die Backupsoftware starten (TSM), nach dem Backup die VM wieder hochfahren.
Wollte jetzt nicht alle ESX Server abklappern und schauen wo denn die VM läuft sondern das ganze halt über den Vcenter Server machen ohne grossen Aufwand.
Ist da mein Ansatz falsch?
Gruß
Tom
Verfasst: 13.04.2010, 09:13
von Nukite2007
Hallo ideFix,
habs ausprobiert. Klappt aber nicht denke es liegt daran, dass die API beim ESX4i auf read only steht.
Siehe
http://vmware-forum.de/viewtopic.php?p=78148
Oder gibts noch ne andere Möglichkeit eine VM, die auf nem ESX 4i laufen per Script zu stoppen/starten?
Grüße
Peter
Verfasst: 13.04.2010, 09:22
von irix
tomyx hat geschrieben:Hallo Ralf,
danke für die Antwort.
Ja, mit VMware vSphere PowerCLI funktioniert das eigentlich ganz gut.
Allerdings würde ich das ganze auf nem Linux laufen lassen, am liebsten auch auf einem ESX.
Also RCLI gibts auch fuer Linux und ich frage mal ob du dir schon mal die VMware V(i)MA angeschaut hast weil da ist der ganze Krempel schon vorinstalliert.
Gruss
Joerg
Verfasst: 13.04.2010, 09:26
von ideFix
Nukite2007 hat geschrieben:Hallo ideFix,
habs ausprobiert. Klappt aber nicht denke es liegt daran, dass die API beim ESX4i auf read only steht.
Siehe
http://vmware-forum.de/viewtopic.php?p=78148Oder gibts noch ne andere Möglichkeit eine VM, die auf nem ESX 4i laufen per Script zu stoppen/starten?
Grüße
Peter
Sorry daran hatte ich nicht gedacht - haben nur ESXi mit ESX-Lizenzen...
Verfasst: 13.04.2010, 11:23
von tomyx
irix hat geschrieben:tomyx hat geschrieben:Hallo Ralf,
danke für die Antwort.
Ja, mit VMware vSphere PowerCLI funktioniert das eigentlich ganz gut.
Allerdings würde ich das ganze auf nem Linux laufen lassen, am liebsten auch auf einem ESX.
Also RCLI gibts auch fuer Linux und ich frage mal ob du dir schon mal die VMware V(i)MA angeschaut hast weil da ist der ganze Krempel schon vorinstalliert.
Gruss
Joerg
Hallo Joerg,
Ja, den vSphere Managment Assistant hab ich direkt bei VMware heruntergeladen und ist am laufen.
Die ESX Knoten sowie den Vcenter hab ich mit den im Handbuch beschriebenen Befehlen registriert
Hat soweit auch funktioniert.
Zeigt alle ESX-Knoten und das Vcenter schön brav an.
Ich mach dann
Funktioniert.
Das gleiche allerdings mit dem Vcenter tut nicht.
Fehlermeldung:
Target host must be specified if host is a virtual center serverWill ja aber nicht, da mir das ja wurscht ist wo die VM läuft.
Das gleiche gilt für stoppen und starten von VM.
Code: Alles auswählen
vmware-cmd -H MyVcenterIP -T MyESXIP MyConfigFile.vmx start
Funktioniert
Funktioniert nicht. Fehlermeldung genauso
Target host must be specified if host is a virtual center server
Die Frage ist nun: Kann ich den Vcenter Server über die RCLI ansprechen also VM's starten und beenden? Über vSphere PowerCLI funktionierts doch!?
Gruß
Tom
Verfasst: 13.04.2010, 11:54
von irix
Also ich habe hier VIX installiert und dadrin ist die Eierlegendevollmichsau "vmrun" enthalten.
# Alle VMs auflisten
Code: Alles auswählen
vmrun -T viserver -h https://vcs.example.com/sdk -u "user" -p "pass" listRegisteredVM
# VM Guest shutdown
Code: Alles auswählen
vmrun -T viserver -h https://vcs.example.com/sdk -u "user" -p "pass" -gu "guestuser" -gp "guestpass" stop "[opene-01-01-l-001] meinevm/meinvm.vmx" soft
Dann hab ich da noch das alte VI Perl Toolkit
Code: Alles auswählen
pathto//Perl/apps/vm/vmcontrol.pl --server vcs.example.com --username user --password pass --operation poweroff --vmname meinevm
Das alles funktioniert mit dem vCenter.
Gruss
Joerg
Verfasst: 13.04.2010, 15:20
von tomyx
Halo Jörg,
vielen Dank
Funktioniert ganz prima mit dem VIX. Ich frag mich allerdings warum das nicht mit dem VMA funktioniert.
Spricht da was dagegen das VIX auf nem ESX zu installieren?
Gruß
Tom
Verfasst: 13.04.2010, 17:44
von irix
tomyx hat geschrieben:..
Spricht da was dagegen das VIX auf nem ESX zu installieren?
Auf einem ESX sollte man nichts installieren wenn es sich vermeiden laesst. Ich wuerde es auf dem vCenter installieren
Gruss
Joerg
Verfasst: 13.04.2010, 22:37
von Tschoergez
dass das mit dem vmware-cmd nicht funktioniert, liegt daran, das vmware-cmd wirklich nur für einzelne (bestimmte) esx geschrieben wurde.
mit den von joerg genannten vmcontrol.pl lässt sich das aber ohne probleme übers vCenter machen.
Falls Du zum Einstieg und/oder abändern der perl-beispiele noch mehr input brauchst, schau Dir mal die ganzen vicfg-irgendwas-Befehle in der vMA an. Das sind in Wirklichkeit auch "nur" perl-skripte...
Viele Grüße,
Jörg