Аварийное восстановление WSFC через принудительный кворум (SQL Server)WSFC Disaster Recovery through Forced Quorum (SQL Server)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Обычно сбой кворума бывает вызван системной аварией, постоянным сбоем связи или ошибкой конфигурации, затрагивающей несколько узлов в кластере WSFC.Quorum failure is usually caused by a systemic disaster, or a persistent communications failure, or a misconfiguration involving several nodes in the WSFC cluster. Для восстановления после сбоя кворума требуется участие пользователя.Manual intervention is required to recovery from a quorum failure.

Перед началом работыBefore You Start

Предварительные требованияPrerequisites

В процедуре принудительного кворума предполагается, что перед сбоем кворума кворум был работоспособен.The Forced Quorum Procedure assumes that a healthy quorum existed before the quorum failure.

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

Пользователь должен хорошо представлять основные понятия и принципы взаимодействия кластера WSFC, моделей кворума WSFC, SQL ServerSQL Serverи конфигурации развертывания, зависящей от среды.The user should be well-informed on the concepts and interactions of Windows Server Failover Clustering, WSFC Quorum Models, SQL ServerSQL Server, and the environment's specific deployment configuration.

Дополнительные сведения см. в следующих статьях: Отказоустойчивая кластеризация Windows Server (WSFC) с SQL Server, Режим кворума и участвующая в голосовании конфигурация WSFC (SQL Server)For more information, see: Windows Server Failover Clustering (WSFC) with SQL Server, WSFC Quorum Modes and Voting Configuration (SQL Server)

безопасностьSecurity

Пользователь должен входить в учетную запись домена, которая является членом локальной группы администраторов, на каждом узле кластера WSFC.The user must be a domain account that is member of the local Administrators group on each node of the WSFC cluster.

Аварийное восстановление WSFC с помощью процедуры принудительного кворумаWSFC Disaster Recovery through the Forced Quorum Procedure

Помните, что сбой кворума приведет к переходу в режим «вне сети» всех служб, поддерживающих работу в кластере, экземпляров SQL Server, Группы доступности AlwaysOnAlways On availability groupsи групп доступности в кластере WSFC, поскольку настроенный таким образом кластер не сможет гарантировать отказоустойчивость на уровне узлов.Remember that quorum failure will cause all clustered services, SQL Server instances, and Группы доступности AlwaysOnAlways On availability groups, in the WSFC cluster to be set offline, because the cluster, as configured, cannot ensure node-level fault tolerance. Сбой кворума означает, что исправные голосующие узлы в кластере WSFC более не удовлетворяют модели кворума.A quorum failure means that healthy voting nodes in the WSFC cluster no longer satisfy the quorum model. Некоторые узлы, возможно, полностью вышли из строя, на других могла просто отключиться служба WSFC, а в остальном они работают исправно, за исключением потери возможности взаимодействовать с кворумом.Some nodes may have failed completely, and some may have just shut down the WSFC service and are otherwise healthy, except for the loss of the ability to communicate with a quorum.

Чтобы вернуть кластер WSFC в режим в сети, следует исправить главную причину сбоя кворума при существующей конфигурации, восстановить, как требуется, затронутые базы данных и провести повторную настройку оставшихся узлов в кластере WSFC, чтобы они отражали сложившуюся топологию кластера.To bring the WSFC cluster back online, you must correct the root cause of the quorum failure under the existing configuration, recover the affected databases as needed, and you may want to reconfigure the remaining nodes in the WSFC cluster to reflect the surviving cluster topology.

Можно использовать процедуру принудительного кворума на узле кластера WSFC, чтобы переопределить управляющие параметры безопасности, которые привели к переходу кластера в режим «вне сети».You can use the forced quorum procedure on a WSFC cluster node to override the safety controls that took the cluster offline. Она предписывает кластеру приостановить проверки голосования кворума, и позволяет привести ресурсы кластера WSFC и SQL Server обратно в режим «в сети» на любом из узлов кластера.This effectively tells the cluster to suspend the quorum voting checks, and lets you bring the WSFC cluster resources and SQL Server back online on any of the nodes in the cluster.

Этот тип процесса аварийного восстановления после аварий должен включать следующие этапы.This type of disaster recovery process should include the following steps:

Для восстановления после сбоя кворума:To Recover from Quorum Failure:

  1. Определите область сбоя.Determine the scope of the failure. Определите, какие группы доступности или экземпляры SQL Server не отвечают, какие узлы кластера работают в сети и доступны для использования после аварии, изучите журналы событий Windows и системные журналы SQL Server.Identify which availability groups or SQL Server instances are non-responsive, which cluster nodes are online and available for post-disaster use, and examine the Windows event logs and the SQL Server system logs. Там, где это практически возможно, следует сохранить аналитические данные и системные журналы для последующего анализа.Where practical, you should preserve forensic data and system logs for later analysis.

    Совет

    На главном экземпляре SQL Server 2017SQL Server 2017можно получить сведения о работоспособности групп доступности, которые имеют реплику доступности на экземпляре локального сервера, выполнив запрос к динамическому административному представлению (DMV) sys.dm_hadr_availability_group_states .On a responsive instance of SQL Server 2017SQL Server 2017, you can obtain information about the health of availability groups that possess an availability replica on the local server instance by querying the sys.dm_hadr_availability_group_states dynamic management view (DMV).

  2. Запустите кластер WSFC с помощью принудительного кворума на одном узле.Start the WSFC cluster by using forced quorum on a single node. Определите узел с минимальным количеством сбоев компонентов, отличный от того, на котором служба кластеров WSFC была закрыта.Identify a node with a minimal number of component failures, other than that the WSFC cluster service was shut down. Убедитесь, что этот узел может взаимодействовать с большинством других узлов.Verify that this node can communicate with a majority of the other nodes.

    На этом узле вручную запустите работу кластера с помощью процедуры принудительного кворума кластера.On this node, manually force the cluster to come online using the forced quorum procedure. Чтобы свести к минимуму потенциальную потерю данных, выберите последний узел, на котором размещалась группа доступности первичной реплики.To minimize potential data loss, select a node that was last hosting an availability group primary replica.

    Дополнительные сведения см. в статье Принудительный запуск кластера WSFC без кворумаFor more information, see: Force a WSFC Cluster to Start Without a Quorum

    Примечание

    Принудительная настройка кворума действует в пределах всего кластера, блокируя проверки кворума до тех пор, пока логический кластер WSFC не получит большинство голосов и автоматически не перейдет в регулярный режим работы кворума.The forced quorum setting has a cluster-wide affect to block quorum checks until the logical WSFC cluster achieves a majority of votes and automatically transitions to a regular quorum mode of operation.

  3. Запустите службу WSFC обычным образом на каждом узле, исправном во всех остальных отношениях, по одному за раз.Start the WSFC service normally on each otherwise healthy node, one at a time. Не нужно указывать параметр принудительного кворума при запуске службы кластеров на других узлах.You do not have to specify the forced quorum option when you start the cluster service on the other nodes.

    Поскольку служба WSFC на каждом узле возвращается в состояние «в сети», она взаимодействует с другими исправными узлами, чтобы синхронизировать новое состояние конфигурации кластера.As the WSFC service on each node comes back online, it negotiates with the other healthy nodes to synchronize the new cluster configuration state. Помните, что необходимо проводить это по одному узлу на раз, чтобы предотвратить потенциальные условия соперничества в кластере при разрешении последнего известного состояния кластера.Remember to do this one node at a time to prevent potential race conditions in resolving the last known state of the cluster.

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

    Убедитесь, что каждый узел, который вы запускаете, может общаться с другими узлами, недавно перешедшими в состояние «в сети».Ensure that each node that you start can communicate with the other newly online nodes. Рекомендуется отключить службу WSFC на других узлах.Consider disabling the WSFC service on the other nodes. В противном случае вы рискуете создать несколько наборов узлов кворума. Этот сценарий может привести к дроблению.Otherwise, you run the risk of creating more than one quorum node set; that is a split-brain scenario. Если на шаге 1 получены точные результаты, этого не должно произойти.If your findings in step 1 were accurate, this should not occur.

  4. Примените новый режим кворума и конфигурацию голосования для узла.Apply new quorum mode and node vote configuration. Если принудительное выполнение кворума успешно перезагрузило все узлы в кластере и главная причина сбоя кворума была исправлена, то не требуется внесение изменений в исходный режим и конфигурацию голосования кворума узла.If forcing quorum successfully restarted all the nodes in the cluster and the root cause of the quorum failure has been corrected, changes to the original quorum mode and node vote configuration are unnecessary.

    В противном случае следует оценить вновь восстановленный узел кластера и топологию доступности реплики и требуемым образом изменить назначения кворума узла и голосования для каждого узла.Otherwise, you should evaluate the newly recovered cluster node and availability replica topology, and change the quorum mode and vote assignments for each node as appropriate. Невосстановленные узлы следует перевести в режим «вне сети» или установить их голоса на нуль.Un-recovered nodes should be set offline or have their node votes set to zero.

    Совет

    В этой точке узлы и экземпляры SQL Server в кластере могут оказаться восстановленными в режим нормального функционирования.At this point, the nodes and SQL Server instances in the cluster may appear to be restored back to regular operation. Однако исправного кворума может до сих пор не быть.However, a healthy quorum may still not exist. Убедитесь, что кворум восстановлен, в диспетчере отказоустойчивости кластеров, на панели мониторинга AlwaysOn в среде SQL Server Management Studio или в соответствующих динамических административных представлениях.Using the Failover Cluster Manager, or the Always On Dashboard within SQL Server Management Studio, or the appropriate DMVs, verify that a quorum has been restored.

  5. При необходимости восстановите реплики баз данных групп доступности.Recover availability group database replicas as needed. Базы данных, не относящиеся к группам доступности, должны сами восстановиться и вернуться в состояние «в сети» в процессе обычного запуска SQL Server.Non-availability group databases should recover and come back online on their own as part of the regular SQL Server startup process.

    Можно сократить потенциальные потери данных и время восстановления для реплик групп восстановления путем их восстановления в следующем порядке: первичная реплика, синхронные вторичные реплики, асинхронные вторичные реплики.You can minimize potential data loss and recovery time for the availability group replicas by bringing them back online in this sequence: primary replica, synchronous secondary replicas, asynchronous secondary replicas.

  6. Ремонт или замена неисправных компонентов и перепроверка кластера.Repair or replace failed components and re-validate cluster. Теперь, выполнив восстановление после первоначальной аварии и сбоя кворума, исправьте или замените отказавшие узлы и соответствующим образом настройте конфигурации смежных связанных узлов WSFC и AlwaysOn.Now that you have recovered from the initial disaster and quorum failure, you should repair or replace the failed nodes and adjust related WSFC and Always On configurations accordingly. Это может предполагать удаление реплик групп доступности, удаление узлов из кластера либо сведение и переустановку программного обеспечения на узле.This can include dropping availability group replicas, evicting nodes from the cluster, or flattening and re-installing software on a node.

    Необходимо восстановить или удалить все неисправные реплики доступности.You must repair or remove all failed availability replicas. SQL ServerSQL Server не будет усекать журнал транзакций за последней известной точкой самой последней реплики доступности.will not truncate the transaction log past the last known point of the farthest behind availability replica. Если отказавшая реплика не подлежит восстановлению или удалена из группы доступности, журналы транзакций будут расти с риском превышения пределов объема журналов в других репликах.If a failed replica is not repaired or removed from the availability group, the transaction logs will grow and you will run the risk of running out of transaction log space on the other replicas.

    Примечание

    Если при запуске мастера WSFC по проверке конфигурации в кластере WSFC имеется прослушиватель группы доступности, то мастер выдает следующее предупреждающее сообщение.If you run the WSFC Validate a Configuration Wizard when an availability group listener exists on the WSFC cluster, the wizard generates the following incorrect warning message:

    "Свойство RegisterAllProviderIP для сетевого имени "Name:<имя_сети>" имеет значение 1, для текущей конфигурации кластера данное свойство должно иметь значение 0"."The RegisterAllProviderIP property for network name 'Name:<network_name>' is set to 1 For the current cluster configuration this value should be set to 0."

    Не обращайте внимания на это сообщение.Please ignore this message.

  7. Повторите шаг 4 при необходимости.Repeat step 4 as needed. Цель заключается в повторном восстановлении соответствующего уровня отказоустойчивости и высокого уровня доступности для исправных операций.The goal is to re-establish the appropriate level of fault tolerance and high availability for healthy operations.

  8. Анализ RPO/RTO.Conduct RPO/RTO analysis. Следует проанализировать системные журналы SQL Server, метки времени баз данных, журналы событий Windows, чтобы выявить главную причину аварии и задокументировать реальные значения точки восстановления и времени восстановления.You should analyze SQL Server system logs, database timestamps, and Windows event logs to determine root cause of the failure, and to document actual recovery point and recovery time experiences.

Связанные задачиRelated Tasks

См. такжеRelated Content

См. также:See Also

Отказоустойчивая кластеризация Windows Server (WSFC) с SQL ServerWindows Server Failover Clustering (WSFC) with SQL Server