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

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

Совет

Существует множество методов развертывания группы доступности. Упрощение развертывания и устранение необходимости использования Azure Load Balancer или распределенного сетевого имени (DNN) для группы доступности AlwaysOn путем создания виртуальных машин SQL Server в нескольких подсетях в одной виртуальной сети Azure. Если вы уже создали группу доступности в одной подсети, ее можно перенести в среду с несколькими подсетами.

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

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

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

Необходимые компоненты

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

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

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

Требование Description
Два экземпляра SQL Server — В группе доступности Azure
— в одном домене
— с установленными кластеризация отработки отказа
Windows Server Общая папка для свидетеля кластера
Учетная запись службы SQL Server Доменная учетная запись
Учетная запись службы агента SQL Server Доменная учетная запись
Открытые порты брандмауэра — SQL Server: 1433 для экземпляра по умолчанию
— конечная точка зеркало базы данных: 5022 или любой доступный порт
— Проба работоспособности IP-адресов подсистемы балансировки нагрузки для группы доступности: 59999 или любой доступный порт
— проба работоспособности IP-адресов подсистемы балансировки нагрузки для ядра кластера: 58888 или любой доступный порт
Отказоустойчивая кластеризация Требуется для обоих экземпляров SQL Server
Доменная учетная запись для установки — локальный администратор на каждом экземпляре SQL Server
— Член предопределенных ролей сервера sysadmin для каждого экземпляра SQL Server
Группы безопасности сети (NSG) Если среда использует группы безопасности сети, убедитесь, что текущая конфигурация разрешает сетевой трафик через порты, описанные в разделе "Настройка брандмауэра".

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

Первая задача — создать отказоустойчивый кластер Windows Server с виртуальными машинами SQL Server и следящий сервер:

  1. Используйте протокол удаленного рабочего стола (RDP) для подключения к первой виртуальной машине SQL Server. Используйте учетную запись домена, которая является администратором как на виртуальных машинах SQL Server, так и на сервере-свидетеле.

    Совет

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

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

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

    Screenshot of Failover Cluster Manager and the option for creating a cluster on the shortcut menu.

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

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

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

Примечание.

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

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

    Ресурс IP-адреса не может быть передан в режим "в сети", так как кластер назначается тем же IP-адресом, что и сам компьютер. Это повторяющийся адрес.

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

    Screenshot of Failover Cluster Manager that shows selections for opening properties for the IP address.

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

  4. В разделе "Основные ресурсы кластера" щелкните правой кнопкой мыши имя кластера и выберите "Переместить в Сеть". Подождите, пока оба ресурса будут подключены.

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

Добавление другого экземпляра SQL Server в кластер

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

    Screenshot of Failover Cluster Manager that shows selections for adding a node to a cluster.

  2. В мастере добавления узлов нажмите кнопку Далее.

  3. На странице "Выбор серверов" добавьте вторую виртуальную машину SQL Server. Введите имя виртуальной машины в поле "Ввод имени сервера" и нажмите кнопку "Добавить>далее".

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

  5. На странице подтверждения, если вы используете дисковые пространства, снимите флажок "Добавить все подходящее хранилище в кластер проверка box".

    Screenshot of the page in the Add Node Wizard that confirms the addition of a node to the cluster.

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

    Если вы не снимите флажок "Добавить все подходящее хранилище в кластер", Windows отсоединяет виртуальные диски во время кластеризация процесса. В результате они не отображаются в диспетчере дисков или обозреватель объектов, пока хранилище не будет удалено из кластера и повторно подключено через PowerShell.

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

  7. Выберите Готово.

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

  8. Завершите сеанс удаленного рабочего стола.

Добавление общей папки для кворума кластера

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

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

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

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

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

    Screenshot that shows selections for creating a new share in Computer Management.

    Создайте общую папку с помощью мастера создания общей папки.

  5. На странице "Путь к папке" нажмите кнопку "Обзор". Найдите или создайте путь к общей папке, а затем нажмите кнопку "Далее".

  6. На странице "Имя", "Описание" и Параметры проверьте имя и путь к общей папке. Выберите Далее.

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

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

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

    Screenshot of the dialog for customizing permissions, showing that the Install account has full control of the share.

  10. Нажмите ОК.

  11. На странице "Разрешения общей папки" нажмите кнопку "Готово". Затем снова нажмите кнопку "Готово ".

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

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

Примечание.

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

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

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

    Screenshot of Failover Cluster Manager that shows selections for configuring cluster quorum settings.

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

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

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

    Совет

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

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

  7. На странице подтверждения проверьте параметры. Затем выберите Далее.

  8. Выберите Готово.

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

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

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

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

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

  3. Перейдите на вкладку "Высокий уровень доступности AlwaysOn" и выберите "Включить группы доступности AlwaysOn".

    Screenshot that shows selections for enabling Always On availability groups.

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

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

Включение функции FILESTREAM

Если вы не используете FILESTREAM для базы данных в группе доступности, пропустите этот шаг и перейдите к следующему шагу — создание базы данных.

Если вы планируете добавить базу данных в группу доступности, которая использует FILESTREAM, необходимо включить FILESTREAM, так как эта функция отключена по умолчанию. С помощью диспетчера конфигурации SQL Server включите компонент на обоих экземплярах SQL Server.

Чтобы включить функцию FILESTREAM, выполните следующие действия.

  1. Запустите RDP-файл на первой виртуальной машине SQL Server (например, SQL-VM-1) с учетной записью домена, которая является членом предопределенной роли сервера sysadmin, например учетной записи домена CORP\Install, которую вы создали при работе с этой статьей.

  2. На начальном экране виртуальных машин SQL Server запустите диспетчер конфигурации SQL Server.

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

  4. Выберите вкладку FILESTREAM, а затем проверка поле для включения доступа FILESTREAM для Transact-SQL:

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

  6. В СРЕДЕ SQL Server Management Studio нажмите кнопку "Создать запрос", чтобы отобразить Редактор запросов.

  7. В Редактор запросов введите следующий код Transact-SQL:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE
    
  8. Щелкните Выполнить.

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

  10. Повторите эти шаги для другого экземпляра SQL Server.

Создание базы данных на первом экземпляре SQL Server

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

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

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

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

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

    Screenshot of selections for starting the process of creating a backup share.

    Создайте общую папку с помощью мастера создания общей папки.

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

  5. На странице "Имя", "Описание" и Параметры проверьте имя и путь к общей папке. Затем выберите Далее.

  6. На странице "Разрешения общей папки" задайте разрешения для настройки. Затем выберите "Настраиваемый".

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

  8. Проверьте полный контроль , чтобы предоставить полный доступ к учетной записи службы SQL Server (Corp\SQLSvc):

    Screenshot of the Customize Permissions dialog. Make sure that the SQL Server service accounts for both servers have full control.

  9. Нажмите ОК.

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

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

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

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

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

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

Теперь вы готовы создать и настроить группу доступности, выполнив следующие задачи:

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

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

  1. Подключение на виртуальную машину SQL Server с помощью удаленного рабочего стола и откройте SQL Server Management Studio.

  2. В обозреватель объектов в SSMS щелкните правой кнопкой мыши "Высокий уровень доступности" и выберите мастер создания группы доступности.

    Screenshot of Object Explorer in SSMS, with the shortcut command for starting the New Availability Group Wizard.

  3. На странице Введите выберите Далее. На странице "Параметры группы доступности" введите имя группы доступности в поле имени группы доступности. Например, введите MyTestAG. Затем выберите Далее.

    Screenshot that shows specifying an availability group name in the New Availability Group Wizard in SSMS.

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

    Примечание.

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

    Screenshot that shows selecting databases in the New Availability Group Wizard in SSMS.

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

    Screenshot of the button for adding a replica in the New Availability Group Wizard in SSMS.

  6. В диалоговом окне Подключение на сервер введите имя второго экземпляра SQL Server. В этом случае выберите Подключиться.

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

    Screenshot that shows two servers listed as replicas in the New Availability Group Wizard in SSMS.

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

    Screenshot of the Endpoints tab in the New Availability Group Wizard in SSMS.

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

    Примечание.

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

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

    Screenshot of the options for data synchronization in the New Availability Group Wizard in SSMS.

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

    Screenshot of the page that shows the results of validation in the New Availability Group Wizard in SSMS.

    Примечание.

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

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

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

    Screenshot that shows successful completion of the New Availability Group Wizard in SSMS.

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

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

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

    Screenshot of Object Explorer in SSMS that shows selections for opening a dashboard for an availability group.

    Панель мониторинга группы доступности должна выглядеть следующим образом:

    Screenshot of the availability group dashboard in SSMS.

    На панели мониторинга отображаются реплика, режим отработки отказа каждого реплика и состояние синхронизации.

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

    Имя группы доступности, которое вы использовали, является ролью в кластере. Эта группа доступности не имеет IP-адреса для клиентских подключений, так как вы не настроили прослушиватель. После создания подсистемы балансировки нагрузки Azure вы настроите прослушиватель.

    Screenshot of an availability group in Failover Cluster Manager.

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

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

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

В виртуальных машинах Azure для прослушивателя требуется подсистема балансировки нагрузки. Следующий шаг — создание подсистемы балансировки нагрузки в Azure.

Создайте подсистему балансировки нагрузки Azure.

Примечание.

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

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

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

Важно!

30 сентября 2025 г. базовый номер SKU для Azure Load Balancer будет прекращен. Дополнительные сведения см. в официальном объявлении. Если вы используете Базовую подсистему балансировки нагрузки, выполните обновление до Load Balancer (цен. категория до даты выхода на пенсию. Дополнительные сведения см. в статье об обновлении Load Balancer.

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

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

    Screenshot that shows selecting a Microsoft-published load balancer.

  3. Выберите Создать.

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

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

    Страница должна выглядеть следующим образом:

    Screenshot of the Azure portal that shows selected parameters for a load balancer.

  5. Нажмите кнопку "Далее" — интерфейсная IP-конфигурация.

  6. Выберите + Добавить интерфейсную IP-конфигурацию.

    Screenshot of the button for creating a frontend IP configuration in the Azure portal.

  7. Настройте внешний IP-адрес с помощью следующих значений:

    • Имя: введите имя, определяющее конфигурацию внешнего IP-адреса.
    • Виртуальная сеть: выберите ту же сеть, что и виртуальные машины.
    • Подсеть: выберите ту же подсеть, что и виртуальные машины.
    • Назначение: выбор статического.
    • IP-адрес: используйте доступный адрес из подсети. Используйте этот адрес для прослушивателя группы доступности. Этот адрес отличается от IP-адреса кластера.
    • Зона доступности. При необходимости выберите зону доступности для развертывания IP-адреса.

    На следующем рисунке показан диалоговое окно "Добавление интерфейсной IP-конфигурации ".

    Screenshot of the Azure portal that shows the dialog for frontend IP configuration.

  8. Выберите Добавить.

  9. Нажмите кнопку "Рецензирование и создание ", чтобы проверить конфигурацию. Затем выберите "Создать ", чтобы создать подсистему балансировки нагрузки и внешний IP-адрес.

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

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

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

    Screenshot of the Azure portal that shows a load balancer in an availability group.

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

  3. В поле "Имя" укажите имя внутреннего пула.

  4. Для конфигурации внутреннего пула выберите сетевой адаптер.

  5. Выберите "Добавить ", чтобы связать внутренний пул с группой доступности, содержащей виртуальные машины.

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

    Примечание.

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

  7. Выберите "Добавить", чтобы добавить виртуальные машины в внутренний пул.

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

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

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

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

    Параметр Description Пример
    Название Текст SQLAlwaysOnEndPointProbe
    Протокол Выберите TCP. TCP
    порт. Любой неиспользуемый порт. 59999
    Интервал Время между попытками пробы в секундах 5
  3. Выберите Добавить.

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

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

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

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

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

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

  3. Выберите Сохранить.

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

IP-адрес отказоустойчивого кластера Windows Server также должен находиться в подсистеме балансировки нагрузки. Если вы используете Windows Server 2019, пропустите этот процесс, так как кластер создает значение имени распределенного сервера вместо значения имени сети кластера.

  1. На портале Azure перейдите к этой же подсистеме балансировки нагрузки Azure. Выберите конфигурацию ВНЕШНЕГО IP-адреса и нажмите кнопку +Добавить. Используйте IP-адрес, настроенный для отказоустойчивого кластера Windows Server в основных ресурсах кластера. Задайте IP-адрес как статический.

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

  3. Задайте пробу работоспособности ip-адресов ядра кластера для отказоустойчивого кластера Windows Server следующим образом:

    Параметр Description Пример
    Название Текст WSFCEndPointProbe
    Протокол Выберите TCP. TCP
    порт. Любой неиспользуемый порт. 58888
    Интервал Время между попытками пробы в секундах 5
  4. Нажмите кнопку "Добавить ", чтобы задать пробу работоспособности.

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

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

    Параметр Description Пример
    Название Текст WSFCEndPoint
    Внешний IP-адрес Выберите адрес. Используйте адрес, созданный при настройке IP-адреса для отказоустойчивого кластера Windows Server. Это отличается от IP-адреса прослушивателя.
    Внутренний пул Выбор внутреннего пула Выберите внутренний пул, содержащий виртуальные машины, предназначенные для подсистемы балансировки нагрузки.
    Протокол Выберите TCP. TCP
    порт. Используйте порт для IP-адреса кластера. Это доступный порт, который не используется для порта пробы прослушивателя. 58888
    Серверный порт Это поле не используется, если для прямого возврата сервера задан плавающий IP-адрес. 58888
    Проба Имя, указанное для пробы WSFCEndPointProbe
    Сохранение сеанса Раскрывающийся список нет
    Время ожидания простоя Интервал (в минутах), в течение которого подключение TCP остается открытым. 4
    Плавающий IP-адрес (прямой ответ от сервера) Топология потока и схема сопоставления IP-адресов Включено

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

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

  7. Нажмите ОК.

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

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

Примечание.

В этом руководстве показано, как создать один прослушиватель с одним IP-адресом для внутренней подсистемы балансировки нагрузки. Сведения о создании прослушивателей с помощью одного или нескольких IP-адресов см. в разделе "Настройка одного или нескольких прослушивателей группы доступности AlwaysOn".

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

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

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

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

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

    Screenshot that shows a cluster network name in Failover Cluster Manager.

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

    a. В диспетчере отказоустойчивости кластеров разверните имя кластера и выберите роли.

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

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

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

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

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

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

    a. Перейдите на вкладку "Ресурсы" и разверните созданную клиентом точку доступа. Точка доступа клиента не подключена к сети.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

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

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

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  5. Сделайте группу доступности SQL Server зависящей от точки доступа клиента:

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

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

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

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    d. Нажмите ОК.

  6. Сделайте точку доступа клиента зависящей от IP-адреса:

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

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

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    c. Перейдите на вкладку "Зависимости ". Убедитесь, что IP-адрес является зависимостью. Если это не так, задайте зависимость от IP-адреса. Если перечислены несколько ресурсов, убедитесь, что IP-адреса имеют ИЛИ, а не И, зависимости. Затем выберите ОК.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    Совет

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

  7. Задайте параметры кластера в PowerShell:

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

    • $ClusterNetworkName Найдите имя в диспетчере отказоустойчивых кластеров, выбрав "Сети", щелкните сеть правой кнопкой мыши и выберите "Свойства". $ClusterNetworkName находится на вкладке "Имя" на вкладке "Общие".

    • $IPResourceName— это имя, заданное ресурсу IP-адреса в диспетчере отказоустойчивости кластеров. Это находится в диспетчере отказоустойчивых кластеров, выбрав роли, выберите имя группы доступности SQL Server или FCI, перейдите на вкладку "Ресурсы" в разделе "Имя сервера", щелкните правой кнопкой мыши ресурс IP-адреса и выберите "Свойства". Правильное значение находится на вкладке "Имя " на вкладке "Общие".

    • $ListenerILBIP — IP-адрес создан в подсистеме балансировки нагрузки Azure для прослушивателя группы доступности. Найдите $ListenerILBIP в диспетчере отказоустойчивости кластеров на той же странице свойств, что и имя ресурса прослушивателя SQL Server AG/FCI.

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

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that 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-адреса отказоустойчивого кластера Windows Server:

  1. Получите ИМЯ IP-адреса отказоустойчивого кластера Windows Server. В диспетчере отказоустойчивости кластеров в разделе "Ресурсы ядра кластера" найдите имя сервера.

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

  3. Скопируйте имя IP-адреса из имени. Это может быть IP-адрес кластера.

  4. Задайте параметры кластера в PowerShell:

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

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

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

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later 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 that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    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 настроен для использования порта от 49152 до 65536 ( динамический диапазон портов по умолчанию для TCP/IP), добавьте исключение для каждого порта. Такие ресурсы могут включать:

  • Ядро СУБД SQL Server
  • Прослушиватель группы доступности AlwaysOn
  • Проверка работоспособности экземпляра отказоустойчивого кластера
  • Конечная точка зеркального отображения базы данных
  • Ресурс 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. Перейдите к прослушивателям групп>доступности>AlwaysOn с высоким уровнем доступности.

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

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

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

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

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

  1. Используйте RDP для подключения к виртуальной машине SQL Server, которая находится в той же виртуальной сети, но не владеет реплика, например другой реплика.

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

    sqlcmd -S <listenerName> -E
    

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

    sqlcmd -S <listenerName>,1435 -E
    

Программа sqlcmd автоматически подключается к каждому экземпляру SQL Server— текущему основному реплика группы доступности.

Совет

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

Следующие шаги

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