Alle Vms auf einem ESXi 5 System suspenden und Host herunterfahren
Hallo,
ich möchte folgendes realisieren.
Ich möchte alle VM's auf einem Host Suspenden und den Host herunter fahren. Das ganze soll durch ein USV Event ausgelöst werden. Aktuell wird der Host herunter gefahren, aber die VM's einfach abgeschaltet ohne herunter zu fahren / zu suspenden.
Meine überlegung dazu ist mit diesem Script was ich im Netz gefunden habe:
Nur habe ich das Problem, dass ich mehrer Hosts habe und somit die VMid's sich ändern.
Lese ich das aus (Reduziert auf Name und ID):
Kommen gemischte ID's heraus.
Meine Überlegung ist, dass ich die ID's separiere und in ein Array schreibe. Anschließend lasse ich das mit einer For-Schleife / bzw. do while laufen.
das ist dann auch die Stelle, an der ich hänge, da ich nicht genau weiß, wie ich das separieren kann.
Ausgeführt wird das Script direkt auf einem VMHost.
VM-System ist: VMWare ESXi 5.0
Gruß
ich möchte folgendes realisieren.
Ich möchte alle VM's auf einem Host Suspenden und den Host herunter fahren. Das ganze soll durch ein USV Event ausgelöst werden. Aktuell wird der Host herunter gefahren, aber die VM's einfach abgeschaltet ohne herunter zu fahren / zu suspenden.
Meine überlegung dazu ist mit diesem Script was ich im Netz gefunden habe:
# Get a list of all VMS currently on the ESX host
vim-cmd vmsvc/getallvms
# Suspend Virtual Machine 32 (From output of previous command)
vim-cmd vmsvc/power.suspend 32
# Flush disks
sync
sync
# Power off
poweroff
Nur habe ich das Problem, dass ich mehrer Hosts habe und somit die VMid's sich ändern.
Lese ich das aus (Reduziert auf Name und ID):
~ # vim-cmd vmsvc/getallvms
Vmid Name
15 server1
20 server5
24 server13
31 server2
36 server3
7 server10
~ #
Kommen gemischte ID's heraus.
Meine Überlegung ist, dass ich die ID's separiere und in ein Array schreibe. Anschließend lasse ich das mit einer For-Schleife / bzw. do while laufen.
das ist dann auch die Stelle, an der ich hänge, da ich nicht genau weiß, wie ich das separieren kann.
Ausgeführt wird das Script direkt auf einem VMHost.
VM-System ist: VMWare ESXi 5.0
vim-cmd vmsvc/power.suspend Vmid
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 220895
Url: https://administrator.de/contentid/220895
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
7 Kommentare
Neuester Kommentar
Hi,
wäre PowerCLI vllt eine Alternative für dich?
http://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Susp ...
wäre PowerCLI vllt eine Alternative für dich?
http://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Susp ...
Hi, wir hatten beinah dasselbe Problem. Da die von APC mitgelieferte Software nur mit Java 6 läuft und wir kein Java 6 auf unseren Servern haben wollen.
Wir stehen noch vor der Virtualisierung, allerdings macht das keinen Unterschied.
Wir nutzen Nagios zur Überwachung der USVs.
ein kleines Script überprüft die Restlaufzeit und setzt einen Befehl an die NSClient++ Clients auf den Servern.
Das führt dann nur noch ein kleines cmd aus (shutdown /s /f /t 60)
Das solltest du auch auf den Linux VM Hosts nutzen können.
Bei uns ist das zb so:
z.B. 1 USV fällt aus -> Warnung, kein Shutdown da redundante Netzteile auf USVs aufgeteilt sind.
2/3 USVs haben eine Reslaufzeit von unter 60 Minuten -> unwichtige Server werden heruntergefahren (2nd DC, Printserver, Datenbankserver für Anwendungen vor Ort)
2/3 unter 30 Minuten: Alle bis auf z.b. DC und Exchange sowie Blackberryserver werden heruntergefahren.
2/3 unter 15 Minuten: Kompletter Shutdown.
lg
Wir stehen noch vor der Virtualisierung, allerdings macht das keinen Unterschied.
Wir nutzen Nagios zur Überwachung der USVs.
ein kleines Script überprüft die Restlaufzeit und setzt einen Befehl an die NSClient++ Clients auf den Servern.
Das führt dann nur noch ein kleines cmd aus (shutdown /s /f /t 60)
Das solltest du auch auf den Linux VM Hosts nutzen können.
Bei uns ist das zb so:
z.B. 1 USV fällt aus -> Warnung, kein Shutdown da redundante Netzteile auf USVs aufgeteilt sind.
2/3 USVs haben eine Reslaufzeit von unter 60 Minuten -> unwichtige Server werden heruntergefahren (2nd DC, Printserver, Datenbankserver für Anwendungen vor Ort)
2/3 unter 30 Minuten: Alle bis auf z.b. DC und Exchange sowie Blackberryserver werden heruntergefahren.
2/3 unter 15 Minuten: Kompletter Shutdown.
lg