Hyper-V Cluster: Virtuelle Maschinen überwachen mit Bordmitteln

    VM-Monitoring im Hyper-V-ClusterIm Hyper-V-Cluster lassen sich virtu­elle Ma­schinen samt Anwen­dungen und Dien­sten mit Bord­mitteln aus dem Failover­cluster-Manager über­wachen. Der Ver­bund ist dann in der Lage, auf Fehler in VMs autonom zu rea­gieren und auf bestimmte Ereig­nisse hin Aktionen auszu­lösen.

    Seit Windows Server 2012 erlaubt der Cluster-Dienst das Monitoring hochver­fügbarer virtueller Maschinen. Bei wiederkehrenden Unterbrechungen von Diensten in diesen Maschinen kann er bestimmte Maßnahmen automatisch ergreifen, etwa indem er VMs auf einem neuen Knoten neu startet. Dieses Feature lässt sich im Failovercluster-Manager (FCM) aktivieren.

    Zuvor sind jedoch einige Voraussetzungen zu erfüllen. Anhand einer klassischen Druckwarte­schlangen-Über­wachung zeige ich die grundlegende Konfiguration im Hyper-V-Labor.

    Voraussetzungen für die Überwachung von VMs

    Windows-Gäste ab Server 2012 können durch ein VM-Monitoring überwacht werden, der Failovercluster-Manager gibt diesen Hinweis im Fall anderer Betriebssysteme zusätzlich aus.

    Das Gastbetriebssystem muss mindestens Windows Server 2012 sein.

    Eine weitere Bedingung besteht darin, dass die virtuelle Maschine Mitglied in der gleichen AD-Domäne ist wie der Host-Cluster. Außerdem muss der Administrator des Clusters administrative Berechtigungen für das Gast-OS erhalten.

    Darüber hinaus setzt das Monitoring voraus, dass im Betriebssystem der virtuellen Maschine die entsprechenden eingehenden Firewall-Ports geöffnet werden. Über Ausführen => firewall.cpl startet die GUI der Windows-Firewall und über den Befehl App oder Feature durch Windows-Firewall zulassen erlaubt man die Überwachung virtueller Computer. Das Kommando

    netsh advfirewall firewall set rule group="Überwachung für virtuelle Computer" new enable=yes

    oder PowerShell führen auch zum Ziel:

    Set-NetFirewallRule -DisplayGroup "Überwachung für virtuelle Computer" -Enabled True

    Die erweiterten Einstellungen der Windows-Firewall zeigen danach die aktivierten Ports und machen, wenn nötig, eine Feinabstimmung möglich.

    In der virtuellen Maschine muss die Firewall für die Überwachung von VMs konfiguriert werden.

    Überwachung virtueller Maschinen konfigurieren

    Sind alle Voraus­setzungen gegeben, dann kann man die Überwachung über die GUI des Failovercluster-Managers aktivieren. Über das Kontextmenü der jeweiligen virtuellen Maschine gelangt man zu Weitere Aktionen => Überwachung konfigurieren.

    Im Failovercluster-Manager wird über das Kontextmenü der VM die Überwachung aktiviert.

    Der nachgelagerte Dialog listet dann die Dienste auf, welche vom Failovercluster-Manager aus überprüft werden können. Hier tauchen nur Services mit einem eigenen Prozess auf, wie Exchange oder SQL Server.

    Über die GUI lassen sich nur Dienste mit einem eigenen Prozess auswählen.

    Es ist jedoch möglich, mit dem Cmdlet

    Add-ClusterVMMonitoredItem -VirtualMachine HA-VM-03 -Service <SERVICE>

    weitere Dienste und Anwendungen mit zu überwachen.

    Fehleraktion für Spooler festlegen

    In diesem Beispiel soll der virtuelle Print-Server durch das Cluster mit überprüft werden, um im Fall von Fehlern des Spooler-Dienstes zu reagieren. Doch zuvor ist es notwendig, die Eigenschaften dieses Drucker­warte­schlangen-Dienstes zu überprüfen.

    Unter den Diensten, welche auch über Ausführen => services.msc erreichbar sind, werden im Kontextmenü der Druckwarte­schlange die Eigenschaften aufgerufen. Unter dem Menüpunkt Wiederherstellung muss dann bei weiteren Fehlern die Aktion: Keine Aktion durchführen ausgewählt werden, andernfalls kann der Cluster-Dienst nicht eingreifen.

    Bei der Konfiguration des Dienstes soll bei weiteren Fehlern keine Aktion ausgeführt werden.

    Der Windows-Dienst-Manager versucht hier laut Konfiguration genau zweimal, den Service nach einem Fehler wieder zu starten, beim dritten Mal wird der Cluster-Dienst aktiv. Im Labor überprüfe ich das Verhalten des Features, indem ich den Spooler mit

    Stop-Process -Name spoolsv -Force

    beende.

    Reaktionen bei wiederkehrenden Dienst-Fehlern

    Erwartungs­gemäß gerät der Dienst zweimal in die Lage, sich selber wieder zu stabilisieren und wird gestartet. Der dritte Absturz lässt jedoch den Cluster-Dienst aufgrund seiner Überwachung aktiv werden und die virtuelle Maschine wird in erster Konsequenz auf dem Knoten neu gestartet.

    Kommt es innerhalb von 15 Minuten nach dem zweifachen Neustart zu erneuten Fehlern, dann erfolgt bei dritter Wiederholung ein Failover zum best­möglichen Nachbar-Knoten. Im Eventlog zeichnet der Node Events mit der ID 1250 auf, an diese lassen sich auch folgende Aufgaben anfügen.

    Erzielt das Failover keinen Erfolg und kommt es weiterhin zu Fehlern, verbleibt die VM im fehlerhaften Zustand ("Anwendung in VM kritisch") auf dem Knoten des Zwei-Knoten-Verbundes. Der Failovercluster-Manager zeigt ebenfalls den Status unterhalb des virtuellen Computers an. Auch in der Ereignisanzeige werden unter Windows-Protokolle => System diese Vorkommnisse mit der ID 1254 protokolliert.

    Keine Kommentare