次の方法で共有


SQL Serverを使用した IaaS - フェールオーバー クラスター ネットワークのしきい値のチューニング

この記事では、フェールオーバー クラスター ネットワークのしきい値を調整するためのソリューションについて説明します。

現象

SQL Server Always On可用性グループを使用して IaaS で Windows フェールオーバー クラスター ノードを実行する場合は、クラスター設定をより緩やかな監視状態に変更することをお勧めします。 クラスターの設定は制限が厳しいので、不要な停止が発生する可能性があります。 既定の設定は、高度に調整されたオンプレミス ネットワーク用に設計されており、Microsoft Azure (IaaS) などのマルチテナント環境によって引き起こされる遅延の可能性を考慮していません。

Windows Server フェールオーバー クラスタリングは、Windows クラスター内のノードのネットワーク接続と正常性を常に監視しています。 ノードにネットワーク経由で到達できない場合は、復旧アクションが実行され、クラスター内の別のノードでアプリケーションとサービスを復旧してオンラインにします。 クラスター ノード間の通信に待機時間が発生すると、次のエラーが発生する可能性があります。

エラー 1135 (システム イベント ログ)

クラスター ノード ノード 1 がアクティブなフェールオーバー クラスター メンバーシップから削除されました。 このノードのクラスター サービスが停止している可能性があります。 これは、ノードがフェールオーバー クラスター内の他のアクティブ ノードとの通信を失っていることが原因である可能性もあります。 構成の検証ウィザードを実行して、ネットワーク構成をチェックします。 条件が引き続き発生する場合は、このノードのネットワーク アダプターに関連するハードウェアエラーまたはソフトウェア エラーをチェックします。 また、ハブ、スイッチ、ブリッジなど、ノードが接続されている他のネットワーク コンポーネントで障害が発生した場合にもチェック。

Cluster.log 例:

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)

原因

クラスターの接続の正常性を構成するために使用される設定は 2 つあります。

遅延 - クラスターハートビートがノード間で送信される頻度を定義します。 遅延は、次のハートビートが送信されるまでの秒数です。 同じクラスター内では、同じサブネット上のノード間と、異なるサブネット上にあるノード間で異なる遅延が発生する可能性があります。

しきい値 - クラスターが復旧アクションを実行する前に見逃されるハートビートの数を定義します。 しきい値は、ハートビートの数です。 同じクラスター内では、同じサブネット上のノード間と異なるサブネット上にあるノード間で、異なるしきい値が存在する可能性があります。

既定では、Windows Server 2016は SameSubnetThreshold を 10、SameSubnetDelay を 1000 ミリ秒に設定します。 たとえば、接続の監視が 10 秒間失敗した場合、フェールオーバーのしきい値に達すると、そのノードに到達できないノードがクラスター メンバーシップから削除されます。 これにより、リソースがクラスター上の別の使用可能なノードに移動されます。 クラスター エラー 1135 (上記) が報告されるなど、クラスター エラーが報告されます。

解決方法

この問題を解決するには、クラスター ネットワーク構成設定を緩和します。 「ハートビートとしきい値」を参照してください。

関連情報

Windows クラスター ネットワーク構成設定のチューニングの詳細については、「 フェールオーバー クラスター ネットワークのしきい値のチューニング」を参照してください。

cluster.exe を使用して Windows クラスター ネットワーク構成設定を調整する方法については、「フェールオーバー クラスターのクラスター ネットワークを構成する方法」を参照してください。