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

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

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

Примечание.

Сведения о концепциях групп доступности Always On см. в разделе Обзор групп доступности Always On (SQL Server).

Кластер WSFC и группы доступности

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

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

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

Общая работоспособность кластера 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.

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

Примечание.

Дополнительные сведения о числе узлов в экземплярах отказоустойчивого кластера и в группах доступности Always On для разных выпусков SQL Server см. в статье Возможности, поддерживаемые различными выпусками SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

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

Внимание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

См. также

Обзор групп доступности Always On (SQL Server)
Включение и отключение групп доступности AlwaysOn (SQL Server)
Отслеживание групп доступности (Transact-SQL)
Экземпляры отказоустойчивого кластера AlwaysOn (SQL Server)