Seite 1 von 1
ESXi VIX API
Verfasst: 16.11.2010, 23:01
von bico
Hallo da draußen,
Ich hab mich mal durch die VMWARE Documentations zu den APIs gewühlt und immer gelesen:
there are two methods for configuring an ESXi host:
• Using the VI Client, for graphical configuration
• Using the remote command line interfaces, for command-line–based and scripted configuration
(
http://communities.vmware.com/thread/291320)
Und
all you need to do is install the remote command line interfaces package on any system you will use to execute these commands.
Also hab ich auf meinen Linux Debian 5 Host die VMware-VIX-1.10.1-266898.x86_64.bundle installiert und vmrun ausgeführt. Doch da kam dann der Error:
Unable to connect to host.
Error: This operation is not supported with the current license
Jetzt bin ich etwas verunsichert, ich hab doch eine Lizens für VMware - zwar die kostenlose aber immerhin. Also bin ich im Developer-Forum auf die Suche gegangen und hab das hier gefunden was konträr zu den ganzen Dokumentationen aber steht:
Short story, you'll need to use a proper license other than the free version to be able to utilize VIX to manage your VM(s) or perform guest operations within the VM. If you 'some' functionality from VIX with free version of ESXi (any of them), install VIX 1.6.2 and you'll be able to circumvent licensing issue.
http://communities.vmware.com/thread/235509
A
Heißt das also jetzt dass es mit meiner ESXi Version nicht geht, aber wenn ich die VIX 1.6.2 mir hole gehen würde? Ich hab leiderüberall nur die 1.9er gefunden nirgends die 1.6.2er.
B
Wenn ich mir jetzt die kleinste Bundle, den Einsteiger hole, haben die momentan das hier:
http://www.vmware.com/de/vmwarestore/vs ... tions.html
seh ich richtig dass das die billigste Einsteigervariante wäre und das VIX Zeugs darüber dann laufen würde?
Ich bin gerade unentschlossen ob ich das für meine Zwecke erwerben soll oder eben nicht. Evtl gibt es ja sowas wie einen Workarround, z.B. dass man sich mittels root oder user auf dem esxi-Host per SSH einlogged und dann die Commandos ausführen kann?
Wie wären eure Ratschläge?
MfG
Bico
Verfasst: 16.11.2010, 23:16
von continuum
Bei den unbezahlten ESXis sollen die ganzen APIs wie Vix und Co theoretisch nicht funktionieren.
Es wuerd mich schwer wundern wenn 1.6.2 noch mit ESX4.1i funktioniert ???
Aber du hast recht - ueber ssh kann man auch das meiste erledigen - nur halt muehsamer
Verfasst: 16.11.2010, 23:17
von Dayworker
Jep, da bei der kostenlosen Lizenz ja nur die Readonly-API zur Verfügung steht.
Die Sache mit der Version 1.62 steht wohl im Zusammenhang mit dem ESXi3.5U2. Dort hatte VMware fälschlicherweise die Write-API freigeschaltet und das dann mit der U3 wieder "behoben".
Verfasst: 16.11.2010, 23:22
von irix
Moin,
ein "Free" ESXi oder auch aktuell der vSphere Hypervisor hat nur eine ReadOnly API damit eine automatisierung nicht moeglich ist Ergo funktionieren ein Grossteil der APIs bzw. Programme nicht und koennen nur Daten abziehen (lesen).
Das VIX Package ist primaer fuer die Guest Steuerung und dann gibts noch vSphere CLI (Perl basierend) und Power CLI (Powershell) zur Steuerung von VMs, Hosts und anderen vSphere Elementen.
Ja, durch den Kauf eines kleinen Essential Pakets schaltest du dir die API frei und kannst wahlfrei 3 ESXi oder ESX Hosts betreiben zusammen mit einem vCenter "Foundation".
Gruss
Joerg
Verfasst: 16.11.2010, 23:26
von irix
continuum hat geschrieben:..
Aber du hast recht - ueber ssh kann man auch das meiste erledigen - nur halt muehsamer
Bei einem ESXi ist auch mit SSH in der Busybox aufgrund fehlender Programm nicht wirklich viel zumachen. Ein vmware-cmd fehlt genauso wie ein vimsh, mal davon abgesehen was fuer einen Aufwand man betreiben muss bis man seine Keys und Scripte "speicherresistent" auf einem ESXi hinterlegt hat bzw. in ein oem.tgz gefummelt hat.
Gruss
Joerg
Verfasst: 16.11.2010, 23:44
von bico
Ich hab mir jetzt mal die VMware-vSphere-CLI-4.0.0-161974.x86_64.tar.gzgeholt und installiert.
In der Documentation steht
vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host>
/vmfs/volumes/Storage2/testvm/testvm.vmx start soft
zum starten müsste ich dann das einfach mit serverip usw ersetzen und dann würde der das remote machen? versteh ich nicht ganz, wenn du sagst die vmware-cmd sind bei dem esxi host nicht drauf, von wo aus man das vmware-cmd überhaupt ausführt.
Ziel ist es bei mir einfach eine VM zu starte/stoppen mittels Skript was von nem Remotesystem ausgeführt wird.
Server1 connected auf ESXi-Host und startet/stopt die entsprechende VM.
So sei´s zumindenst mal gedacht.
Diese PowerCLI hab ich davor noch nicht gehört, wäre die für mein Ziel eher zutreffender?
Verfasst: 16.11.2010, 23:47
von continuum
Hmmm - ich habe mir hier einen "spezial" ESXi gebastelt der ohne Lizenz laeuft und vimsh kann - ich dachte der waere mit dem normalen unbezahlten ESXi vergleichbar ... ?
Dann wohl doch nicht
Eh jemand fragt - das Teil was ich mir gebastelt habe taugt nichts fuer die produktion - der merkt sich noch nicht mal die IPs.
Das einzige was er sich merkt ist das root-password - ich nehme den nur fuer recovery-zwecke
Verfasst: 16.11.2010, 23:57
von irix
bico hat geschrieben:...
zum starten müsste ich dann das einfach mit serverip usw ersetzen und dann würde der das remote machen? versteh ich nicht ganz, wenn du sagst die vmware-cmd sind bei dem esxi host nicht drauf, von wo aus man das vmware-cmd überhaupt ausführt.
Das "vmware-cmd" ist Teil des COS eines ESX und steht zusaetzlich auch noch im vSphere CLI zur Verfuegung und fuehrt dort quasi Remote Befehle aus so wie alle externen Programme.
Ziel ist es bei mir einfach eine VM zu starte/stoppen mittels Skript was von nem Remotesystem ausgeführt wird.
Server1 connected auf ESXi-Host und startet/stopt die entsprechende VM.
So sei´s zumindenst mal gedacht.
Diese PowerCLI hab ich davor noch nicht gehört, wäre die für mein Ziel eher zutreffender?
Ja das hast du so richtig erdacht. Im Laufe der Jahre hat VMware nun mehrere Tools APIs und der gleichen heraus gebracht welche sich Teilweise imj Funktionsumfang unterscheiden. Ironischerweise gibts keins was alles kann

.
COS eines ESX:
- vimsh
- vmware-cmd
Remote:
- CLI
- Powershell
- VIX und da primaer "vmrun"
- WebAPI "Soap"
- Java,#C usw.
Fuer das ein oder andere Produkt kommen dann nochmal andere hinzu
vCloud Director
- PHP (allerdings REST und nicht SOAP)
Gruss
Joerg
Verfasst: 17.11.2010, 00:05
von bico
Okay, das verwirrt ja vielmehr als dass es einem weiterhilft mit diesen ganzen Möglichkeiten
Und für mein Vorhaben, wie kann ich dann von einem Remotehost auf einen ESXi Host connecten und eine VM remote starten?
vmware-cmd --server 192.168.1.25 /vmfs/volumes/storage1/vm1/vm1.vmx start soft
Enter username: root
Enter password:
Error: Server version unavailable at 'https://192.168.1.25/sdk/vimService.wsdl'
Verfasst: 17.11.2010, 00:12
von irix
bico hat geschrieben:Okay, das verwirrt ja vielmehr als dass es einem weiterhilft mit diesen ganzen Möglichkeiten

Und für mein Vorhaben, wie kann ich dann von einem Remotehost auf einen ESXi Host connecten und eine VM remote starten?
vmware-cmd --server 192.168.1.25 /vmfs/volumes/storage1/vm1/vm1.vmx start soft
Enter username: root
Enter password:
Error: Server version unavailable at 'https://192.168.1.25/sdk/vimService.wsdl'
Laut Doku von
http://www.vmware.com/support/developer ... e-cmd.html heist es -H anstelle von --server. Aber selbst wenn die Syntax dann richtig ist scheitest du an der ReadOnly API.
Zu meiner Aufzaehlung oben gehoert noch die vMA welche eine fertige (Linux/Centos) Appliance ist welche ein komplettes CLI Environment enthaelt.
Gruss
Joerg
Verfasst: 17.11.2010, 00:15
von bico
Okay,
Dachte allerdings dass man mittels der remote CLI das Problem einer read-only API eben nicht hat? Meine Frage wäre dann: Wie kann ich denn dann ohne mir jetzt die Version zu kaufen, mein Vorhaben realisieren?
Verfasst: 17.11.2010, 00:20
von irix
bico hat geschrieben:Okay,
Dachte allerdings dass man mittels der remote CLI das Problem einer read-only API eben nicht hat?
Du darfst Infos vom ESXi abrufen aber nur begrenzt Befehle senden bzw. garnichts. Stelll dir doch mal vor die Leute wuerde ganze Armeen von Free ESXi verwenden und sich dazu ein paar WebGUIs stricken untendrunter dann die Hosts per Remote zusteuern.... richtig.... viele wuerden dann keine Lizenzen mehr kaufen
Meine Frage wäre dann: Wie kann ich denn dann ohne mir jetzt die Version zu kaufen, mein Vorhaben realisieren?
Garnicht.
Gruss
Joerg
Verfasst: 17.11.2010, 00:25
von bico
Und diese Lizenz antesten, sprich schaun ob man damit zurecht kommt geht seitens VMware nicht? Sollte ich die kaufen und es stellt sich heraus es bringt mir nichts wäre das Geld also weg, etwas 1 Monat kostenlos testen und sich überzeugen lassen geht dann wohl nicht?
Verfasst: 17.11.2010, 00:31
von irix
bico hat geschrieben:Und diese Lizenz antesten, sprich schaun ob man damit zurecht kommt geht seitens VMware nicht? Sollte ich die kaufen und es stellt sich heraus es bringt mir nichts wäre das Geld also weg, etwas 1 Monat kostenlos testen und sich überzeugen lassen geht dann wohl nicht?
Natuerlich... .und nicht nur 1 Monat sondern ganze 2 Monate laueft die Software im Trial Mode. Aber immer im Hinterkopf haben das es die Features aus dem Enterprise Plus sind welche man dann aktuell hat.
Jenachdem wie lange dein Free Key schon laueft kannst du doch noch in den Trial zurueck schalten sofern noch Tage uebrig sind.
Gruss
Joerg
Verfasst: 17.11.2010, 00:48
von bico
Okay verstehe,
mittels vmrun kann ich schon relativ viel mit der VirtualMachine machen. Was ich beim durchlesen der ganzen Befehle wohl überlesen habe, war z.B. das ändern von Startoptionen (z.b. in Bios booten) oder mehrere CPU-Cores hinzufügen Festplatten erstellen/löschen usw. Wir das da auch unterstützt?
Verfasst: 17.11.2010, 07:55
von irix
bico hat geschrieben:Okay verstehe,
mittels vmrun kann ich schon relativ viel mit der VirtualMachine machen. Was ich beim durchlesen der ganzen Befehle wohl überlesen habe, war z.B. das ändern von Startoptionen (z.b. in Bios booten) oder mehrere CPU-Cores hinzufügen Festplatten erstellen/löschen usw. Wir das da auch unterstützt?
VIX ist ist eine Schnittstelle fuer Entwickler und das beiliegende "vmrun" ist nur ein Beispiel fuer das was man so entwickeln kann. Ich kann mich nicht erinneren das die von die angesprochenden Dinge da so enthalten sind.
Da wuerde ich nun mehr Powershell verwenden sofern du unter Windows zuhause bist. Fuer Massenaenderungen oder auch einzelne Sachen kann man gucken was an Code bei der Verwendung der EcoShell aka VESI herauskommt welche eine Gui ueber die Powershell gelegt haben wo der Code dynamisch erstellt und ausfuehrt bzw. anzeigt wird.
Gruss
Joerg
Verfasst: 19.11.2010, 12:20
von bico
Gibt es denn mit der ESXi 4.1 Version die Möglichkeit auf einen Webaccess ähnlich wie bei der vCenter-Geschichte mit
https://host:8333/ui ? Oder komme ich nur mittels dem vSphere Client auf die Konsolen der jeweiligen VMs ?
Cheerio
Bico
Verfasst: 19.11.2010, 12:26
von irix
bico hat geschrieben:Gibt es denn mit der ESXi 4.1 Version die Möglichkeit auf einen Webaccess ähnlich wie bei der vCenter-Geschichte mit
https://host:8333/ui ? Oder komme ich nur mittels dem vSphere Client auf die Konsolen der jeweiligen VMs ?
Cheerio
Bico
Es gibt kein Webaccess mehr auf den ESXi.
Gruss
Joerg
Verfasst: 19.11.2010, 12:55
von bico
Und überhaupt Möglichkeit außerhalb der vSphere Client Geschichte Konsoleninteraktion in VMs vorzunehmen, durch irgendwelche offene Ports oder so?
Verfasst: 19.11.2010, 13:00
von irix
bico hat geschrieben:Und überhaupt Möglichkeit außerhalb der vSphere Client Geschichte Konsoleninteraktion in VMs vorzunehmen, durch irgendwelche offene Ports oder so?
Eine der zahlreichen "Remote" Moeglichkeiten welche wir schon eroertert haben.
Wenn du die "VM Konsole" meinst dann gibts "vmware-vmrc.exe" fuer Windows/Linux welche eine Konsolenverbindung herstellt.
Gruss
Joerg
Verfasst: 19.11.2010, 13:02
von bico
Ja aber die sind alle kommerziell, richtig? Ich suche ja gerade eine nicht-kommerzielle Möglichkeit
Verfasst: 19.11.2010, 13:18
von irix
bico hat geschrieben:Ja aber die sind alle kommerziell, richtig? Ich suche ja gerade eine nicht-kommerzielle Möglichkeit
Hmm... noe die lassen sich alle herunterladen und kostenfrei betreiben. Das aendert aber alles nichts an der ReadOnly API des FreeESXi oder jetzt neu vSphere Hypervisor.
Gruss
Joerg
Verfasst: 19.11.2010, 14:18
von Tschoergez
Hi!
für die Console gibts was von solarwinds:
http://www.solarwinds.com/products/free ... nsole.aspx
außerdem natürlich die genannte vmware-vmrc.exe, und die zugrundeliegende .dll, falls man selber was programmieren will.
Viele grüße,
Jörg
Verfasst: 19.11.2010, 14:35
von irix
Irgendein Niederlaender hat so eine Konsolen Gui gestrickt welche alle VMs erfragt und dann per Auswahlmenu die Konsole startet. Ist kostenlos bis 25 VMs und drueber hinaus ein paar Euro... mit faellt nur die URL nicht ein aber ich meine ich habs auf
http://ntpro.nl gelesen.
Gruss
Joerg
Verfasst: 19.11.2010, 14:59
von ideFix
irix hat geschrieben:Irgendein Niederlaender hat so eine Konsolen Gui gestrickt welche alle VMs erfragt und dann per Auswahlmenu die Konsole startet. Ist kostenlos bis 25 VMs und drueber hinaus ein paar Euro... mit faellt nur die URL nicht ein aber ich meine ich habs auf
http://ntpro.nl gelesen.
Gruss
Joerg
Jepp - da liegst du richtig Joerg
->
http://www.ntpro.nl/blog/archives/1591- ... eased.html
Ich persönlich bleibe bei vmware-vmrc.exe...