Поделиться через


IaaS с SQL Server — настройка пороговых значений сети отказоустойчивого кластера

В этой статье представлены решения по настройке порогового значения сетей отказоустойчивого кластера.

Признак

При запуске узлов отказоустойчивого кластера Windows в IaaS с SQL Server Always On группой доступности рекомендуется изменить параметр кластера на более спокойное состояние мониторинга. Готовые параметры кластера являются ограничивающими и могут привести к ненужным сбоям. Параметры по умолчанию предназначены для высокой настройки локальных сетей и не учитывают возможность индуцированной задержки, вызванной мультитенантной средой, такой как 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)

Причина

Для настройки работоспособности подключения кластера используются два параметра.

Задержка — определяет частоту отправки пульса кластера между узлами. Задержка — это количество секунд до отправки следующего пульса. В одном кластере могут возникать различные задержки между узлами в одной подсети и между узлами, которые находятся в разных подсетях.

Пороговое значение . Определяет количество пульсов, пропущенных до того, как кластер примет действие по восстановлению. Пороговое значение — это количество пульсов. В одном кластере могут быть разные пороговые значения между узлами в одной подсети и между узлами, которые находятся в разных подсетях.

По умолчанию Windows Server 2016 задает значение SameSubnetThreshold значение 10, а SameSubnetDelay — 1000 мс. Например, если мониторинг подключения завершается сбоем в течение 10 секунд, порог отработки отказа достигается, что приводит к недоступности этого узла из членства в кластере. В результате ресурсы перемещаются на другой доступный узел в кластере. Будут сообщаться об ошибках кластера, включая сообщение об ошибке кластера 1135 (выше).

Разрешение

Чтобы устранить эту проблему, ослабить параметры конфигурации сети кластера. См . раздел Пульс и пороговое значение.

Ссылки

Дополнительные сведения о настройке параметров сетевой конфигурации кластера Windows см. в разделе Настройка пороговых значений сети отказоустойчивого кластера.

Сведения об использовании cluster.exe для настройки параметров конфигурации сети кластера Windows см. в статье Настройка сетей кластера для отказоустойчивого кластера.