Seite 1 von 1

Mehrere VMs nacheinander starten und heartbeat checken

Verfasst: 02.11.2009, 16:23
von Mantikor
Hi,

ich stehe vor einem Problem und hoffe, dass ihr mir helfen könnt (bin leider kein VMWare-Experte). Ich habe mehrere virtuelle Maschinen auf einem Host mit VMWare Server 2 laufen. Ich möchte diese jetzt über ein Skript herunterfahren, sie sichern und anschließend wieder hochfahren. Dabei soll aber sichergestellt werden, dass die virtuellen Maschinen eine gewisse Zeit "leben" (also vollständig hochgefahren ist), bevor die nächste startet. Meine Vorstellung ist, dass die Maschine gestartet wird, mein Skript dann den heartbeat prüft und nach 10 Minuten oder so die nächste Maschine gestartet wird.

Meine Frage an euch lautet: Kennt ihr einen Weg, diesen "heartbeat" zu überprüfen? Dabei ist mir egal, ob das ein Script, ein API-Befehl oder sonstwas ist, Hauptsache es funktioniert :grin:

Vielen Dank für eure Hilfe!

Verfasst: 02.11.2009, 21:22
von Dayworker
Runterfahren, sichern, Neustarten geht eigentlich alles per "ghettovcb". Du müßtest dann möglicherweise nur noch den verzögerten VM-Start aktivieren, wurde bestimmt in der Zwischenzeit hinzugefügt oder notfalls selbst hinzufügen.
Wobei mir 10min doch recht lang erscheinen und mehr als 2GB RAM für eine VM nur unproduktive Performance zuläßt. Daher sollten die VMs locker im 2min-Abstand komplett gestartet sein, andernfalls ist in meinen Augen entweder der Host oder der Diskspeicher etwas lahm.

Verfasst: 03.11.2009, 13:52
von Mantikor
Hi Dayworker,

die Situation ist, dass ich einen Domänencontroller als virtuelle Maschine aufgesetzt habe. Wenn ich jetzt einen zweiten Server starte bevor der DC vollständig oben ist, dann gibt das Probleme weil der zweite Server den DC nicht findet. Ein Heartbeat wie ich ihn mir vorstelle würde daher erst anfangen zu zählen, wenn die Maschine "da" ist - egal ob mal wieder irgendein Update von MS dafür sorgt, dass der reboot 10 Minuten statt zwei dauert.
Ghettovcb schaue ich mir jetzt mal an. Hast du (oder ein anderer Leser dieses Beitrags) noch weitere Ideen?

Danke!

Edit: Ghettovcb ist leider nicht das, was ich suche. Kennt ihr noch andere Möglichkeiten?

Verfasst: 05.11.2009, 14:50
von Mantikor
Ich habe das Problem jetzt mit einer Batchdatei selbst gelöst. Die sieht so aus:

Code: Alles auswählen

echo Der Testserver wird gestartet und auf Heartbeat gecheckt:
call vmrun -T server -h https://127.0.0.1:8333/sdk -u %user% -p %password% start "[test] test.vmx" nogui
:loop
if exist %testserver% (
if %n% LSS 10 (
echo +
set /a n+=1
"c:\Program Files (x86)\Windows Resource Kits\Tools\sleep.exe" 5
goto loop
) else (
echo %n%
echo Ende
)) else (
if %n% LSS 10 (
echo -
"c:\Program Files (x86)\Windows Resource Kits\Tools\sleep.exe" 5
goto loop))   


n ist einfach eine Zählvariable, testserver ist ein freigegebener Share auf dem Gastsystem (Logik: Wenn der Rechner oben ist, gibt es auch den Share - wenn ich den ne Weile erreiche, ist der Rechner wohl hochgefahren. Jedes Erreichen = ein Heartbeat).

Danke für eure Mühen!

Verfasst: 05.11.2009, 16:30
von nbfbe
Und alternativ: wie wäre es mit einem 2. DC? Was ist, wenn dein jetziger DC abraucht?

Kost´ nix und ist schnell & einfach realisiert ... :)


Gruß
Frank