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


Кластеризация нескольких подсетей SQL Server (SQL Server)

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

Кластер отказоустойчивости SQL Server с мультиподсетью (два узла, Two-Subnets)

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

Архитектура многоподсетей с MultiSubnetFailover

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

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

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

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

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

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

    Замечание

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

Рекомендации по ресурсам IP-адресов

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

Замечание

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

Рекомендации по ресурсу ИЛИ зависимости IP-адреса

Возможно, вам потребуется рассмотреть следующее поведение в случае отказа, если зависимость ресурса 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.

Задержка восстановления клиента при переключении на резервный механизм.

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

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

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

Связанные материалы

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