Руководство по настройке группы доступности вручную (SQL Server на виртуальных машинах Azure)

Применимо к: SQL Server на виртуальной машине Azure

Совет

Устраните необходимость в использовании Azure Load Balancer для группы доступности Always On, создав виртуальные машины SQL Server в нескольких подсетях одной виртуальной сети Azure.

В этом руководстве показано, как создать группу доступности Always On в одной подсети для SQL Server на виртуальных машинах Azure. Выполнив все действия в этом руководстве, вы создадите группу доступности с репликой базы данных на двух серверах SQL Server.

В этой статье, показано как настроить среду группы доступности вручную, но эту процедуру можно также выполнить с помощью портала Azure, PowerShell или Azure CLI либо шаблонов быстрого запуска Azure.

Оценка времени. Выполнение займет около 30 минут, если предварительные требования выполнены.

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

К этому руководству стоит приступать, если у вас есть хотя бы базовое представление о группах доступности Always On для SQL Server. Если вы хотите узнать больше, ознакомьтесь со статьей Что такое группа доступности Always On.

Прежде чем приступить к этому руководству, необходимо настроить необходимые компоненты для создания групп доступности Always On на виртуальных машинах Azure. Если эти предварительные условия уже выполнены, то можно перейти к созданию кластера.

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

Требование Описание
Два экземпляра SQL Server В группе доступности Azure.
В отдельном домене.
С установленным компонентом отказоустойчивой кластеризации.
Windows Server Файловый ресурс для свидетеля кластера.
Учетная запись службы SQL Server Доменная учетная запись
Учетная запись службы агента SQL Server Доменная учетная запись
Открытые порты брандмауэра — SQL Server: 1433 для экземпляра по умолчанию.
— Конечная точка зеркального отображения базы данных: 5022 или любой доступный порт.
— Проверка работоспособности группы доступности подсистемы балансировки нагрузки для IP-адреса: 59999 или любой доступный порт.
— Проверка работоспособности ядра кластера подсистемы балансировки нагрузки для IP-адреса: 58888 или любой доступный порт.
Добавление компонента отказоустойчивой кластеризации Этот компонент нужен на обоих экземплярах SQL Server
Доменная учетная запись для установки Локальный администратор на каждом сервере SQL Server.
Участник фиксированной роли сервера SQL Server sysadmin для каждого экземпляра SQL Server.

Примечание

Многие шаги, приведенные в этом руководстве, уже можно автоматизировать с помощью портала Azure, PowerShell и Az CLI или шаблонов быстрого запуска Azure.

Создайте кластер.

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

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

    Совет

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

  2. На панели мониторинга Диспетчер сервера выберите Инструменты и Диспетчер отказоустойчивости кластеров.

  3. В левой области щелкните правой кнопкой мыши Диспетчер отказоустойчивости кластеров и выберите Создать кластер.

    Создать кластер

  4. В мастере создания кластеров создайте кластер с одним узлом, поэтапно настроив параметры на всех страницах, как указано в таблице ниже.

    Страница Настройки
    Перед началом По умолчанию
    Выбор серверов Введите имя первого сервера SQL Server в поле Введите имя сервера и щелкните Добавить.
    Предупреждение проверки Выберите вариант Нет. Для этого кластера не требуется поддержка корпорации Майкрософт, поэтому нет необходимости выполнять проверочные тесты. После нажатия кнопки "Далее" продолжить создание кластера.
    Точка доступа для администрирования кластера Введите имя кластера, например SQLAGCluster1, в поле Имя кластера.
    Подтверждение Используйте параметры по умолчанию, если вы не используете дисковые пространства. Ознакомьтесь с примечанием после этой таблицы.

Указание IP-адреса отказоустойчивого кластера Windows Server

Примечание

В Windows Server 2019 кластер создает имя распределенного сервера вместо сетевого имени кластера. Если вы используете Windows Server 2019, пропустите все действия, которые ссылаются на имя ядра кластера в этом руководстве. Вы можете создать имя сети кластера с помощью PowerShell. Ознакомьтесь с блогом Отказоустойчивый кластер: объекта сети кластера для получения дополнительных сведений.

  1. В диспетчере отказоустойчивости кластеров прокрутите вниз до раздела Ресурсы ядра кластера и разверните сведения о кластере. Вы увидите ресурсы Имя и IP-адрес с состоянием Ошибка. Ресурс IP-адреса невозможно подключить к сети, так как кластеру назначен тот же IP-адрес, что и виртуальной машине, то есть он повторяется.

  2. Щелкните правой кнопкой мыши ресурс IP-адрес в состоянии сбоя и выберите Свойства.

    Свойства кластера

  3. Выберите Статический IP-адрес и укажите доступный адрес из той же подсети, что и ваши виртуальные машины.

  4. В разделе Ресурсы ядра кластера щелкните правой кнопкой мыши имя кластера и выберите Подключить. Подождите, пока оба ресурса будут подключены. Когда ресурс имени кластера подключится, на сервер контроллера домена будет добавлена новая учетную запись компьютера Active Directory (AD). Эта учетная запись впоследствии будет использоваться для запуска кластерной службы группы доступности.

Добавление в кластер другого сервера SQL Server

Добавьте в кластер другой сервер SQL Server.

  1. В дереве обозревателя щелкните правой кнопкой мыши кластер и выберите Добавить узел.

    Добавление узла в кластер

  2. В мастере добавления узлов нажмите кнопку Далее. На странице Выбор серверов добавьте второй сервер SQL Server. Введите имя этого сервера в поле Введите имя сервера и щелкните Добавить. Когда все будет готово, нажмите кнопку Далее.

  3. На странице Предупреждение проверки нажмите кнопку Нет (в рабочем сценарии следует выполнить проверочные тесты). Затем нажмите кнопку Далее.

  4. Если вы используете дисковые пространства, то на странице Подтверждение снимите флажок Добавление всех допустимых хранилищ в кластер.

    Подтверждение добавления узла

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

    Если вы не снимете флажок Add all eligible storage to the cluster (Добавить все допустимые хранилища в кластер), Windows отключит виртуальные диски во время кластеризации. Как следствие, они не будут отображаться в диспетчере дисков или проводнике, пока хранилище не будет удалено из кластера и повторно подключено с помощью PowerShell.

  5. Выберите Далее.

  6. Нажмите кнопку Готово.

    Диспетчер отказоустойчивости кластеров показывает, что в кластере появился новый узел. Он отображается в контейнере Nodes.

  7. Выйдите из сеанса удаленного рабочего стола.

Добавление файлового ресурса кворума кластера

В этом примере кластер Windows использует общую папку для создания кворума кластера. В этом руководстве используется кворум "Большинство узлов и общих файловых ресурсов". Дополнительные сведения см. в статье Настройка кворума и управление им.

  1. Подключитесь к рядовому серверу файлового ресурса-свидетеля с помощью сеанса удаленного рабочего стола.

  2. В диспетчере сервера выберите Инструменты. Откройте Управление компьютером.

  3. Выберите Общие папки.

  4. Щелкните правой кнопкой мыши Общие ресурсы и выберите Создать папку.

    Щелчок элемента

    Используйте мастер создания общих ресурсов, чтобы создать общий ресурс.

  5. Рядом с полем Путь к папке нажмите кнопку Обзор и укажите путь к общей папке или создайте его. Выберите Далее.

  6. В окне Имя, описание и параметры проверьте имя и путь общего ресурса. Выберите Далее.

  7. В окне Разрешения для общей папки выберите Настройка разрешений доступа. Выберите Пользовательские.

  8. В окне Настройка разрешений доступа нажмите кнопку Добавить.

  9. Убедитесь, что у учетной записи, используемой для создания кластера, имеется полный доступ.

    Убедитесь, что у учетной записи, используемой для создания кластера, имеется полный доступ.

  10. Щелкните ОК.

  11. В окне Разрешения для общей папки нажмите кнопку Готово. Выберите Готово еще раз.

  12. Выйдите с сервера.

Настройка кворума кластера

Теперь настройте кворум кластера.

Примечание

В зависимости от конфигурации группы доступности может потребоваться изменить голосование кворума узла, относящегося к отказоустойчивому кластеру Windows Server. Дополнительные сведения см. в статье Настройка кворума кластера для SQL Server на виртуальных машинах Azure.

  1. Подключитесь к первому узлу кластера с помощью сеанса удаленного рабочего стола.

  2. В диспетчере отказоустойчивости кластеров щелкните кластер правой кнопкой мыши, наведите указатель на пункт Дополнительные действия и выберите Настройка параметров кворума кластера.

    Выбор элемента

  3. В мастере настройки кворума кластера нажмите кнопку Далее.

  4. В окне Выбор параметра конфигурации кворума выберите Выбрать свидетель кворума и нажмите кнопку Далее.

  5. В окне Выбор свидетеля кворума выберите Настроить файловый ресурс-свидетель.

    Совет

    Windows Server 2016 поддерживает облако-свидетель. При выборе этого типа свидетеля файловый ресурс-свидетель не требуется. Дополнительные сведения см. в разделе Развертывание облачного следящего сервера для отказоустойчивого кластера. В этом руководстве используется файловый ресурс-свидетель, который поддерживается в предыдущих операционных системах.

  6. В поле Настройка файлового ресурса-свидетеля введите путь к созданному общему ресурсу. Выберите Далее.

  7. Проверьте параметры в окне Подтверждение. Выберите Далее.

  8. Нажмите кнопку Готово.

Теперь ресурсы ядра кластера настроены для использования файлового ресурса-свидетеля.

Включение групп доступности

Затем включите функцию групп доступности Always On. Выполните эти шаги для обоих серверов SQL Server.

  1. На начальном экране запустите Диспетчер конфигурации SQL Server.

  2. В дереве обозревателя выберите Службы SQL Server, затем щелкните правой кнопкой мыши службу SQL Server (MSSQLSERVER) и выберите пункт Свойства.

  3. Перейдите на вкладку Always On "Высокий уровень доступности", а затем выберите "Включить Always On группы доступности", как показано ниже.

    Включение групп доступности Always On

  4. Нажмите кнопку Применить. Нажмите кнопку ОК во всплывающем диалоговом окне.

  5. Перезапустите службу SQL Server.

Повторите эти действия на другом сервере SQL Server.

Создание базы данных на первом сервере SQL Server

  1. Запустите RDP-файл подключения к первому серверу SQL Server с доменной учетной записью, которая является участником фиксированной серверной роли sysadmin.
  2. Откройте SQL Server Management Studio и подключитесь к первому серверу SQL Server.
  3. В обозревателе объектов щелкните правой кнопкой мыши Базы данных и выберите пункт Создать базу данных.
  4. В поле Имя базы данных введите MyDB1, а затем нажмите кнопку ОК.

Создание общего ресурса для резервных копий

  1. На первом сервере SQL Server в диспетчере сервера выберите Инструменты. Откройте Управление компьютером.

  2. Выберите Общие папки.

  3. Щелкните правой кнопкой мыши Общие ресурсы и выберите Создать папку.

    Выбор элемента

    Используйте мастер создания общих ресурсов, чтобы создать общий ресурс.

  4. Рядом с полем Путь к папке нажмите кнопку Обзор и укажите путь к общей папке резервных копий баз данных или создайте его. Выберите Далее.

  5. В окне Имя, описание и параметры проверьте имя и путь общего ресурса. Выберите Далее.

  6. В окне Разрешения для общей папки выберите Настройка разрешений доступа. Выберите Пользовательские.

  7. В окне Настройка разрешений доступа нажмите кнопку Добавить.

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

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

  9. Щелкните ОК.

  10. В окне Разрешения для общей папки нажмите кнопку Готово. Выберите Готово еще раз.

Создание полной резервной копии базы данных

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

  1. В обозревателе объектов щелкните правой кнопкой мыши базу данных, наведите указатель на пункт Задачи и выберите Создать резервную копию.

  2. Нажмите кнопку ОК, чтобы создать полную резервную копию в расположении резервных копий по умолчанию.

Создание группы доступности

Теперь все готово к настройке группы доступности. Для этого выполните следующее:

  • Создайте базу данных на первом сервере SQL Server.
  • Создание полной резервной копии и резервной копии журнала транзакций базы данных.
  • Восстановите полную резервную копию и резервную копию журналов на втором сервере SQL Server с параметром NORECOVERY.
  • Создание группы доступности (AG1) с синхронной фиксацией, автоматической отработкой отказа и доступными для чтения вторичными репликами.

Создание группы доступности:

  1. Откройте сеанс удаленного рабочего стола для первого сервера SQL Server. В обозреватель объектов в SSMS щелкните правой кнопкой мыши Always On высокий уровень доступности и выберите мастер создания группы доступности.

    Запуск мастера создания групп доступности

  2. На странице Введение выберите Далее. На странице Указание имени группы доступности в поле Имя группы доступности введите имя группы доступности (например, AG1). Выберите Далее.

    Мастер создания групп доступности, страница

  3. На странице Выбор баз данных выберите свою базу данных и нажмите кнопку Далее.

    Примечание

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

    Мастер создания групп доступности, страница

  4. На странице Указание реплик выберите Добавить реплику.

    Мастер создания групп доступности, страница

  5. Появится диалоговое окно Подключение к серверу . Введите имя второго сервера в поле Имя сервера. Щелкните Подключить.

    На странице Указание реплик в списке Реплики доступности должен отобразиться второй сервер. Настройте реплики, как описано ниже.

    Мастер создания групп доступности, заполненная страница

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

    Мастер создания групп доступности, страница

  7. На странице Выбор начальной синхронизации данных выберите Полная и укажите сетевую папку. Это должен быть созданный вами общий ресурс для резервных копий. В примере используется папка \\<First SQL Server>\Backup\. Выберите Далее.

    Примечание

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

    Выбор элемента

  8. На странице Проверка нажмите кнопку Далее. Эта страница должна выглядеть, как на рисунке ниже.

    Мастер создания групп доступности, страница

    Примечание

    Появится предупреждение о конфигурации прослушивателя группы доступности, так как он еще не настроен. Это предупреждение можно игнорировать, так как на виртуальных машинах Azure создать прослушиватель можно и после создания Azure Load Balancer.

  9. На странице Сводка щелкните Готово и подождите, пока мастер настроит новую группу доступности. На странице Ход выполнения вы можете нажать кнопку Дополнительные сведения, чтобы просмотреть подробности хода выполнения. После того как мастер закончит работу, проверьте страницу Результаты, чтобы убедиться, что группа доступности успешно создана.

    Мастер создания групп доступности, страница

  10. Нажмите кнопку Закрыть, чтобы выйти из мастера.

Проверка группы доступности

  1. В обозревателе объектов разверните узел Высокий уровень доступности AlwaysOn, а затем узел Группы доступности. Теперь в этом контейнере должна появиться новая группа доступности. Щелкните правой кнопкой мыши группу доступности и выберите Показать панель мониторинга.

    Отображение панели мониторинга для группы доступности

    Панель мониторинга Always On должна выглядеть примерно так:

    Панель мониторинга группы доступности

    Вы увидите реплики, режим отработки отказа для каждой из них и состояние синхронизации.

  2. В диспетчере отказоустойчивости кластеров выберите свой кластер. Выберите Роли. Имя группы доступности, которое вы использовали, представляет собой роль в кластере. Так как вы не настроили прослушиватель, у этой группы доступности нет IP-адреса для подключений клиентов. Вы настроите прослушиватель после создания Azure Load Balancer.

    Группа доступности в диспетчере отказоустойчивости кластеров

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

    Не пытайтесь выполнить отработку отказа для группы доступности через диспетчер отказоустойчивости кластеров. Все операции отработки отказа следует выполнять через панель мониторинга AlwaysOn в SSMS. Дополнительные сведения см. в статье Отказоустойчивая кластеризация и группы доступности AlwaysOn (SQL Server).

На этом этапе у вас есть группа доступности с репликами в двух экземплярах SQL Server. Группу доступности можно перемещать между экземплярами. Пока невозможно подключиться к этой группе доступности, так как отсутствует прослушиватель. В виртуальных машинах Azure для прослушивателя требуется подсистема балансировки нагрузки. Следующий шаг — создание подсистемы балансировки нагрузки в Azure.

Создание Azure Load Balancer

Примечание

Клиенты, использующие SQL Server 2019 версии CU8 и выше в Windows Server 2016 и более поздних версий, могут использовать прослушиватель имени распределенной сети (DNN) вместо стандартного прослушивателя VNN и Azure Load Balancer. Пропустите остальные инструкции, приведенные в этой статье, по созданию прослушивателя и подсистемы балансировки нагрузки.

Для группы доступности SQL Server на виртуальных машинах Azure необходима подсистема балансировки нагрузки. Подсистема балансировки нагрузки хранит IP-адреса для прослушивателей группы доступности и отказоустойчивого кластера Windows Server. В этом разделе кратко описывается, как создать подсистему балансировки нагрузки на портале Azure.

Azure Load Balancer может быть подсистемой балансировки нагрузки цен. категории "Стандартный" или "Базовый". Load Balancer уровня "Стандартный" имеет больше возможностей, чем Load Balancer уровня "Базовый". Для группы доступности Load Balancer уровня "Базовый" является обязательным, если используется зона доступности (вместо набора доступности). Дополнительные сведения о различиях между подсистемами балансировки нагрузки см. в разделе Сравнение SKU Load Balancer.

  1. На портале Azure перейдите к группе ресурсов, содержащей ваши экземпляры SQL Server, и нажмите кнопку + Добавить.

  2. Найдите балансировщик нагрузки. Выберите подсистему балансировки нагрузки, опубликованную корпорацией Майкрософт.

    Выбор подсистемы балансировки нагрузки, опубликованной корпорацией Майкрософт

  3. Нажмите кнопку создания.

  4. Настройте следующие параметры для балансировщика нагрузки:

    Параметр Поле
    имя; Используйте для подсистемы балансировки нагрузки текстовое имя, например sqlLB.
    Тип Внутренние
    Виртуальная сеть Используйте имя виртуальной сети Azure.
    Подсеть Используйте имя подсети, в которой находится виртуальная машина.
    Назначение IP-адресов Статические
    IP-адрес Используйте доступный адрес из подсети. Этот адрес используется для прослушивателя группы доступности. Обратите внимание, что он отличается от IP-адреса кластера.
    Подписка Используйте подписку, в которой находится виртуальная машина.
    Расположение Используйте расположение, в котором находится виртуальная машина.

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

    Создание балансировщика нагрузки

  5. Нажмите кнопку Создать, чтобы создать подсистему балансировки нагрузки.

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

Добавление серверного пула для прослушивателя группы доступности

  1. На портале Azure перейдите к своей группе доступности. Может потребоваться обновить представление, чтобы отобразить только что созданную подсистему балансировки нагрузки.

    Поиск подсистемы балансировки нагрузки в группе ресурсов

  2. Откройте подсистему балансировки нагрузки, выберите Серверные пулы и нажмите кнопку + Добавить.

  3. Введите имя для серверного пула.

  4. Свяжите серверный пул с группой доступности, в которую входят виртуальные машины.

  5. В разделе Целевые IP-конфигурации сети установите флажок Виртуальная машина и выберите обе виртуальные машины, на которых будут размещаться реплики группы доступности. Не следует добавлять сервер файлового ресурса-свидетеля.

    Примечание

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

  6. Нажмите кнопку ОК, чтобы создать серверный пул.

Настройка пробы

  1. Откройте подсистему балансировки нагрузки, выберите Пробы работоспособности и нажмите кнопку + Добавить.

  2. Настройте пробу работоспособности прослушивателя, как показано ниже.

    Параметр Описание Пример
    имя; текст SQLAlwaysOnEndPointProbe
    протокол; Выберите протокол TCP. TCP
    порт. Любой неиспользуемый порт. 59999
    Интервал Промежуток времени между повторными попытками выполнения пробы в секундах. 5
    Пороговое значение сбоя Число последовательных сбоев пробы, после которых виртуальная машина будет считаться неработоспособной. 2
  3. Нажмите кнопку ОК, чтобы задать пробу работоспособности.

Настройка правил балансировки нагрузки

  1. Откройте подсистему балансировки нагрузки, выберите Правила балансировки нагрузки и нажмите кнопку + Добавить.

  2. Настройте правила балансировки нагрузки прослушивателя, как показано ниже.

    Параметр Описание Пример
    имя; текст SQLAlwaysOnEndPointListener
    Frontend IP address (Интерфейсный IP-адрес) Выберите адрес. Используйте адрес, который был создан при создании подсистемы балансировки нагрузки.
    протокол; Выберите протокол TCP. TCP
    порт. Создайте порт для прослушивателя группы доступности 1433
    Серверный порт Это поле не используется, если задан плавающий IP-адрес для прямого ответа от сервера. 1433
    Проба Имя, указанное для пробы. SQLAlwaysOnEndPointProbe
    Сохранение сеанса Раскрывающийся список. None
    Время ожидания простоя Интервал (в минутах), в течение которого подключение TCP остается открытым. 4
    Плавающий IP-адрес (прямой ответ от сервера) Активировано

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

    Параметры прямого ответа от сервера задаются во время создания. Их невозможно изменить.

  3. Нажмите кнопку OK, чтобы задать правила балансировки нагрузки прослушивателя.

Добавьте IP-адрес ядра кластера для отказоустойчивого кластера Windows Server (WSFC).

IP-адрес WSFC также должен находиться в подсистеме балансировки нагрузки.

  1. На портале Azure перейдите к этой же подсистеме балансировки нагрузки Azure. Выберите Конфигурация IP внешнего интерфейса и нажмите кнопку + Добавить. Используйте IP-адрес, настроенный для WSFC в ресурсах ядра кластера. Укажите статический IP-адрес.

  2. Откройте подсистему балансировки нагрузки, выберите Пробы работоспособности и нажмите кнопку + Добавить.

  3. Настройте пробу работоспособности IP-адреса ядра кластера WSFC следующим образом.

    Параметр Описание Пример
    имя; текст WSFCEndPointProbe
    протокол; Выберите протокол TCP. TCP
    порт. Любой неиспользуемый порт. 58888
    Интервал Промежуток времени между повторными попытками выполнения пробы в секундах. 5
    Пороговое значение сбоя Число последовательных сбоев пробы, после которых виртуальная машина будет считаться неработоспособной. 2
  4. Нажмите кнопку ОК, чтобы задать пробу работоспособности.

  5. Настройте правила балансировки нагрузки. Выберите Правила балансировки нагрузки и нажмите кнопку + Добавить.

  6. Задайте правила балансировки нагрузки IP-адресов ядра кластера следующим образом.

    Параметр Описание Пример
    имя; текст WSFCEndPoint
    Frontend IP address (Интерфейсный IP-адрес) Выберите адрес. Используйте адрес, который был создан при настройке IP-адреса WSFC. Он отличается от IP-адреса прослушивателя
    протокол; Выберите протокол TCP. TCP
    порт. Используйте порт для IP-адреса кластера. Это доступный порт, который не используется для порта пробы прослушивателя. 58888
    Серверный порт Это поле не используется, если задан плавающий IP-адрес для прямого ответа от сервера. 58888
    Проба Имя, указанное для пробы. WSFCEndPointProbe
    Сохранение сеанса Раскрывающийся список. None
    Время ожидания простоя Интервал (в минутах), в течение которого подключение TCP остается открытым. 4
    Плавающий IP-адрес (прямой ответ от сервера) Активировано

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

    Параметры прямого ответа от сервера задаются во время создания. Их невозможно изменить.

  7. Нажмите кнопку ОК, чтобы задать правила балансировки нагрузки.

Настройка прослушивателя

Далее нужно настроить прослушиватель группы доступности в отказоустойчивом кластере.

Примечание

В этом руководстве показано, как создать отдельный прослушиватель с одним IP-адресом внутренней подсистемы балансировки нагрузки (ILB). Чтобы создать один или несколько прослушивателей с использованием одного или нескольких IP-адресов, ознакомьтесь со статьей Configure one or more Always On Availability Group Listeners - Resource Manager (Настройка одного или нескольких прослушивателей групп доступности AlwaysOn в модели Resource Manager).

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

  1. Получите имя сетевого ресурса для кластера.

    а. Подключитесь по протоколу RDP к виртуальной машине Azure, на которой размещена основная реплика.

    b. Откройте диспетчер отказоустойчивости кластеров.

    c. Выберите узел Сети узел и запишите сетевое имя кластера. Это имя нужно использовать в переменной $ClusterNetworkName в сценарии PowerShell. На следующем изображении сетевое имя кластера — Cluster Network 1:

    Сетевое имя кластера

  2. Добавьте точку доступа клиента.
    Точка доступа клиента — это сетевое имя, которое используют приложения для подключения к базам данных в группе доступности. Создайте точку доступа клиента в диспетчере отказоустойчивости кластеров.

    а. Разверните имя кластера и щелкните пункт Роли.

    b. На панели Роли щелкните правой кнопкой мыши имя группы доступности и выберите Добавить ресурс>Точка доступа клиента.

    Снимок экрана: пункт меню

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

    d. Чтобы завершить создание прослушивателя, нажмите кнопку Далее дважды, а затем нажмите кнопку Готово. Не подключайте прослушивателя или ресурс на этом этапе.

  3. Отключите группу доступности роли кластера. В диспетчере отказоустойчивых кластеров в разделе Роли щелкните правой кнопкой мыши роль и выберите Остановить роль.

  4. Настройте ресурс IP-адреса для группы доступности.

    а. Щелкните вкладку Ресурсы и разверните созданную точку доступа клиента.
    Точка доступа клиента не подключена к сети.

    Точка доступа клиента

    b. Щелкните правой кнопкой мыши ресурс IP-адреса и выберите пункт "Свойства". Запишите IP-адрес и используйте его в переменной $IPResourceName в скрипте PowerShell.

    c. В разделе IP-адрес выберите параметр Статический IP-адрес. Задайте тот же IP-адрес, который использовался на портале Azure при настройке адреса подсистемы балансировки нагрузки.

    Снимок экрана, на котором показано, где нужно указать IP-адрес.

  5. Сделайте так, чтобы ресурс группы доступности SQL Server зависел от точки доступа клиента.

    а. В диспетчере отказоустойчивости кластеров щелкните Роли и выберите группу доступности.

    b. На вкладке Ресурсы в разделе Другие ресурсы щелкните правой кнопкой мыши группу ресурсов и выберите Свойства.

    c. На вкладке "Зависимости" добавьте имя ресурса точки доступа клиента (прослушивателя).

    Снимок экрана, на котором показано, где на вкладке

    d. Нажмите кнопку ОК.

  6. Сделайте так, чтобы ресурс точки доступа клиента зависел от IP-адреса.

    а. В диспетчере отказоустойчивости кластеров щелкните Роли и выберите группу доступности.

    b. На вкладке Ресурсы в разделе Имя сервера щелкните ресурс точки доступа клиента правой кнопкой мыши и выберите Свойства.

    Снимок экрана: пункт меню

    c. Перейдите на вкладку Зависимости . Убедитесь, что IP-адрес — это зависимость. В противном случае укажите IP-адрес в качестве зависимости. Если в списке несколько ресурсов, убедитесь, что IP-адреса имеют зависимости OR, а не AND. Нажмите кнопку ОК.

    Ресурс IP-адреса

    Совет

    Вы можете проверить правильность настройки зависимостей. В диспетчере отказоустойчивости кластеров перейдите к разделу "Роли", щелкните группу доступности правой кнопкой мыши, затем щелкните Дополнительные действия и Показать отчет о зависимостях. Когда зависимости настроены правильно, группа доступности зависит от имени сети, которое, в свою очередь, зависит от IP-адреса.

  7. Настройте параметры кластера в PowerShell.

    а. Скопируйте следующий скрипт PowerShell на один из экземпляров SQL Server. Обновите переменные для среды.

    • $ListenerILBIP — IP-адрес создан в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности.

    • $ListenerProbePort — порт, который вы настроили в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности.

    $ClusterNetworkName = "<MyClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
    $IPResourceName = "<IPResourceName>" # the IP Address resource name
    $ListenerILBIP = "<n.n.n.n>" # the IP Address of the Internal Load Balancer (ILB). This is the static IP address for the load balancer you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Задайте параметры кластера, выполнив скрипт PowerShell на одном из узлов кластера.

    Примечание

    Если экземпляры SQL Server находятся в разных регионах, необходимо дважды запустить сценарий PowerShell. При первом запуске используйте значения $ListenerILBIP и $ListenerProbePort из первого региона. При втором запуске используйте значения $ListenerILBIP и $ListenerProbePort из второго региона. Имя сети кластера и имя ресурса IP-кластера разные для каждого региона.

  8. Включите группу доступности роли кластера. В диспетчере отказоустойчивых кластеров в разделе Роли щелкните правой кнопкой мыши роль и выберите Запуск роли.

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

  1. Получите имя IP-адреса для кластера WSFC. В диспетчере отказоустойчивости кластеров в разделе Ресурсы ядра кластера найдите имя сервера.

  2. Щелкните правой кнопкой мыши IP-адрес и выберите пункт Свойства.

  3. Запишите IP-адрес. Может иметь значение Cluster IP Address.

  4. Настройте параметры кластера в PowerShell.

    а. Скопируйте следующий скрипт PowerShell на один из экземпляров SQL Server. Обновите переменные для среды.

    • $ClusterCoreIP — IP-адрес создан в подсистеме балансировки нагрузки Azure для ядра кластерного ресурса WSFC. Он отличается от IP-адреса для прослушивателя группы доступности.

    • $ClusterProbePort — порт, который вы настроили в подсистеме балансировки нагрузки Azure для пробы работоспособности WSFC. Он отличается от пробы для прослушивателя группы доступности.

    $ClusterNetworkName = "<MyClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
    $IPResourceName = "<ClusterIPResourceName>" # the IP Address resource name
    $ClusterCoreIP = "<n.n.n.n>" # the IP Address of the Cluster IP resource. This is the static IP address for the load balancer you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from the WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener probe port.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Задайте параметры кластера, выполнив скрипт PowerShell на одном из узлов кластера.

Если ядро СУБД SQL Server, прослушиватель группы доступности Always On, проба работоспособности экземпляра отказоустойчивого кластера, конечная точка зеркального отображения базы данных, основной IP-ресурс кластера или любой другой ресурс SQL настроен для использования порта в диапазоне от 49 152 до 65 536 (динамический диапазон динамических портов по умолчанию для TCP/IP), добавьте исключение для каждого порта. Это позволит предотвратить динамическое присвоение другим системным процессам того же порта. Для этого сценария необходимо настроить следующие исключения во всех узлах кластера:

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Важно настроить исключение портов, если порт не используется, в противном случае команда завершится ошибкой с сообщением "Процесс не может получить доступ к файлу, так как он используется другим процессом". Чтобы убедиться, что исключения настроены правильно, используйте следующую команду: netsh int ipv4 show excludedportrange tcp

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

Порт пробы работоспособности прослушивателя группы доступности должен отличаться от порта пробы работоспособности ядра кластера IP-адреса. В этих примерах порт прослушивателя — 59999, а порт для пробы работоспособности IP-адреса ядра кластера — 58888. Оба порта требуют правило разрешения брандмауэра для входящих подключений.

Настройка порта прослушивателя

Настройте порт прослушивателя в SQL Server Management Studio.

  1. Запустите SQL Server Management Studio и подключитесь к основной реплике.

  2. Перейдите к Always Onпрослушивателям групп> доступности > высокого уровнядоступности.

  3. Теперь вы увидите имя прослушивателя, созданного в диспетчере отказоустойчивости кластеров. Щелкните имя прослушивателя правой кнопкой мыши и выберите пункт Свойства.

  4. В поле Порт укажите номер порта для прослушивателя группы доступности. Значение по умолчанию — 1433. Щелкните ОК.

Теперь у вас есть группа доступности SQL Server на виртуальных машинах Azure в режиме Resource Manager.

Проверка подключения к прослушивателю

Чтобы проверить подключение:

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

  2. Для проверки подключения используйте служебную программу sqlcmd. Например, в следующем сценарии sqlcmd подключается к основной реплике через прослушиватель с использованием аутентификации Windows.

    sqlcmd -S <listenerName> -E
    

    Если прослушиватель использует порт, отличный от порта по умолчанию (1433), укажите порт в строке подключения. Например, следующая команда sqlcmd подключается к прослушивателю через порт 1435:

    sqlcmd -S <listenerName>,1435 -E
    

sqlcmd автоматически подключается к любому экземпляру SQL Server, на котором размещена основная реплика.

Совет

Указанный порт должен быть открыт в брандмауэре обоих серверов SQL Server. Для обоих серверов требуется правило для входящего трафика используемого TCP-порта. Дополнительные сведения см. в статье Добавление и изменение правила брандмауэра.

Дальнейшие действия

Дополнительные сведения см. на следующих ресурсах: