none
Hyper-V 2019 fährt Gäste nicht runter RRS feed

  • Frage

  • Hallo.

    Ich habe auf dem Hyper-V 2019 mehrere Windows 2019 Gäste, die (wie eingestellt) mit dem Host herunterfahren sollen. Das passiert aber offensichtlich nicht ordnungsgemäß, da mich die Gäste jedes Mal mit Kernel-Power, Windows wurde unerwartet heruntergefahren, begrüßen - BugCheckCode 0.Updates sind aktuell, die Integrationsdienste im Client aktiv. Ein manuelles Herunterfahren funktioniert sowohl im Client als auch aus dem Hyper-V Manager normal.

    Zwei Fragen dazu:

    • Ist dieser Fehler bei MS bekannt und akzeptiert bzw. ist man beim bugfixing? Diesen Fehler hatte ich bereits bei 2016 beobachtet, er ist wohl auch schon bei 2012 aufgetreten, wurde dort aber gefixt. Meine Internetrecherche zeigt, das dieser Fehler bereits 2018 gemeldet wurde.
    • Was mich ärgert ist, das ich nun leider bei jeder Anmeldung die Meldung der Ereignisprotokollierung (Kernel-Power) erhalte. Diese wird zwar ordnungsgemäß beantwortet, kommt aber trotzdem immer wieder (ohne Neustart). Die Frage, wie bekomme ich das weg?

    Ich habe bereits das Systemprotokoll gelöscht, das hilft nicht. Scheinbar merkt Windows sich das noch anderswo!?


    • Bearbeitet MP.Topper Montag, 22. April 2019 17:30
    Montag, 22. April 2019 17:28

Antworten

  • Ja, das lässt sich dann wohl nur via eigenem Skript erledigen.

    @befuerchau: die Seite war informativ, guter Hinweis.

    Ich habe es nun so gelöst - zwei Powershell-Skripte für's Herunterfahren bzw. Neustarten (Bsp. anbei, ohne Gewähr)

    #Alle laufenden VMs herunterfahren
    $LaufendeVMs = Get-VM | Where state -eq ‘running’
    foreach ($VM in $LaufendeVMs){
        # VM herunterfahren
        Stop-VM -Name $VM.name -Force
        # Warten das VM heruntergefahren ist
        While ((Get-VM | Where { $_.Name -eq $VM.Name -and $_.State -eq ‘running'}).Count -gt 0) {Start-Sleep 1}}
    
    Restart-Computer

    Ich musste das Beispiel von devblogs etwas anpassen:

    • Stop-VM statt Stop-Computer da ich auch Non-Windows Gäste habe
    • Statt Wait-Event (das wurde bei mir nicht gefeuert) habe ich eine Schleife auf Status eingebaut

    Funktioniert. 

    Das andere Problem mit dem immer wiederkehrenden Hinweis auf unerwartetes Herunterfahren ließ sich über einen abgesicherten Start lösen: Abgesicherter Neustart, Meldung quittieren, ein weiteres Mal Abgesicherter Neustart = Meldung kam nicht mehr.

    Damit wäre mein Problem erst einmal umgangen. 


    Mittwoch, 24. April 2019 17:00

Alle Antworten

  • Hallo MP.Topper,

    Andere Benutzer haben bereits über das Problem berichtet. Es wurde auch bei Microsoft gemeldet, jedoch mir ist nicht bekannt, ob dies inzwischen etwas gebracht hat. Leider weiß ich auch nicht mehr.

    Gruß

    Mihaela


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 23. April 2019 14:03
    Moderator
  • Ggf. ist die eingestellte Zeit (Default 2 Minuten) für das Shutdown einfach zu kurz?

    https://www.altaro.com/hyper-v/extending-hyper-vs-guest-grace-period-host-shutdown/

    Dienstag, 23. April 2019 14:13
  • Ja, diesen Artikel habe ich auch gelesen, und auf 600s eingestellt - das ändert nichts. Ich glaube, der Fehler besteht weniger im Abbruch der Sequenz sondern darin, das das Herunterfahren gar nicht erst getriggert wird.

    Danke trotzdem.

    Dienstag, 23. April 2019 15:52
  • Die Frage stellt sich dann, ob du Hyper-V normal beendest oder den Host per Shutdown runterfährst.
    Auch beim Hostshutdown kann man einen Timeout mitgeben der Hyper-V natürlich ebenso genug Zeit mitgeben muss.

    Hast du die VM-Eisntellungen geprüft?
    https://www.apc.com/us/en/faqs/FA159689/

    Dienstag, 23. April 2019 16:09
  • Wie eingangs bereits mitgegeben, die VMs sind so eingestellt, das sie heruntergefahren werden, mit dem Host. Wie im altaro Artikel beschrieben, habe ich die ShutdownTimeout hochgesetzt, so wie auch die WaitToKillServiceTimeout - das ändert alles nichts, das Verhalten bleibt identisch. Ich bleibe bei meiner Vermutung, das das Herunterfahren der VMs nicht getriggert wird, wenn der Host heruntergefahren wird.

    Gibt es vielleicht noch Ideen zur zweiten Frage? Auch wenn ich den Hinweis "Unerwartetes Herunterfahren" beantworte kommt er trotzdem bei jeder Anmeldung wieder, obwohl es keinen Neustart gegeben hat...!? Irgendwo merkt sich Windows das, denn ich habe bereits alle Protokolle gelöscht, der Hinweis kommt hartnäckig wieder.

    Danke & Grüße. Magnus

    Dienstag, 23. April 2019 17:04
  • "Ein manuelles Herunterfahren funktioniert sowohl im Client als auch aus dem Hyper-V Manager normal."

    Dies zeigt zumindest, dass Hyper-V den Shutdown doch korrekt über die Integrationsdienste weiterleitet so dass sich die VM's auch korrekt beenden.
    Aber wie fährst du den Hyper-V-Host denn runter?

    Alles was ich finden kann ist, dass es da wohl keinen Automatismus gibt (wieder mal) und dies jeder selber steuern muss:
    https://devblogs.microsoft.com/scripting/use-powershell-to-perform-an-orderly-shutdown-of-a-server-running-hyper-v/


    • Bearbeitet bfuerchau Mittwoch, 24. April 2019 08:15
    Mittwoch, 24. April 2019 08:12
  • Ja, das lässt sich dann wohl nur via eigenem Skript erledigen.

    @befuerchau: die Seite war informativ, guter Hinweis.

    Ich habe es nun so gelöst - zwei Powershell-Skripte für's Herunterfahren bzw. Neustarten (Bsp. anbei, ohne Gewähr)

    #Alle laufenden VMs herunterfahren
    $LaufendeVMs = Get-VM | Where state -eq ‘running’
    foreach ($VM in $LaufendeVMs){
        # VM herunterfahren
        Stop-VM -Name $VM.name -Force
        # Warten das VM heruntergefahren ist
        While ((Get-VM | Where { $_.Name -eq $VM.Name -and $_.State -eq ‘running'}).Count -gt 0) {Start-Sleep 1}}
    
    Restart-Computer

    Ich musste das Beispiel von devblogs etwas anpassen:

    • Stop-VM statt Stop-Computer da ich auch Non-Windows Gäste habe
    • Statt Wait-Event (das wurde bei mir nicht gefeuert) habe ich eine Schleife auf Status eingebaut

    Funktioniert. 

    Das andere Problem mit dem immer wiederkehrenden Hinweis auf unerwartetes Herunterfahren ließ sich über einen abgesicherten Start lösen: Abgesicherter Neustart, Meldung quittieren, ein weiteres Mal Abgesicherter Neustart = Meldung kam nicht mehr.

    Damit wäre mein Problem erst einmal umgangen. 


    Mittwoch, 24. April 2019 17:00
  • Schön wäre es natürlich, wenn Hyper-V per Kommando incl. dem Herunterfahren aller VM's mit anschließendem Shutdown des Computers und ggf. Restart vorhanden wäre.
    Aber an sowas hat Microsoft dann wohl nicht gedacht, somit muss jeder selber rumwurschteln.

    Zu diesem Thema gibt es auch noch mehr Links auf diverse Script-Lösungen.

    Dein Script fährt die VM's aber nacheinander runter.
    Ich würde das in 2 Schleifen machen.
    1. Foreach: Stop aller laufenden VM's initiieren
    2. While-Prüfung auf Ende aller VM's, wobei hier das Zählen der laufenden VM's ja bereits reicht.
    Damit kann das Runterfahren der VM's parallelisiert werden.


    Mittwoch, 24. April 2019 17:22