Seite 1 von 1

Snapshots per PowerShell führen dazu das Host nicht reagiert

Verfasst: 01.11.2010, 16:23
von Raudi
Hallo,

wir haben bei einem Kunden die Virtuellen Maschinen auf einer N-Series (NetApp) per NFS liegen. Dort habe ich eingestellt, das die N-Series jede Nacht ein Snapshot erstellt.

Damit diese Snapshots auch einen relativ konsistenten Zustand haben, lasse ich kurz vor Mitternacht auf dem VCenter Server ein PowerShell Script laufen, welches unter VMware Snapshots erstellt:

Get-VM | New-Snapshot -Name NetAppSnap -Quiesce -RunAsyn

Für einen der 4 ESX Hosts meldet der VCenter dann aber dieses:

Der Host XXX in YYY reagiert nicht.

Danach Meldungen, das alle VM's getrennt sind. 1 Minute und 12 Sekunden Später ist der Host wieder verbunden.

Hat jemand eine Idee wie ich dieses Verhalten umgehen kann?

ideal wäre eine Variante, wo die Snapshots hintereinander erstellt werden und nicht alle gleichzeitig. Denn ich schätze mal, das die gleichzeitige erstellung den Host zu sehr stresst, so dass er kurzzeitig nicht antwortet.

Gruß

Stefan

Verfasst: 01.11.2010, 18:19
von irix
Dann lass das RunAsync doch mal weg oder noch besser erfrage die VMs und arbeite dann in einer Schleife. Dabei dann den Status bzw. Fehlerlevel abfragen und das ganze mal Loggen.

Gruss
Joerg

Verfasst: 01.11.2010, 18:31
von Raudi
Das Async ändert daran nichts, ohne wartet der nur bis alle fertig sind, startet aber trotzdem alle gleichzeitig.

Schleife ist gut... Dann muss ich mich wohl doch noch mal näher mit der PowerShell Programmierung auseinandersetzen.

Alle VM's einzeln im Script übergeben wollte ich auch nicht, da man dann ja das Script bearbeiten muss, wenn eine VM dazu kommt.

Vielleicht hat ja auch noch jemand anders einen Tipp fur mich....

Gruß
Stefan

Verfasst: 01.11.2010, 22:02
von *diego*
Raudi hat geschrieben:Schleife ist gut... Dann muss ich mich wohl doch noch mal näher mit der PowerShell Programmierung auseinandersetzen.


Code: Alles auswählen

$allVMs = Get-VM | select Name

foreach ($vm in $allVMs) {
     Snapshot erstellen
}


Sollte eventuell klappen. müsste ich Morgen selbst man kurz den genauen Syntax in meinem Script checken.

Verfasst: 02.11.2010, 08:25
von Raudi
Vielen Dank für den Tipp.

Damit hatte ich dann schon mal einen Ansatz mit dem ich beginnen konnte.

So werde ich das nun machen:

Code: Alles auswählen

$allVMs = Get-VM -location cluster | where {$_.Powerstate -eq "PoweredON"}

foreach ($vm in $allVMs) {
     $vm | New-Snapshot -Name NetAppSnap -Quiesce
}

Verfasst: 02.11.2010, 08:32
von irix
Du kannst noch ein sleep oder aber eine Abfrage ob der Task denn erfolgreich ausgefuehrt wurde einbauen. Ich wuerde auch in eine Datei loggen damit man eine Historie hat.

Gruss
Joerg

Verfasst: 02.11.2010, 08:36
von Raudi
Vielleicht später, erst mal will ich testen ob nun das Problem weg ist, das der Host nicht mehr antwortet.

Gruß
Stefan