Dies ist eine alte Version des Dokuments!


Cluster Heart Beat Timeout erhöhen

Ein Hochverfügbarkeitscluster stellt besondere Anforderungen an die Erreichbarkeit der einzelnen Knoten im Cluster. Werden ein oder mehrere Knoten eines Clusters in einem bestimmten Zeitraum nicht mehr erreicht, werden Maßnahmen durchgeführt, die bis hin zu einem Failoverswitch auf einen anderen Knoten führen. Ein Clusterknoten sendet dazu »Heartbeats«, dass sind im Prinzip Pings zB an den zweiten Knoten im Cluster und es wird erwartet, dass diese innerhalb bestimmter Zeiträume »Delay« und zu einer bestimmten Ping Verlust Rate »Threshold« beantwortet werden müssen. Folgendes Kommando liest die aktuelle Konfiguration diesbzgl. aus (Ersetzen Sie »DAG1« mit dem Namen ihres Clusters):

[PS] C:\Windows\system32>get-cluster | fl *subnet*


CrossSubnetDelay          : 1000
CrossSubnetThreshold      : 5
PlumbAllCrossSubnetRoutes : 0
SameSubnetDelay           : 1000
SameSubnetThreshold       : 5

Note: Das cmd-let »get-cluster« ist Bestandteils des Powershell Moduls »failoverclusters« und muss zuerst geladen werden: »import-module failoverclusters«1). Alternativ dazu können Sie auch das Kommando »cluster.exe /cluster:<Clustername> /prop« verwenden.</fc>

Die oben mit dem »get-cluster« Kommando ermittelten Werte bilden die Standardeinstellungen ab. Der Wert »1000« bei »SameSubnetDelay« bedeutet, dass alle 1000 Millisekunden ein Ping gesendet wird und der Wert »5« bei »SameSubnetThreshold« bedeutet, dass maximal 5 dieser Pings verloren gehen dürfen, ehe Failovermaßnahmen ergriffen werden. Das bedeutet, dass die Netzwerkverbindung maximal 5 Sekunden ausfallen darf2)3).

Das Problem:

Unsere Knoten im Cluster sind beide virtualisiert, wodurch es uU schon mal zu Problemen mit der Erreichbarkeit kommen kann, wenn der Host zB gerade stark ausgelastet ist. Gerade wenn ein Backup- und/oder Replikationstask auf dem Host ausgeführt wird, kann es ggf. zu einem Überschreiten der Grenzwerte kommen, was zu einem Auslösen der Failovermaßnahmen führt. Interessant sind in diesem Kontext die Werte der Parameter »SameSubnetDelay« und »SameSubnetThreshold«, wenn sich die Knoten innerhalb eines Subnetzes befinden, bzw. »CrossSubnetDelay« und »CrossSubnetThreshold«, wenn die Knoten des Clusters auf mehrere Subnetze verteilt sind4).

Typische Fehler die auftreten können, wenn ein Knoten im Cluster ausfällt sind zB folgende:

Die Lösung:

Es gibt eine Fülle von Empfehlungen, wie die Konfiguration idealerweise angepasst werden sollen, die häufigste stellt die Werte auf die maximal erlaubten »2000« Millisekunden bei »SameSubnetDelay« bzw. »CrossSubnetDelay« und »10« bei »SameSubnetThreshold« bzw. »20« bei »CrossSubnetThreshold« ein. Unsere Knoten sind nicht über mehrere Subnetze verteilt, was bedeutet wir ändern nur die »SameSubnet« Parameter:

[PS] C:\Windows\system32>cluster /cluster:DAG1 /prop SameSubnetDelay=2000:DWORD
[PS] C:\Windows\system32>cluster /cluster:DAG1 /prop SameSubnetThreshold=10:DWORD
[PS] C:\Windows\system32>get-cluster | fl *subnet*


CrossSubnetDelay          : 1000
CrossSubnetThreshold      : 5
PlumbAllCrossSubnetRoutes : 0
SameSubnetDelay           : 2000
SameSubnetThreshold       : 10

Die Werte werden in die Registry nach »HKLM\Cluster« geschrieben und auf die restlichen Mitglieder des Clusters repliziert. Die Einstellungen können auf einem beliebigen Mitglied des Clusters vorgenommen werden.

Note: Bedenken Sie, dass Sie damit nur ein sichtbares Symptom und nicht die eigentliche Ursache beheben. Die Netzwerkprobleme die zu diesen Failoveraktivitäten geführt haben, sind damit immer noch vorhanden. Benutzen Sie diese Einstellungen demnach mit Bedacht.

pronto 2016/11/09 15:03

win/exec2010_cluster_heart_beat_timeout.1478702963.txt.gz (7741 views) · Zuletzt geändert: 2016/11/09 15:49 von pronto
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0