IaaS mit SQL Server-Optimierungs-Failovercluster-Netzwerk SchwellenwertenIaaS with SQL Server - Tuning Failover Cluster Network Thresholds

In diesem Artikel werden Lösungen zum Anpassen des Schwellenwerts von failoverclusternetzwerken vorgestellt.This article introduces solutions for adjusting the threshold of failover cluster networks.

SymptomSymptom

Beim Ausführen von Windows-Failoverclusterknoten in IaaS mit einer SQL Server Always on Verfügbarkeits Gruppe wird empfohlen, die Cluster Einstellung in einen stärker gelockerten Überwachungs Status zu ändern.When running Windows Failover Cluster nodes in IaaS with a SQL Server Always On availability group, changing the cluster setting to a more relaxed monitoring state is recommended. Standardmäßig sind die Cluster Einstellungen restriktiv und können zu nicht benötigten Ausfällen führen.Cluster settings out of the box are restrictive and could cause unneeded outages. Die Standardeinstellungen sind für hochoptimierte lokale Netzwerke konzipiert und berücksichtigen nicht die Möglichkeit der durch eine mehr Instanzen fähigen Umgebung, wie z. b. Windows Azure (IaaS), verursachten Latenz.The default settings are designed for highly tuned on premises networks and do not take into account the possibility of induced latency caused by a multi-tenant environment such as Windows Azure (IaaS).

Das Windows Server-Failoverclustering überwacht ständig die Netzwerkverbindungen und die Integrität der Knoten in einem Windows-Cluster.Windows Server Failover Clustering is constantly monitoring the network connections and health of the nodes in a Windows Cluster. Wenn ein Knoten über das Netzwerk nicht erreichbar ist, wird eine Wiederherstellungsaktion ausgeführt, um die Anwendungen und Dienste auf einem anderen Knoten im Cluster wieder online zu schalten.If a node is not reachable over the network, then recovery action is taken to recover and bring applications and services online on another node in the cluster. Die Latenz bei der Kommunikation zwischen Cluster Knoten kann zu folgendem Fehler führen:Latency in communication between cluster nodes can lead to the following error:

Fehler 1135 (System Ereignisprotokoll)Error 1135 (system event log)

Der Cluster Knoten Node1 wurde aus der aktiven failoverclustermitgliedschaft entfernt.Cluster node Node1 was removed from the active failover cluster membership. Die Clusterdienst auf diesem Knoten wurde möglicherweise beendet.The Cluster service on this node may have stopped. Dies kann auch darauf zurückzuführen sein, dass der Knoten die Kommunikation mit anderen aktiven Knoten im Failovercluster verloren hat.This could also be due to the node having lost communication with other active nodes in the failover cluster. Führen Sie den Konfigurationsüberprüfungs-Assistenten aus, um die Netzwerkkonfiguration zu überprüfen.Run the Validate a Configuration wizard to check your network configuration. Wenn die Bedingung weiterhin besteht, prüfen Sie, ob Hardware-oder Softwarefehler im Zusammenhang mit den Netzwerkadaptern auf diesem Knoten vorliegen.If the condition persists, check for hardware or software errors related to the network adapters on this node. Überprüfen Sie auch, ob in anderen Netzwerkkomponenten, mit denen der Knoten verbunden ist, wie z. b. Hubs, Switches oder Bridges, auf Fehler.Also check for failures in any other network components to which the node is connected such as hubs, switches, or bridges.

Beispiel für Cluster. log:Cluster.log Example:

0000ab34.00004e64::2014/06/10-07:54:34.099 DBG   [NETFTAPI] Signaled NetftRemoteUnreachable event, local address 10.xx.x.xxx:3343 remote address 10.x.xx.xx:3343
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [IM] got event: Remote endpoint 10.xx.xx.xxx:~3343~ unreachable from 10.xx.x.xx:~3343~
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [IM] Marking Route from 10.xxx.xxx.xxxx:~3343~ to 10.xxx.xx.xxxx:~3343~ as down
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [NDP] Checking to see if all routes for route (virtual) local fexx::xxx:5dxx:xxxx:3xxx:~0~ to remote xxx::cxxx:xxxd:xxx:dxxx:~0~ are down
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [NDP] All routes for route (virtual) local fxxx::xxxx:5xxx:xxxx:3xxx:~0~ to remote fexx::xxxx:xxxx:xxxx:xxxx:~0~ are down
0000ab34.00007328::2014/06/10-07:54:34.099 INFO  [CORE] Node 8: executing node 12 failed handlers on a dedicated thread
0000ab34.00007328::2014/06/10-07:54:34.099 INFO  [NODE] Node 8: Cleaning up connections for n12.
0000ab34.00007328::2014/06/10-07:54:34.099 INFO  [Nodename] Clearing 0 unsent and 15 unacknowledged messages.
0000ab34.00007328::2014/06/10-07:54:34.099 INFO  [NODE] Node 8: n12 node object is closing its connections
0000ab34.00008b68::2014/06/10-07:54:34.099 INFO  [DCM] HandleNetftRemoteRouteChange
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [IM] Route history 1: Old: 05.936, Message: Response, Route sequence: 150415, Received sequence: 150415, Heartbeats counter/threshold: 5/5, Error: Success, NtStatus: 0 Timestamp: 2014/06/10-07:54:28.000, Ticks since last sending: 4
0000ab34.00007328::2014/06/10-07:54:34.099 INFO  [NODE] Node 8: closing n12 node object channels
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [IM] Route history 2: Old: 06.434, Message: Request, Route sequence: 150414, Received sequence: 150402, Heartbeats counter/threshold: 5/5, Error: Success, NtStatus: 0 Timestamp: 2014/06/10-07:54:27.665, Ticks since last sending: 36
0000ab34.0000a8ac::2014/06/10-07:54:34.099 INFO  [DCM] HandleRequest: dcm/netftRouteChange
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [IM] Route history 3: Old: 06.934, Message: Response, Route sequence: 150414, Received sequence: 150414, Heartbeats counter/threshold: 5/5, Error: Success, NtStatus: 0 Timestamp: 2014/06/10-07:54:27.165, Ticks since last sending: 4
0000ab34.00004b38::2014/06/10-07:54:34.099 INFO  [IM] Route history 4: Old: 07.434, Message: Request, Route sequence: 150413, Received sequence: 150401, Heartbeats counter/threshold: 5/5, Error: Success, NtStatus: 0 Timestamp: 2014/06/10-07:54:26.664, Ticks since last sending: 36
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <realLocal>10.xxx.xx.xxx:~3343~</realLocal>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <realRemote>10.xxx.xx.xxx:~3343~</realRemote>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <virtualLocal>fexx::xxxx:xxxx:xxxx:xxxx:~0~</virtualLocal>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <virtualRemote>fexx::xxxx:xxxx:xxxx:xxxx:~0~</virtualRemote>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <Delay>1000</Delay>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <Threshold>5</Threshold>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <Priority>140481</Priority>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO    <Attributes>2147483649</Attributes>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO  </struct mscs::FaultTolerantRoute>
0000ab34.00007328::2014/06/10-07:54:34.100 INFO   removed
0000ab34.0000a7c0::2014/06/10-07:54:38.433 ERR   [QUORUM] Node 8: Lost quorum (3 4 5 6 7 8)
0000ab34.0000a7c0::2014/06/10-07:54:38.433 ERR   [QUORUM] Node 8: goingAway: 0, core.IsServiceShutdown: 0
0000ab34.0000a7c0::2014/06/10-07:54:38.433 ERR   lost quorum (status = 5925)

UrsacheCause

Zum Konfigurieren der konnektivitätsintegrität des Clusters werden zwei Einstellungen verwendet.There are two settings that are used to configure the connectivity health of the cluster.

Delay – definiert die Häufigkeit, mit der Cluster Takte zwischen Knoten gesendet werden.Delay – This defines the frequency at which cluster heartbeats are sent between nodes. Die Verzögerung ist die Anzahl der Sekunden, bevor der nächste Takt gesendet wird.The delay is the number of seconds before the next heartbeat is sent. Innerhalb desselben Clusters kann es unterschiedliche Verzögerungen zwischen Knoten im gleichen Subnetz und zwischen Knoten geben, die sich in unterschiedlichen Subnetzen befinden.Within the same cluster, there can be different delays between nodes on the same subnet and between nodes, which are on different subnets.

Threshold – definiert die Anzahl von Takten, die übersehen werden, bevor der Cluster eine Wiederherstellungs Aktion durchführt.Threshold – This defines the number of heartbeats, which are missed before the cluster takes recovery action. Der Schwellenwert ist eine Anzahl von Takten.The threshold is a number of heartbeats. Innerhalb desselben Clusters können unterschiedliche Schwellenwerte zwischen Knoten im gleichen Subnetz und zwischen Knoten in unterschiedlichen Subnetzen vorhanden sein.Within the same cluster, there can be different thresholds between nodes on the same subnet and between nodes that are on different subnets.

Standardmäßig legt Windows Server 2016 samesubnetthreshold auf 10 und samesubnetdelay auf 1000 ms fest.By default Windows Server 2016 sets the SameSubnetThreshold to 10 and SameSubnetDelay to 1000 ms. Wenn beispielsweise die Verbindungsüberwachung 10 Sekunden lang ausfällt, wird der failoverschwellen Wert erreicht, was dazu führt, dass der Knoten aus der Cluster Mitgliedschaft entfernt wurde.For example, if connectivity monitoring fails for 10 seconds, the failover Threshold is reached resulting in the unreachable that node being removed from cluster membership. Dies führt dazu, dass die Ressourcen auf einen anderen verfügbaren Knoten im Cluster verschoben werden.This results in the resources being moved to another available node on the cluster. Cluster Fehler werden gemeldet, einschließlich des Cluster Fehlers 1135 (oben).Cluster errors will be reported, including cluster error 1135 (above) is reported.

LösungResolution

Lockern Sie in einer IaaS-Umgebung die Konfigurationseinstellungen des Cluster Netzwerks.In an IaaS environment, relax the Cluster network configuration settings.

Schritte zum Überprüfen der aktuellen KonfigurationSteps to verify current configuration

Überprüfen Sie die aktuellen Cluster Netzwerk-Konfigurationseinstellungen, indem Sie den Befehl Get-Cluster verwenden:Check the current Cluster network configuration settings use the get-cluster command:

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

Standard-, minimal-, höchst-und empfohlene Werte für jedes Support BetriebssystemDefault, minimum, maximum, and recommended values for each support OS

BeschreibungDescription OSOS MinMin MaxMax StandardDefault EmpfohlenRecommended
CrossSubnetThresholdCrossSubnetThreshold 2008 R22008 R2 33 2020 55 2020
Crosssubnet-SchwellenwertCrossSubnet Threshold 20122012 33 120120 55 2020
Crosssubnet-SchwellenwertCrossSubnet Threshold 2012 R22012 R2 33 120120 55 2020
Crosssubnet-SchwellenwertCrossSubnet Threshold 20162016 33 120120 2020 2020
Samesubnet-SchwellenwertSameSubnet Threshold 2008 R22008 R2 33 1010 55 1010
Samesubnet-SchwellenwertSameSubnet Threshold 20122012 33 120120 55 1010
Samesubnet-SchwellenwertSameSubnet Threshold 2012 R22012 R2 33 120120 55 1010
SameSubnetThresholdSameSubnetThreshold 20162016 33 120120 1010 1010

Die Werte für Schwellenwert entsprechen den aktuellen Empfehlungen in Bezug auf den Umfang der Bereitstellung, wie im folgenden Artikel beschrieben:The values for Threshold reflect the current recommendations regarding the scope of deployment as described in the following article:

Optimieren der Netzwerk Schwellenwerte für Failovercluster in Windows Server 2012 R2Fine tuning failover cluster network thresholds in Windows Server 2012 R2

Der Schwellenwert definiert die Anzahl der Takte, die übersehen werden, bevor der Cluster eine Wiederherstellungs Aktion durchführt.The Threshold defines the number of heartbeats, which are missed before the cluster takes recovery action. Der Schwellenwert ist eine Anzahl von Takten.The threshold is a number of heartbeats. Innerhalb desselben Clusters können unterschiedliche Schwellenwerte zwischen Knoten im gleichen Subnetz und zwischen Knoten vorhanden sein, die sich in unterschiedlichen Subnetzen befinden.Within the same cluster, there can be different thresholds between nodes on the same subnet and between nodes, which are on different subnets.

Empfehlungen für die Umstellung auf die Einstellungen für mehr Instanzen fähige Umgebungen wie Azure (IaaS)Recommendations for changing to more relaxed settings for multi-tenant environments like Azure (IaaS)

Hinweis

Das Erhöhen der Resilienz ihrer Cluster Umgebung durch die Anpassung der Cluster Netzwerk-Konfigurationseinstellungen kann zu einer längeren Ausfallzeit führen.Increasing the resiliency of your Cluster environment by adjusting the Cluster network configuration settings can result in increased downtime. Weitere Informationen finden Sie unter Optimieren der Netzwerk Schwellenwerte für Failovercluster.For more information, see Tuning Failover Cluster Network Thresholds.

  1. Ändern Sie die Einstellungen in den Einstellungen:Modify to more relaxed settings:

    Hinweis

    Das Ändern des Cluster Schwellenwerts wird sofort wirksam. Sie müssen den Cluster oder die Ressourcen nicht neu starten.Changing the cluster threshold will take effect immediately, you don't have to restart the cluster or any resources.

    Die folgenden Einstellungen werden sowohl für das gleiche Subnetz als auch für Regions übergreifende bereit Stellungen von Verfügbarkeits Gruppen empfohlen.The following settings are recommended for both same subnet and cross-region deployments of availability groups.

    C:\Windows\system32> (get-cluster).SameSubnetThreshold = 20
    
    C:\Windows\system32> (get-cluster).CrossSubnetThreshold = 20
    
  2. Überprüfen Sie die Änderungen:Verify the changes:

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

    Screenshot des PowerShell-Fensters, in dem die Ergebnisse des Befehls angezeigt werden.

ReferenzenReferences

Weitere Informationen zum Optimieren der Netzwerk Konfigurationseinstellungen für Windows-Cluster finden Sie unter Optimieren der Netzwerk Schwellenwerte für Failovercluster.For more information on tuning Windows Cluster network configuration settings, see Tuning Failover Cluster Network Thresholds.

Informationen zum Verwenden von cluster.exe zum Optimieren der Netzwerk Konfigurationseinstellungen für Windows-Cluster finden Sie unter Konfigurieren von Cluster Netzwerken für einen Failovercluster.For information on using cluster.exe to tune Windows Cluster network configuration settings, see How to Configure Cluster Networks for a Failover Cluster.