Delen via


IaaS met SQL Server - netwerkdrempelwaarden voor failoverclusters afstemmen

In dit artikel worden oplossingen geïntroduceerd voor het aanpassen van de drempelwaarde voor failoverclusternetwerken.

Symptoom

Wanneer u Windows-failoverclusterknooppunten uitvoert in IaaS met een SQL Server AlwaysOn-beschikbaarheidsgroep, wordt het wijzigen van de clusterinstelling in een meer ontspannen bewakingsstatus aanbevolen. Standaard zijn clusterinstellingen beperkend en kunnen onnodige storingen veroorzaken. De standaardinstellingen zijn ontworpen voor sterk afgestemde on-premises netwerken en houden geen rekening met de mogelijkheid van geïnduceerde latentie die wordt veroorzaakt door een omgeving met meerdere tenants, zoals Microsoft Azure (IaaS).

Windows Server Failover Clustering bewaakt voortdurend de netwerkverbindingen en de status van de knooppunten in een Windows-cluster. Als een knooppunt niet bereikbaar is via het netwerk, wordt er een herstelactie uitgevoerd om toepassingen en services te herstellen en online te brengen op een ander knooppunt in het cluster. Latentie bij communicatie tussen clusterknooppunten kan leiden tot de volgende fout:

Fout 1135 (systeem gebeurtenislogboek)

Clusterknooppunt Knooppunt 1 is verwijderd uit het actieve failoverclusterlidmaatschap. De clusterservice op dit knooppunt is mogelijk gestopt. Dit kan ook worden veroorzaakt doordat het knooppunt de communicatie met andere actieve knooppunten in het failovercluster heeft verbroken. Voer de wizard Een configuratie valideren uit om de netwerkconfiguratie te controleren. Als de voorwaarde zich blijft voordoen, controleert u op hardware- of softwarefouten met betrekking tot de netwerkadapters op dit knooppunt. Controleer ook op fouten in andere netwerkonderdelen waarmee het knooppunt is verbonden, zoals hubs, switches of bruggen.

Cluster.log voorbeeld:

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)

Oorzaak

Er zijn twee instellingen die worden gebruikt om de connectiviteitsstatus van het cluster te configureren.

Vertraging : hiermee definieert u de frequentie waarmee cluster heartbeats tussen knooppunten worden verzonden. De vertraging is het aantal seconden voordat de volgende heartbeat wordt verzonden. Binnen hetzelfde cluster kunnen er verschillende vertragingen zijn tussen knooppunten in hetzelfde subnet en tussen knooppunten, die zich op verschillende subnetten bevinden.

Drempelwaarde : hiermee definieert u het aantal heartbeats dat wordt gemist voordat het cluster herstelactie onderneemt. De drempelwaarde is een aantal heartbeats. Binnen hetzelfde cluster kunnen er verschillende drempelwaarden zijn tussen knooppunten in hetzelfde subnet en tussen knooppunten die zich op verschillende subnetten bevinden.

Standaard stelt Windows Server 2016 SameSubnetThreshold in op 10 en SameSubnetDelay op 1000 ms. Als de connectiviteitsbewaking bijvoorbeeld 10 seconden mislukt, wordt de failoverdrempel bereikt, waardoor het onbereikbare knooppunt uit het clusterlidmaatschap wordt verwijderd. Hierdoor worden de resources verplaatst naar een ander beschikbaar knooppunt in het cluster. Clusterfouten worden gerapporteerd, waaronder clusterfout 1135 (hierboven) wordt gerapporteerd.

Oplossing

U kunt dit probleem oplossen door de configuratie-instellingen van het clusternetwerk te versoepelen. Zie Heartbeat en drempelwaarde.

Verwijzingen

Zie Drempelwaarden voor failoverclusternetwerk afstemmen voor meer informatie over het afstemmen van netwerkconfiguratie-instellingen voor Windows-cluster.

Zie Clusternetwerken configureren voor een failovercluster voor meer informatie over het gebruik van cluster.exe voor het afstemmen van netwerkconfiguratie-instellingen voor windows-cluster.