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


Отказоустойчивая кластеризация и группы доступности AlwaysOn (SQL Server)

Область применения: SQL Server — только Для Windows

Группы доступности AlwaysOn, решение высокого уровня доступности и аварийного восстановления, представленное в SQL Server 2012 (11.x), требует отказоустойчивой кластеризации Windows Server (WSFC). Кроме того, хотя группы доступности AlwaysOn не зависят от отказоустойчивой кластеризации SQL Server, можно использовать экземпляр отказоустойчивой кластеризации (FCI) для размещения реплики доступности для группы доступности. Важно знать роль каждой технологии кластеризации и знать, какие рекомендации необходимы при разработке среды групп доступности AlwaysOn.

Примечание.

Дополнительные сведения о концепциях групп доступности AlwaysOn см. в разделе "Что такое группа доступности AlwaysOn"?

Кластеризация отказоустойчивости Windows Server и группы доступности

Для развертывания групп доступности AlwaysOn требуется отказоустойчивый кластер Windows Server (WSFC). Чтобы включить для групп доступности AlwaysOn, экземпляр SQL Server должен находиться на узле WSFC, а WSFC и узел должны находиться в сети. Также все реплики доступности в заданной группе доступности должны располагаться на разных узлах одного кластера WSFC. Единственное исключение состоит в том, что при переносе в другой кластер WSFC группа доступности может временно находиться в двух кластерах.

Группы доступности AlwaysOn используют отказоустойчивый кластер Windows Server (WSFC) для мониторинга текущих ролей реплик доступности, принадлежащих определенной группе доступности, и определения того, как событие отработки отказа влияет на реплики доступности. Группа ресурсов WSFC создается для каждой создаваемой группы доступности. Кластер WSFC отслеживает данную группу ресурсов для оценки работоспособности первичной реплики.

Кворум для групп доступности AlwaysOn основан на всех узлах в WSFC независимо от того, размещает ли данный узел кластера любые реплики доступности. В отличие от зеркального отображения базы данных, в группах доступности Always On нет роли свидетеля.

Общая работоспособность кластера WSFC определяется голосами на кворуме узлов в кластере. Если кластер WSFC перешел в автономный режим в результате непредвиденной аварийной ситуации, постоянно возникающего сбоя в оборудовании или ошибки связи, то требуется вмешательство администратора. Администратор кластера Windows Server или WSFC должен будет создать принудительный кворум, а затем перевести работоспособные узлы кластера обратно в автономный режим в неотказоустойчивой конфигурации.

Внимание

Разделы реестра групп доступности AlwaysOn — это подразделы WSFC. При удалении и повторном создании WSFC необходимо отключить и повторно включить функцию групп доступности AlwaysOn в каждом экземпляре SQL Server, где размещена реплика доступности в исходном WSFC.

Сведения о запуске SQL Server на узлах WSFC и о кворуме WSFC см. в разделе Отказоустойчивая кластеризация Windows Server с помощью SQL Server.

Экземпляры отказоустойчивого кластера SQL Server (FCIs) и группы доступности

Можно настроить второй уровень отказоустойчивости на уровне экземпляра сервера путем реализации FCI SQL Server совместно с кластером WSFC. Автономный экземпляр SQL Server или экземпляр FCI может размещать реплику доступности. Только партнер FCI может размещать реплику для данной группы доступности. Во время работы реплики доступности на экземплярах отказоустойчивого кластера (FCI) список возможных владельцев для группы доступности будет содержать только активный узел FCI.

Группы доступности AlwaysOn не зависят от любой формы общего хранилища. Однако при использовании экземпляра отказоустойчивого кластера SQL Server (FCI) для размещения одной или нескольких реплик доступности каждому из этих ПАРАМЕТРОВ потребуется общее хранилище в зависимости от стандартной установки экземпляра отказоустойчивого кластера SQL Server.

Дополнительные сведения о дополнительных предварительных требованиях см. в статьях о предварительных требованиях, ограничениях и рекомендациях для групп доступности AlwaysOn (SQL Server).

Сравнение экземпляров отказоустойчивого кластера и групп доступности

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

Узлы в FCI Реплики в группе доступности
Использует WSFC Да Да
Уровень защиты Экземпляр База данных
Тип хранилища Совмещаемая блокировка Не общее

Хотя реплики в группе доступности не делят общее хранилище, реплика, размещенная FCI, использует общее решение для хранения, как того требует этот FCI. Решение хранения данных совместно используется только узлами в FCI, но не между репликами группы доступности.
Решения хранения данных Прямое подключение, SAN, точки подключения, SMB Зависит от типа узла
Доступные для чтения вторичные Нет* Да
Применимые параметры политики отработки отказа Кворум WSFC

Связанный с FCI

Параметры группы доступности**
Кворум WSFC

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

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

Параметры политики отработки отказа для группы доступности применяются ко всем репликам, независимо от того, размещаются ли они в автономном экземпляре или в экземпляре кластера отказоустойчивости (FCI).

Рекомендации по размещению реплики доступности в FCI

Внимание

Если вы планируете разместить реплику доступности в экземпляре отказоустойчивого кластера SQL Server (FCI), убедитесь, что узлы хоста Windows Server 2008 соответствуют предварительным требованиям и ограничениям для экземпляров отказоустойчивого кластера (FCI). Дополнительные сведения см. в статье Предварительные требования, ограничения и рекомендации для групп доступности Always On (SQL Server).

Экземпляры отказоустойчивого кластера SQL Server (FCIs) не поддерживают автоматическое переключение доступности через группы, поэтому любая реплика доступности, размещенная на инстансе FCI, может быть настроена только для ручного переключения.

Может потребоваться настроить WSFC для включения общих дисков, недоступных на всех узлах. Например, рассмотрим кластер WSFC между двумя центрами обработки данных с тремя узлами. Два узла размещают FCI SQL Server в основном центре обработки данных и имеют доступ к тем же общим дискам. Третий узел размещает автономный экземпляр SQL Server в другом центре обработки данных и не имеет доступа к общим дискам из основного центра обработки данных. Эта конфигурация WSFC поддерживает развертывание группы доступности, если FCI размещает основную реплику и автономный экземпляр размещает вторичную реплику.

При выборе FCI для размещения реплики доступности для данной группы доступности убедитесь, что потенциальный отказ FCI не вызовет ситуацию, когда один узел WSFC попытается разместить две реплики доступности для одной группы доступности.

В следующем примере сценария показано, как подобная конфигурация может вызывать проблемы.

  • Вы настраиваете WSFC с двумя узлами, NODE01 и NODE02.
  • Вы устанавливаете экземпляр отказоустойчивого кластера SQL Server fciInstance1как на NODE01, так и на NODE02, где NODE01 является текущим владельцем для fciInstance1.
  • При NODE02 устанавливается другой экземпляр SQL Server, Instance3, который является автономным экземпляром.
  • В NODE01включите fciInstance1 для групп доступности AlwaysOn. В NODE02включите Instance3 для групп доступности AlwaysOn. Затем вы настроите группу доступности, для которой fciInstance1 размещает первичную реплику, а Instance3 размещает вторичную реплику.
  • В какой-то момент fciInstance1 становится недоступной на NODE01, и WSFC вызывает переключение fciInstance1 на NODE02. После отработки отказа является экземпляром групп доступности AlwaysOn, fciInstance1 работающим под основной ролью NODE02. Однако экземпляр Instance3 теперь находится на том же узле кластера WSFC, что и fciInstance1. Это нарушает ограничение групп доступности AlwaysOn.

Чтобы устранить проблему, представленную этим сценарием, автономный экземпляр, Instance3должен находиться на другом узле в том же WSFC, что NODE01 и NODE02.

Дополнительные сведения об экземплярах отказоустойчивого кластера Always On (SQL Server) см. в разделе Экземпляры отказоустойчивого кластера Always On (SQL Server).

Ограничения на использование диспетчера WSFC с группами доступности

Не используйте диспетчер отказоустойчивости кластеров для управления группами доступности. Рассмотрим пример.

  • Не добавляйте или не удаляйте ресурсы в кластеризованной службе (группе ресурсов) для группы доступности.

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

  • Не используйте менеджер отказоустойчивого кластера для переноса групп доступности на разные узлы или переключения между узлами групп доступности. Менеджер отказоустойчивых кластеров не отслеживает состояние синхронизации образцов доступности, и это может привести к увеличению времени простоя. Необходимо использовать Transact-SQL или SQL Server Management Studio.

Предупреждение

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