Seite 1 von 1

VM's shutdown durch USV/powerCLI auch noch Migration

Verfasst: 18.06.2011, 19:42
von greenix
Wir haben ein Cluster aus 4 ESX hosts. Wenn bei Stromausfall ein shutdown ausgeführt wird und es werden zufälligerweise erst die VM's eines hosts heruntergefahren, kann es dann aufgrund des balancing noch zum verschieben der VM zwischen den hosts kommen?
Das nimmt dann ja doch einige Zeit in Anpruch und Zeit bei Stromausfall ist ja ein kritischer Faktor.

Wie ist es bei einem shutdown aller VM. Werden alle VM'S parallel heruntergefahren oder eine nach der anderen?

Gruß

greenix

Verfasst: 18.06.2011, 20:18
von irix
Das haengt doch von dem Script ab welches du verwendest. Was das DRS angeht haengt es wohl vom Level ab.

Gruss
Joerg

Verfasst: 18.06.2011, 20:55
von greenix
Der script läuft folgendermaßen:

foreach ($VM in($ESXSRV | GET-VM)) {
$VM | shutdown-VM-Guest -confirm:$false
}

nach ein gewissen Zeit stoppe ich alle VM's die noch nicht sauber heruntergefahren wurden auf die harte Art und fahre dann die ESX Server herunter

Wo kann ich mir im VCenter den DRS priority level ansehen?

Gruß

Jens

Verfasst: 18.06.2011, 21:56
von greenix
Hab den priority level gefunden. Steht auf Automatik. Hatte mich damit noch nicht beschäftigt und der Script, so wie ich ihn geschrieben habe, werden die VM's wohl fast parallel abgearbeitet.
Danke.

Verfasst: 18.06.2011, 22:22
von irix
Besagter Code uebermittelt ja nur den Befehl fuer den Shutdown und wartet nicht bis die VM heruntergefahren ist. Was DRS angeht so legst du ja noch die "Agressivitaet" fest wenn du den Automatischen Level verwendest. Wenn das in der Mitte steht dann dauert das ja durchaus eine Weile bis DRS aktiv wird.

Gruss
Joerg

Verfasst: 18.06.2011, 22:56
von greenix
Ich hab ein Zeitsschleife eingebaut bevor die ESX Server heruntergefahren werden:

$waittime = 300 #Seconds
$Time = (Get-Date).TimeofDay
do {
sleep 1.0
$timeleft = $waittime - ($Newtime.seconds)
$numvms = ($ESXSRV | Get-VM | Where { $_.PowerState -eq "poweredOn" }).Count
Write "Waiting for shutdown of $numvms VMs or until $timeleft seconds"
$Newtime = (Get-Date).TimeofDay - $Time
} until ((@($ESXSRV | Get-VM | Where { $_.PowerState -eq "poweredOn" }).Count) -eq 0 -or ($Newtime).Seconds -ge $waittime)

Aklle Maschinen die dann noch laufen werden mit stop vm angehalten

Ich bin damit nicht wirklich glücklich, weil ich nicht weiß wie lange das herunterfahren wirklich dauert, aber mir ist nichts anderes eingefallen. Oder gibt es noch eine bessere Lösung?

Der Schalter für die "Agressivität" beim DRS steht in der Mitte.

Gruß
Jens