Windows Server 2016 Failover-Cluster: Troubleshooting mit Cluster.log

    Troubleshooting mit Cluster-LogsKommt es zu uner­war­teten Problemen im Windows-Cluster, bei­spiels­weise zu Aus­fällen hoch­verfüg­barer virtueller Ma­schinen, dann sind eine detail­lierte Diag­nose und ein fol­gendes Trouble­shooting ange­sagt. Das Cluster-Logfile hilft bei der Auf­klärung der Ur­sachen.

    Sporadische Ausfälle eines Cluster Shared Volumes oder eines ganzen Knotens werden oftmals zur Geduldsprobe. Liegt es am Treiber der iSCSI-Karten oder am DSM des Herstellers? Erste Aufmerksamkeit sollte der Ereignisanzeige des Cluster-Knotens und speziell dem System-Protokoll gelten, welches eine Reihe von Events im Bereich Failover Clustering aufzeichnet.

    Weitere Stationen auf dem Weg zur Lösung bieten auch die detail­reichen Anwendungs- und Dienst­protokolle zum Failover Clustering. In Windows Server 2016 kommt der neue Channel DiagnosticVerbose mit einem dichteren Log-Level zum Einsatz und zeichnet nun neben dem Diagnose Channel ausführlich System­ereignisse auf.

    Zusätzlich ist es möglich, über das Cluster Log Informationen der einzelnen Knoten des Verbundes in einer Datei zusammen­zuziehen (dump) und ggf. selber zu analysieren oder dem Cluster-Support zur Verfügung zu stellen.

     Über die Anwendungs- und Dienstprotokolle erreicht man die DiagnosticVerbose-Einträge.

    Cluster.log generieren

    Die Datei Cluster.log lässt sich auf einem Knoten des Verbundes für einzelne oder alle Mitglieder generieren. Dazu dient das PowerShell Cmdlet Get-ClusterLog, das auch in vorherigen Versionen von Windows Server vorhanden war. Ohne weitere Parameter legt es auf jedem Node eine zugehörige Datei ab, doch mit folgenden Schaltern lässt sich die Ausgabe individuell beeinflussen:

    PowerShell Cmdlet Get-ClusterLog inklusive Schalter

    -Destination Speichert die Dateien in einem zentralen Ordner z.B.: C:\ClusterLog
    -TimeSpan Zieht die jüngsten Events eines vorgegebenen Zeitraumes zusammen, z.B.: letzten 60 Minuten
    -Node Generiert das Logfile für bestimmte Knoten hier: IndeNode01
    -UseLocalTime Schreibt die Ereigniseinträge mit der Server-Zeit, nicht im UTC Format + Zeitzone

    Der Standardordner für das Logfile befindet sich auf dem betreffenden Knoten unter C:\Windows\Cluster\Reports.

    Die Logdatei in Excel importieren

    Zur besseren Übersicht lassen sich die Komma-separierten Cluster-Objekte wie Nodes, Networks, Volumes etc. in Excel importieren und weiter in Spalten auswerten. Zusätzlich tragen eventuell angelegte Filter oder die detaillierte Excel-Suche zum schnellen Trouble­shooting bei.

    Die Komma-separierte Cluster.log in Excel importieren

    Eine Gliederung der Objekte und Eventlogs mit [===  ===] in den Überschriften unterstützt die Suche nicht nur in Excel, sondern auch im Editor. Der direkte Sprung hin zur Überschrift bei einer Fülle von Informationen macht das Trouble­shooting um einiges leichter.

    Über die Suchfunktion des Editors gelangt man schnell zum Ziel.

    Informationsstruktur einer Cluster.log Datei

    Das Cmdlet Get-ClusterLog zieht neben den Cluster-Objekten nun auch weitere Events in einer Datei zusammen. Dazu gehören die Channels

    [=== Microsoft-Windows-FailoverClustering/Operational logs ===]

    [=== Microsoft-Windows-ClusterAwareUpdating/Admin logs ===]

    [=== Microsoft-Windows-FailoverClustering/DiagnosticVerbose ===]

    plus die Ereignisse zu

    [=== System ===]

    und des bisherigen Diagnose Channels

    [=== Cluster Logs ===]

    Die Struktur der Cluster.log wurde in Server 2016 geändert.

    Im Windows Server 2016 beinhaltet die Datei nun also auch die Events des Systems und macht einen separaten Export und eine getrennte Analyse überflüssig. Alle notwendigen Daten der Cluster-Mitglieder fließen so in das Cluster-Log ein und lassen sich an einer Stelle auswerten.

    Zusätzlich erkennt man im Dateikopf, ob das Log in UTC (Universal Time Coordinated, koordinierte Weltzeit) + Zeitzone oder mit lokaler Zeit generiert wurde. Der bereits angesprochene Schalter UseLocalTime lässt die Ereignisse mit Zeitstempel so erscheinen, wie der Server sie auch in seine Ereignisanzeige wegschreibt. Ein Hinweis im Kopf der Datei weist auf den Gebrauch hin und hilft Unstimmigkeiten zu verhindern.

    Keine Kommentare