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


Кластеры SQL Server с несколькими подсетями [SQL Server]

Область применения: SQL Server

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

Отказоустойчивый кластер SQL Server с несколькими подсетями (2 узла, 2 подсети)

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

Архитектура c несколькими подсетями c MultiSubnetFailover

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

Ниже приведены некоторые примеры виртуальных сетей SQL Server, использующих несколько подсетей:

  • SQLCLUST1 SQL Server FCI включает Node1 и Node2. Узел1 подключен к Подсети1. Узел2 подключен к подсети2. Программа установки SQL Server отображает эту конфигурацию как кластер с несколькими подсетями и задает зависимость ресурса IP-адреса в значение OR.

  • SQLCLUST1 SQL Server FCI включает Node1, Node2 и Node3. Узел1 и Узел2 подключены к Подсети1. Узел 3 подключен к подсети 2. Программа установки SQL Server отображает эту конфигурацию как кластер с несколькими подсетями и задает зависимость ресурса IP-адреса в значение OR. Поскольку Узел1 и Узел2 расположены в одной подсети, такая конфигурация позволяет обеспечить более высокой уровень доступности локальных ресурсов.

  • SQLCLUST1 SQL Server FCI включает Node1 и Node2. Узел1 находится в Подсети1. Узел 2 подключен к подсети 1 и подсети 2. Программа установки SQL Server отображает эту конфигурацию как кластер с несколькими подсетями и задает зависимость ресурса IP-адреса в значение OR.

  • SQLCLUST1 SQL Server FCI включает Node1 и Node2. Узел1 подключен к Подсети1 и Подсети2. Узел2 также подключен к Подсети1 и Подсети2. Зависимость ресурса IP-адреса имеет значение AND с помощью программы установки SQL Server.

    Примечание.

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

Вопросы ресурса IP-адреса

В конфигурации отказоустойчивого кластера с несколькими подсетями IP-адреса не принадлежат всем узлам в отказоустойчивом кластере и могут не находиться в сети во время запуска SQL Server. Начиная с SQL Server 2012 (11.x), можно задать зависимость ресурса IP-адреса для OR. Это позволяет SQL Server быть в сети, если имеется по крайней мере один допустимый IP-адрес, к которому он может привязаться.

Примечание.

  • В версиях SQL Server раньше, чем SQL Server 2012 (11.x), технология stretch V-LAN использовалась в конфигурациях кластера с несколькими сайтами для предоставления одного IP-адреса для отработки отказа на сайтах. Благодаря новой возможности SQL Server к узлам кластера в разных подсетях теперь можно настроить отказоустойчивые кластеры SQL Server на нескольких сайтах без реализации технологии stretch V-LAN.

Рекомендации по заданию зависимости ресурса IP-адреса со значением OR

Если для зависимости ресурса IP-адреса устанавливается значение OR, рекомендуется задать следующий режим отработки отказа.

  • При сбое одного из IP-адресов на узле, которому в настоящее время принадлежит группа ресурсов кластера SQL Server, отработка отказа не активируется автоматически, пока все IP-адреса не будут допустимыми на этом узле.

  • При отработки отказа SQL Server будет работать в сети, если он может привязаться по крайней мере к одному IP-адресу, допустимому на текущем узле. IP-адреса, не привязанные к SQL Server при запуске, будут перечислены в журнале ошибок.

Если FCI SQL Server устанавливается параллельно с автономным экземпляром ядро СУБД SQL Server, необходимо избежать конфликтов номеров TCP-портов на IP-адресах. Конфликты обычно возникают, когда два экземпляра ядро СУБД настроены для использования TCP-порта по умолчанию (1433). Чтобы предотвратить возникновение конфликтов, настройте один экземпляр на использование фиксированного порта, отличного от установленного по умолчанию. Обычно настройку фиксированного порта проще всего выполнить на отдельном экземпляре. Настройка ядро СУБД для использования различных портов предотвратит непредвиденный конфликт IP-адреса или TCP-порта, который блокирует запуск экземпляра при сбое резервного узла SQL Server FCI.

Задержка восстановления клиента при отработке отказа

Экземпляр отказоустойчивого кластера, содержащий несколько подсетей, по умолчанию включает ресурс кластера RegisterAllProvidersIP в качестве своего сетевого имени. В конфигурации с несколькими подсетями как подключенные, так и отключенные от сети IP-адреса сетевого имени будут зарегистрированы на сервере DNS. Затем клиентское приложение извлечет все зарегистрированные IP-адреса с сервера DNS и попытается подключиться к ним либо по порядку, либо параллельно. Это означает, что время восстановления клиента при отработке отказов в нескольких подсетях больше не зависит от задержек обновления DNS. По умолчанию клиент пытается подключиться к IP-адресам по порядку. Если клиент использует в строке подключения новый дополнительный параметр MultiSubnetFailover=True , вместо этого он попытается подключиться к IP-адресам одновременно и подключится к первому серверу, который ответит. Это поможет свести к минимуму задержку восстановления клиента при отработке отказов. Дополнительные сведения см. в разделах Подключение клиента AlwaysOn (SQL Server) и Создание или настройка прослушивателя группы доступности (SQL Server).

При устаревших клиентских библиотеках или сторонних поставщиках данных использовать параметр MultiSubnetFailover в строке подключения невозможно. Чтобы обеспечить оптимальную работу клиентского приложения с FCI с несколькими подсетями в SQL Server, попробуйте настроить время ожидания подключения в клиентском строка подключения на 21 секунду для каждого дополнительного IP-адреса. Это позволит предотвратить окончание времени ожидания при попытке переподключения клиента до того, как будет завершен циклический перебор всех IP-адресов в экземпляре отказоустойчивого кластера, содержащего несколько подсетей.

Время ожидания подключения клиента по умолчанию для SQL Server Management Studio и sqlcmd составляет 15 секунд.

Примечание.

  • Если вы используете несколько подсетей и статический DNS, вам нужно обновить запись DNS, связанную с прослушивателем, прежде чем выполнять отработку отказа, иначе имя сети не будет предоставляться через Интернет.

См. также

Описание содержимого Раздел
Установка отказоустойчивого кластера SQL Server Создание нового отказоустойчивого кластера SQL Server (программа установки)
Обновление существующего отказоустойчивого кластера SQL Server на месте Обновление экземпляра отказоустойчивого кластера SQL Server (программа установки)
Обслуживание существующего отказоустойчивого кластера SQL Server Добавление или удаление узлов отказоустойчивого кластера SQL Server (программа установки)
Используйте оснастку управления отказоустойчивым кластером для просмотра событий и журналов WSFC Просмотр событий и журналов для отказоустойчивого кластера
Используйте Windows PowerShell для создания файла журнала для всех узлов (или конкретного узла) в отказоустойчивом кластере WSFC Командлет Get-ClusterLog отказоустойчивого кластера