Возникла проблема с удалением узлов из активного членства в отказоустойчивом кластере

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

Симптомы

При возникновении проблемы в журнал системных событий регистрируются такие события, как это событие:

Снимок экрана: пример события 1135.

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

Что привело к тому, что узел был помечен

Все узлы в отказоустойчивом кластере Windows 2008 или 2008 R2 обмен данными между собой по сетям, которые настроены для обеспечения сетевого взаимодействия кластера в этой сети. Узлы отправляют пакеты пульса по этим сетям на все остальные узлы. Эти пакеты должны быть получены другими узлами, а затем ответ отправляется обратно. Каждый узел в кластере имеет собственные пульса, которые он будет отслеживать, чтобы убедиться, что сеть работает, а другие узлы работают. Следующий пример поможет прояснить это поведение:

Схема двух узлов, которые разговаривают друг с другом.

Если какой-либо из этих пакетов не возвращается, то конкретный пульс считается неудачным. Например, W2K8-R2-NODE2 отправляет запрос и получает ответ от W2K8-R2-NODE1 на пакет пульса, чтобы определить сеть и узел в рабочем режиме. Если W2K8-R2-NODE1 отправляет запрос на W2K8-R2-NODE2 и W2K8-R2-NODE1 не получает ответ, он считается потерянным сердцебиение и W2K8-R2-NODE1 отслеживает его. В этом пропущенном ответе W2K8-R2-NODE1 может отображать сеть как отключенную, пока не будет получен другой запрос пульса.

По умолчанию количество сбоев узлов кластера составляет 5 секунд, прежде чем подключение будет отмечено. Таким образом, если W2K8-R2-NODE1 не получает ответ пять раз за период времени, он считает, что конкретный маршрут к W2K8-R2-NODE2 не работает. Если другие маршруты по-прежнему считаются активными, W2K8-R2-NODE2 останется активным участником.

Если все маршруты помечены для W2K8-R2-NODE2, они удаляются из активного членства в отказоустойчивом кластере и регистрируется событие 1135, которое отображается в первом разделе. В W2K8-R2-NODE2 служба кластера завершается, а затем перезапускается, чтобы попытаться повторно присоединиться к кластеру.

Дополнительные сведения о том, как мы обрабатываем определенные маршруты с тремя или более узлами, см. в блоге "Секционированные" кластерные сети , написанном Джеффом Хьюзом.

Теперь, когда мы знаем, как работает процесс пульса, каковы некоторые из известных причин сбоя процесса

  1. Фактические сбои сетевого оборудования. Если пакет потерян по проводу где-то между узлами, то сбой пульса. Трассировка сети с обоих участвующих узлов покажет это.

  2. Возможно, профиль для сетевых подключений может переходить из домена в общедоступный и обратно в домен. Во время перехода этих изменений сетевой ввод-вывод может быть заблокирован. Чтобы узнать, так ли это, можно проверка, просмотрев операционный журнал сетевого профиля. Этот журнал можно найти, открыв Просмотр событий и перейдя в папку Журналы приложений и служб\Microsoft\Windows\NetworkProfile\Operational. Просмотрите события в этом журнале на узле, который был указан в коде события 1135, и посмотрите, изменялся ли профиль в это время. Если это так, см. статью Изменение профиля сетевого расположения с "Домен" на "Общедоступный" в Windows 7 или Windows Server 2008 R2.

  3. На серверах включен протокол IPv6, но для входящего и исходящего трафика в брандмауэре Windows отключены следующие два правила:

    • Основная сеть — объявление обнаружения соседей
    • Основная сеть — запрос обнаружения соседей
  4. Антивирусное программное обеспечение также может мешать этому процессу. Если вы подозреваете это, выполните тестирование, отключив или удалив программное обеспечение. Сделайте это на свой страх и риск, так как на данный момент вы не защищены от вирусов.

  5. Задержка в сети также может привести к этому. Пакеты не могут быть потеряны между узлами, но они могут не добраться до узлов достаточно быстро до истечения времени ожидания.

  6. Протокол IPv6 — это протокол по умолчанию, который отказоустойчивая кластеризация будет использовать для пульса. Сам пульс представляет собой одноадресный сетевой пакет UDP, который обменивается данными через порт 3343. При наличии коммутаторов, брандмауэров или маршрутизаторов, настроенных неправильно для пропуска этого трафика, могут возникнуть такие проблемы.

  7. Обновление политики безопасности IPsec также может вызвать эту проблему. Конкретная проблема заключается в том, что во время обновления групповой политики IPSec все связи безопасности IPsec удаляются брандмауэром Windows в режиме повышенной безопасности (WFAS). Пока это происходит, все сетевые подключения блокируются. При повторном согласовании связей безопасности при возникновении задержек при выполнении проверки подлинности с помощью Active Directory эти задержки (когда весь сетевой обмен данными заблокирован) также блокируют прохождение пульса кластера и приводят к тому, что мониторинг работоспособности кластера обнаруживает узлы как неработоспособные, если они не отвечают в пределах 5-секундного порогового значения.

  8. Старые или устаревшие сетевые карта драйверы и (или) встроенное ПО. Иногда простая неправильная настройка сетевого карта или коммутатора также может привести к потере пульса.

  9. Современные сетевые карты и виртуальные сетевые карты могут испытывать потерю пакетов. Это можно отследить, открыв Монитор производительности и добавив счетчик "Сетевой интерфейс\Пакеты получено отменено". Этот счетчик является накопительным и увеличивается только до перезагрузки сервера. Большое количество пакетов, отброшенных здесь, может быть признаком того, что буферы приема в сетевом карта заданы слишком низко или сервер работает медленно и не может обрабатывать входящий трафик. Каждый сетевой карта производитель выбирает, следует ли предоставлять эти параметры в свойствах сетевого карта, поэтому вам нужно обратиться на веб-сайт производителя, чтобы узнать, как увеличить эти значения и использовать рекомендуемые значения. Если вы работаете в VMware, в следующем блоге описано немного подробнее, включая сведения о том, является ли это проблемой, а также приведены сведения о параметрах, которые необходимо изменить в VMware.

    Узлы удаляются из членства в отказоустойчивом кластере в VMware ESX

Это наиболее распространенные причины, по которым эти события регистрируются, но могут быть и другие причины. Смысл этого блога был дать вам некоторые сведения о процессе, а также дать идеи о том, что искать. Некоторые из этих значений повысят максимальное значение, чтобы попытаться остановить эту проблему.

Параметр По умолчанию Диапазон
SameSubnetDelay 1000 миллисекунда 250–2000 миллисекундах
CrossSubnetDelay 1000 миллисекунда 250–4000 миллисекунда
SameSubnetThreshold 5 3-10
CrossSubnetThreshold 5 3-10

Увеличение этих значений до их максимального значения может привести к удалению события и узла. Это просто маскирует проблему. Это ничего не исправляет. Лучше всего выяснить первопричину сбоев пульса и исправить ее. Единственная реальная потребность в увеличении этих значений заключается в сценарии с несколькими сайтами, когда узлы находятся в разных расположениях и не удается преодолеть задержку в сети.