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

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

В этом руководстве объясняется, как настроить реплику группы доступности AlwaysOn для SQL Server на виртуальных машинах Azure в регионе Azure, удаленном к первичной реплике. Эту конфигурацию можно использовать для аварийного восстановления (АВАРИЙНОго восстановления).

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

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

Обзор

На следующем рисунке показано типичное развертывание группы доступности на виртуальных машинах Azure.

Diagram that shows an Azure load balancer and an availability set with a Windows Server failover cluster and Always On availability group.

На схеме развертывания все виртуальные машины находятся в одном регионе Azure. Реплики группы доступности могут использовать синхронную фиксацию с автоматической отработкой отказа на SQL-1 и SQL-2. Чтобы создать эту архитектуру, ознакомьтесь с шаблоном группы доступности или руководством.

Данная архитектура подвержена простоям в случаях, когда регион Azure становится недоступным. Чтобы устранить эту уязвимость, добавьте реплику в другой регион Azure. На следующей схеме показано, как выглядит новая архитектура:

Diagram of a disaster recovery scenario for an availability group.

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

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

Примечание.

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

Виртуальную машину можно поместить в группу доступности только во время создания. Если в группе доступности уже есть виртуальная машина, то позже в нее можно будет добавить виртуальную машину для размещения дополнительной реплики.

Если реплики групп доступности находятся на виртуальных машинах Azure в разных регионах Azure, вы можете подключить виртуальные сети с помощью пиринга виртуальной сети или VPN-шлюза типа "сеть — сеть".

Важно!

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

Создание сети и подсети

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

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

Тип Локальная среда Удаленный регион
Пространство адресов 192.168.0.0/16 10.36.0.0/16
Сеть подсети 192.168.15.0/24 10.36.1.0/24
IP-адрес кластера 192.168.15.200 10.36.1.200
IP-адрес прослушивателя группы доступности 192.168.15.201 10.36.1.201

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

  1. Перейдите к своей группе ресурсов на портале Azure и выберите + Создать.

  2. Найдите виртуальную сеть в поле поиска Marketplace и выберите плитку виртуальной сети от Корпорации Майкрософт.

  3. На странице Создание виртуальной сети выберите Создать. Затем введите следующие сведения на вкладке "Основные сведения".

    1. В разделе "Сведения о проекте" выберите соответствующую подписку Azure. Для группы ресурсов выберите созданную ранее группу ресурсов, например SQL-HA-RG.
    2. В разделе "Сведения об экземпляре" укажите имя виртуальной сети, например remote_HAVNET. Затем выберите новый удаленный регион.

    Screenshot of the Azure portal that shows selections for creating a virtual network in a remote region.

  4. На вкладке IP-адресов выберите многоточие (...) рядом с элементом +Добавить подсеть. Выберите "Удалить адресное пространство", чтобы удалить существующее адресное пространство , если вам нужен другой диапазон адресов.

    Screenshot of the Azure portal that shows selections for deleting the existing address space in a virtual network.

  5. Выберите " Добавить пространство IP-адресов", чтобы открыть область, чтобы создать нужное адресное пространство. В этом руководстве используется адресное пространство удаленного региона: 10.36.0.0/16. Выберите Добавить.

    Screenshot of the Azure portal that shows selections for adding an address space for a virtual network.

  6. Выберите и добавьте подсеть, а затем:

    1. Укажите значение имени подсети, например администратора.

    2. Укажите уникальный диапазон адресов подсети в адресном пространстве виртуальной сети.

      Например, если диапазон адресов равен 10.36.0.0/16, введите эти значения для подсети администратора : 10.36.1.0 для начального адреса и /24 для размера подсети.

    3. Выберите Добавить, чтобы добавить новую подсеть.

    Screenshot of the Azure portal that shows selections for adding a subnet to a virtual network.

Подключение виртуальных сетей в двух регионах Azure

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

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

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

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

    Screenshot of the Azure portal that shows selections for adding a virtual network peering.

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

    Параметр Значение
    Эта виртуальная сеть
    Имя ссылки пиринга Введите autoHAVNET-remote_HAVNET имя пиринга из autoHAVNET в удаленную виртуальную сеть.
    Удаленная виртуальная сеть
    Имя ссылки пиринга Введите remote_HAVNET-autoHAVNET для имени пиринга из удаленной виртуальной сети в autoHAVNET.
    Подписка Выберите подписку для удаленной виртуальной сети.
    Виртуальная сеть Выберите remote_HAVNET для имени удаленной виртуальной сети. Удаленная виртуальная сеть может находиться в одном регионе autoHAVNET или в другом регионе.

    Screenshot of the Azure portal that shows peering settings.

  4. На странице пиринга состояние пиринга подключено.

    Screenshot of the Azure portal that shows a Connected status for virtual network peering.

    Если не отображается состояние Подключено, нажмите кнопку Обновить.

Создание контроллера домена

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

  1. Вернитесь в группу ресурсов SQL-HA-RG .
  2. Нажмите кнопку + Создать.
  3. Введите Windows Server 2016 Datacenter и выберите результат Центра обработки данных Windows Server 2016.
  4. В Windows Server 2016 Datacenter убедитесь, что выбрана модель развертывания Resource Manager, а затем нажмите кнопку Создать.

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

Параметр Значение
имя; Удаленный контроллер домена: ad-remote-dc
Тип диска виртуальной машины Твердотельный накопитель
Имя пользователя DomainAdmin
Пароль Contoso!0000
Подписка Ваша подписка
Группа ресурсов SQL-HA-RG
Расположение Ваше расположение
Размер DS1_V2
Память Использование управляемых дисков: Да
Виртуальная сеть remote_HAVNET
Подсеть admin
Общедоступный IP-адрес Совпадает с именем виртуальной машины
группу безопасности сети; Совпадает с именем виртуальной машины
Диагностика Активировано
Учетная запись хранения для диагностики Создается автоматически

Azure создаст виртуальные машины.

Настройка контроллера домена

В следующих шагах настройте компьютер ad-remote-dc в качестве контроллера домена для corp.contoso.com:

Настройка предпочитаемого адреса DNS-сервера

Предпочтительный DNS-адрес dns-сервера не должен обновляться непосредственно на виртуальной машине, его следует изменить с портала Azure, PowerShell или Azure CLI. Ниже описано, как внести изменения на портал Azure.

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите Сетевой интерфейс. В результатах поиска выберите Сетевые интерфейсы.

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

  4. В разделе Параметры выберите DNS-серверы.

  5. Так как этот контроллер домена не находится в той же виртуальной сети, что и основной контроллер домена, выберите "Пользовательский " и введите IP-адрес основного контроллера домена, например 192.168.15.4. Указанный адрес DNS-сервера назначается только этому сетевому интерфейсу и переопределяет любые параметры DNS для виртуальной сети, которой назначен сетевой интерфейс.

  6. Щелкните Сохранить.

  7. Вернитесь на виртуальную машину на портале Azure и перезапустите виртуальную машину. После перезапуска виртуальной машины вы можете присоединить виртуальную машину к домену.

Присоединение к домену.

Затем присоединитесь к домену corp.contoso.com. Для этого выполните следующие действия.

  1. Удаленно подключитесь к виртуальной машине с помощью учетной записи BUILTIN\DomainAdmin.
  2. В диспетчере серверов выберите Локальный сервер.
  3. Выберите WORKGROUP.
  4. В разделе Имя компьютера нажмите кнопку Изменить.
  5. Установите флажок Домен и введите в текстовом поле corp.contoso.com. Щелкните ОК.
  6. Во всплывающем диалоговом окне Безопасность Windows укажите имя (CORP\DomainAdmin) и пароль (Contoso!0000) учетной записи администратора домена по умолчанию.
  7. При появлении сообщения "Добро пожаловать на домен corp.contoso.com" нажмите кнопку ОК.
  8. Нажмите кнопку Закрыть, а затем Перезагрузить сейчас во всплывающем диалоговом окне.

Настройка контроллера домена

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

  1. Если вы еще не подключились, откройте сеанс удаленного рабочего стола с подключением к дополнительному контроллеру домена и откройте панель мониторинга диспетчер серверов (которая может быть открыта по умолчанию).

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

    Server Manager - Add roles

  3. Нажимайте Далее, пока не откроется раздел Роли сервера.

  4. Выберите роли Доменные службы Active Directory и DNS-сервер. При появлении запроса добавьте требуемые для этих ролей дополнительные компоненты.

  5. После установки компонентов вернитесь к панели мониторинга Диспетчер серверов .

  6. Выберите новый вариант AD DS на левой панели.

  7. Щелкните ссылку Дополнительно на желтой панели предупреждений.

  8. В столбце Действие диалогового окна Все сведения о задаче сервера выберите Повысить роль этого сервера до уровня контроллера домена.

  9. На вкладке Конфигурация развертывания установите переключатель Добавить контроллер домена в существующий домен.

  10. Нажмите кнопку Выбрать.

  11. Подключитесь, используя учетную запись администратора (CORP.CONTOSO.COM\domainadmin) и ее пароль (Contoso!0000).

  12. В разделе Выберите домен в лесу щелкните свой домен, а затем нажмите ОК.

  13. В разделе Параметры контроллера домена используйте значения по умолчанию и задайте пароль DSRM.

    Примечание.

    На странице Параметры DNS может отобразиться предупреждение о том, что делегирование для этого DNS-сервера создать невозможно. В нерабочей среде это предупреждение можно игнорировать.

  14. Нажимайте кнопку Далее до тех пор, пока не откроется вкладка Предварительные требования. Щелкните Установить.

После завершения изменений конфигурации перезапустите сервер.

Создание виртуальной машины SQL Server

После перезапуска контроллера домена следующий шаг — создать виртуальную машину SQL Server в новом регионе.

Прежде чем продолжить, рассмотрите следующие решения по проектированию:

  • Хранилище: управляемые диски Azure

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

    Дополнительные сведения см. в статье Общие сведения об управляемых дисках Azure. Сведения о управляемых дисках в группе доступности см. в разделе "Использование управляемых дисков для виртуальных машин в группе доступности".

  • Сеть: частные IP-адреса в рабочей среде

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

  • Сеть: один сетевой адаптер на сервер

    Используйте одну сетевую карту (сетевую карту) на сервер (узел кластера) и одну подсеть. Сеть Azure имеет физическую избыточность, что делает дополнительные сетевые карты и подсети ненужными в гостевом кластере виртуальной машины Azure. Отчет о проверке кластера предупреждает, что узлы доступны только в одной сети. Это предупреждение можно игнорировать в гостевых отказоустойчивых кластерах виртуальной машины Azure.

Создание и настройка виртуальной машины SQL Server

Чтобы создать виртуальную машину SQL Server, вернитесь в группу ресурсов SQL-HA-RG и нажмите кнопку "Добавить". Найдите нужный элемент коллекции, выберите Виртуальная машина, а затем выберите Из коллекции. Используйте информацию из следующей таблицы, чтобы упростить создание виртуальных машин.

Страница Параметр
Выберите соответствующий элемент коллекции SQL Server 2016 SP1 Enterprise на базе Windows Server 2016
Конфигурация виртуальной машины: основы Имя = sqlserver-2

Домен доменного имени = пользователя

Пароль = Contoso!0000

Подписка = ваша подписка

Группа = ресурсов SQL-HA-RG

Расположение = удаленный регион
Конфигурация виртуальной машины: размер Размер = DS2_V2 (2 виртуальных ЦП, 7 ГБ)

Размер должен поддерживать хранилище SSD (поддержка дисков уровня "Премиум").
Конфигурация виртуальной машины: параметры Хранилище. Использование управляемых дисков

Виртуальная сеть = remote-HAVNET

Администратор подсети = (10.36.1.0/24)

Общедоступный IP-адрес = автоматически созданный

Группа = безопасности сети None

Диагностика мониторинга = включено

Учетная запись хранения диагностики использует автоматически созданную учетную запись = хранения

Конфигурация виртуальной машины: параметры SQL Server Частное подключение SQL (в виртуальной = сети)

Порт = 1433

Проверка подлинности SQL = отключена

Общие сведения о конфигурации = хранилища

Автоматическое исправление = в воскресенье в 2:00

Автоматическое резервное копирование = отключено

Интеграция хранилища ключей Azure = отключено

Примечание.

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

После полной подготовки виртуальной машины необходимо присоединить его к домену corp.contoso.com и предоставить права администратора CORP\Install компьютерам.

Присоединение сервера к домену

Чтобы присоединить виртуальную машину к corp.contoso.com, выполните следующие действия для виртуальной машины SQL Server:

  1. Удаленное подключение к виртуальной машине с помощью BUILDIN\DomainAdmin.
  2. В диспетчере сервера выберите Локальный сервер.
  3. Щелкните ссылку РАБОЧАЯ ГРУППА.
  4. В разделе Имя компьютера нажмите кнопку Изменить.
  5. Установите флажок " Домен" и введите corp.contoso.com в текстовом поле. Нажмите кнопку ОК.
  6. Во всплывающем диалоговом окне "Безопасность Windows" укажите учетные данные для учетной записи администратора домена по умолчанию (CORP\DomainAdmin) и пароля (Contoso!0000).
  7. При появлении сообщения "Добро пожаловать на домен corp.contoso.com" нажмите кнопку ОК.
  8. Нажмите кнопку "Закрыть", а затем нажмите кнопку "Перезапустить" во всплывающем диалоговом окне.

Добавление учетных записей

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

Добавление пользователя CORP\Install в качестве администратора на каждой виртуальной машине кластера

После перезапуска виртуальной машины SQL Server в качестве члена домена добавьте CORP\Install в качестве члена группы локальных администраторов:

  1. Подождите, пока виртуальная машина не перезапустится, а затем снова откройте файл RDP из основного контроллера домена. Войдите в sqlserver-2 с помощью учетной записи CORP\DomainAdmin .

    Совет

    На предыдущих шагах вы использовали учетную запись администратора BUILTIN . Теперь, когда сервер находится в домене, убедитесь, что вы входите в систему с помощью учетной записи администратора домена. В сеансе RDP укажите Домен\имя пользователя.

  2. На панели Диспетчер серверов выберите Инструменты, а затем щелкните Управление компьютером.

  3. В окне Управление компьютерами разверните пункт Локальные пользователи и группы, а затем выберите Группы.

  4. Дважды щелкните группу Администраторы .

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

  6. Введите пользователя как CORP\Install и нажмите кнопку "ОК".

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

Создание на каждой виртуальной машине SQL Server имени для входа для учетной записи установки

Используйте учетную запись установки (CORP\Install), чтобы настроить группу доступности. Эта учетная запись должна быть участником фиксированной роли сервера sysadmin на каждой виртуальной машине SQL Server. Ниже описано, как создать вход для учетной записи установки. Выполните их на обеих виртуальных машинах SQL Server.

  1. Подключитесь к серверу через RDP с помощью учетной <записи MachineName>\DomainAdmin .

  2. Откройте SQL Server Management Studio и подключитесь к локальному экземпляру сервера SQL Server.

  3. Чтобы открыть обозреватель объектов, выберите Безопасность.

  4. Щелкните правой кнопкой мыши Имена входа. Выберите Создать имя входа.

  5. В меню Создание имени входа выберите Поиск.

  6. Выберите Расположения.

  7. Введите сетевые учетные данные администратора домена. Используйте учетную запись установки (CORP\Install).

  8. Сделайте имя для входа участником фиксированной роли сервера sysadmin.

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

Настройка разрешений системной учетной записи

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

  1. Используйте следующий скрипт для создания учетной записи для [NT AUTHORITY\SYSTEM]:

    USE [master]
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO 
    
  2. Предоставьте следующие разрешения [NT AUTHORITY\SYSTEM]:

    • ALTER ANY AVAILABILITY GROUP
    • CONNECT SQL
    • VIEW SERVER STATE

    Для этого используйте следующий сценарий.

    GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
    GO 
    

Настройка учетных записей службы SQL Server

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

  1. Откройте диспетчер конфигурации SQL Server.
  2. Щелкните правой кнопкой мыши службу SQL Server, а затем выберите Свойства.
  3. Настройте учетную запись и задайте пароль.

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

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

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

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

  • находиться в той же сети и подсети, что и новая виртуальная машина;
  • использовать статический IP-адрес для прослушивателя группы доступности;
  • Включите внутренний пул, состоящий только из виртуальных машин в том же регионе, что и подсистема балансировки нагрузки.
  • Используйте пробу TCP-порта, относящуюся к IP-адресу.
  • У вас есть правило балансировки нагрузки, относящееся к экземпляру SQL Server в том же регионе.
  • Будьте стандартным подсистемой балансировки нагрузки, если виртуальные машины в серверном пуле не являются частью одной группы доступности или масштабируемого набора виртуальных машин. Дополнительные сведения см. в статье "Что такое Azure Load Balancer?".
  • Будьте стандартным подсистемой балансировки нагрузки, если две виртуальные сети в двух разных регионах пиринговой связи между глобальной виртуальной сетью. Дополнительные сведения см. в статье Виртуальная сеть Azure: часто задаваемые вопросы.

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

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

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

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

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

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

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

    Screenshot of the Azure portal that shows basic information for creating a load balancer.

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

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

    Screenshot of the Azure portal that shows the button for adding a frontend IP configuration.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. Щелкните Сохранить.

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

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

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

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

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

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

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

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

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

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

  3. Щелкните Сохранить.

Добавление отказоустойчивой кластеризации на виртуальные машины SQL Server

Чтобы добавить функции отказоустойчивой кластеризации, выполните следующие действия на обеих виртуальных машинах SQL Server:

  1. Подключитесь к виртуальной машине SQL Server через RDP с помощью учетной записи CORP\Install . Откройте панель мониторинга диспетчера серверов.

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

    Screenshot of the Server Manager dashboard that shows the link for adding roles and features.

  3. Нажимайте кнопку Далее, пока не откроется раздел Server Features (Функции сервера).

  4. В разделе функций выберите Отказоустойчивость кластеров.

  5. Добавьте все необходимые функции.

  6. Нажмите Установить.

Примечание.

Теперь эту задачу можно автоматизировать вместе с фактическим присоединением виртуальных машин SQL Server к отказоустойчивой кластеру с помощью Azure CLI и шаблонов быстрого запуска Azure.

Настройка пороговых значений сети для отказоустойчивого кластера

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

Настройка брандмауэра на каждой виртуальной машине SQL Server

Это решение требует, чтобы в брандмауэре были открыты следующие TCP-порты:

  • Виртуальная машина SQL Server: порт 1433 для экземпляра сервера SQL Server по умолчанию.
  • Проба Azure Load Balancer: любой доступный порт. В примерах часто используется 59999.
  • Проба работоспособности IP-адресов подсистемы балансировки нагрузки ядра кластера: любой доступный порт. Примеры часто используют 58888.
  • Конечная точка зеркального отображения базы данных: любой доступный порт. В примерах часто используется 5022.

Порты брандмауэра должны быть открыты на новой виртуальной машине SQL Server. Метод открытия портов зависит от используемого решения брандмауэра. Ниже показано, как открыть порты в брандмауэре Windows:

  1. На начальном экране SQL Server откройте брандмауэр Windows с расширенной безопасностью.

  2. В левой области выберите Правила для входящих подключений. На панели справа нажмите Новое правило.

  3. Для типа правила выберите порт.

  4. Для порта укажите TCP и введите соответствующие номера портов. На следующем снимке экрана показан пример.

    Screenshot that shows selections for creating a new inbound rule for a firewall.

  5. Нажмите кнопку Далее.

  6. На странице "Действие" сохраните выбранный параметр "Разрешить подключение" и нажмите кнопку "Далее".

  7. На странице "Профиль" примите параметры по умолчанию и нажмите кнопку "Далее".

  8. На странице "Имя" укажите имя правила (например, проба балансировки нагрузки Azure) в поле "Имя", а затем нажмите кнопку "Готово".

Добавление SQL Server в отказоустойчивый кластер Windows Server

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

Чтобы добавить виртуальную машину SQL Server в кластер, выполните следующие действия.

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

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

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

  4. В окне "Выбор кластера" в разделе "Имя кластера" выберите <"Кластер" на этом сервере>. Нажмите кнопку ОК.

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

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

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

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

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

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

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

  10. Нажмите кнопку Далее.

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

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

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

Примечание.

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

Затем создайте ресурс IP-адреса и добавьте его в кластер для новой виртуальной машины SQL Server:

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

    Screenshot of Failover Cluster Manager that shows selections for opening cluster properties.

  2. В диалоговом окне "Свойства кластера" выберите "Добавить в ip-адреса", а затем добавьте IP-адрес имени кластера из удаленного сетевого региона. Нажмите кнопку "ОК" в диалоговом окне IP-адреса и нажмите кнопку "ОК" в диалоговом окне "Свойства кластера", чтобы сохранить новый IP-адрес.

    Screenshot that shows the dialogs for creating a cluster IP address.

  3. Добавьте IP-адрес в качестве зависимости для имени ядра кластера.

    Откройте диалоговое окно "Свойства кластера" еще раз и выберите вкладку "Зависимости ". Настройте зависимость OR для двух IP-адресов.

    Screenshot of the Cluster Properties dialog that shows selections for adding a dependency.

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

IP-адрес прослушивателя в удаленном регионе необходимо добавить в кластер. Чтобы добавить IP-адрес, выполните следующие действия.

  1. В диспетчере отказоустойчивости кластеров щелкните правой кнопкой мыши роль группы доступности. Наведите указатель на добавление ресурса, наведите указатель на дополнительные ресурсы и выберите IP-адрес.

    Screenshot of Failover Cluster Manager that shows selections for adding an IP address as a resource.

  2. Чтобы настроить этот IP-адрес, щелкните правой кнопкой мыши ресурс в разделе "Другие ресурсы" и выберите пункт "Свойства".

    Screenshot of Failover Cluster Manager that shows selections for opening properties for a resource.

  3. В поле "Имя" введите имя нового ресурса. Для сети выберите сеть из удаленного центра обработки данных. Выберите статический IP-адрес, а затем в поле "Адрес" назначьте статический IP-адрес из новой подсистемы балансировки нагрузки Azure.

    Screenshot of the dialog for IP address properties, showing assignment of the listener IP in the cluster.

  4. Нажмите кнопку Apply (Применить), а затем нажмите кнопку ОК.

  5. Добавьте ресурс IP-адреса в качестве зависимости для кластера (сетевое имя) точки доступа клиента прослушивателя.

    Щелкните правой кнопкой мыши точку доступа клиента прослушивателя и выберите пункт "Свойства". Перейдите на вкладку Зависимостей и добавьте новый ресурс IP-адреса в точку доступа клиента прослушивателя. На следующем рисунке показан правильно настроенного ресурс IP-адреса кластера.

    Screenshot of Failover Cluster Manager that shows configured IP addresses for an availability group.

    Важно!

    Группа ресурсов кластера включает в себя оба IP-адреса. Оба IP-адреса являются зависимостями для точки доступа клиента прослушивателя. Используйте оператор OR в конфигурации зависимостей кластера.

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

    Запустите скрипт PowerShell с сетевым именем кластера, IP-адресом и портом пробы, настроенным в подсистеме балансировки нагрузки в новом регионе:

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster name for the network in the new region (Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.)
    $IPResourceName = "<IPResourceName>" # The cluster name for the new IP address resource.
    $ILBIP = "<n.n.n.n>" # The IP address of the internal load balancer in the new region. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ProbePort = <nnnnn> # The probe port that you set on the internal load balancer.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

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

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

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

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

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

    Screenshot of selections for enabling Always On availability groups in SQL Server properties.

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

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

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

После перезапуска SQL Server на созданной виртуальной машине его можно добавить в качестве реплики в группу доступности:

  1. Откройте сеанс удаленного рабочего стола для основного экземпляра SQL Server в группе доступности, а затем откройте SQL Server Management Studio (SSMS).

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

  3. Подключитесь к существующей реплике и нажмите кнопку "Далее".

  4. Выберите "Добавить реплику " и подключитесь к новой виртуальной машине SQL Server.

    Важно!

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

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

    Примечание.

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

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

    Screenshot that shows selection of the option for full data synchronization.

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

    Screenshot of the page that displays results of availability group validation in SSMS.

    Примечание.

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

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

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

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

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

В обозревателе объектов разверните узел Высокий уровень доступности 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.

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

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

  1. В обозревателе объектов разверните узел AlwaysOn с высоким уровнем доступности, разверните группы доступности и разверните прослушиватель группы доступности.

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

    Screenshot of the Availability Group Listener Properties window in SSMS, showing both IP addresses being used for the listener.

Настройка подключения для нескольких подсетей

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

Рекомендуется обновить конфигурацию кластера до значения RegisterAllProvidersIP=1 и строки подключения клиента до значения MultiSubnetFailover=Yes. См. раздел "Подключение с помощью MultiSubnetFailover".

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

Отработка отказа в удаленный регион

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

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

  2. В разделе "Группы доступности AlwaysOn" щелкните правой кнопкой мыши группу доступности и выберите "Свойства".

  3. На странице "Общие" в разделе "Реплики доступности" задайте вторичную реплику на сайте аварийного восстановления (DR) для использования режима доступности синхронной фиксации и режима автоматической отработки отказа.

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

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

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

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

  7. В обозревателе объектов щелкните правой кнопкой мыши группу доступности и выберите отработку отказа. СРЕДА SQL Server Management Studio открывает мастер для отработки отказа SQL Server.

  8. Нажмите кнопку "Далее" и выберите экземпляр SQL Server на сайте аварийного восстановления. Снова выберите Далее.

  9. Подключитесь к экземпляру SQL Server на сайте аварийного восстановления и нажмите кнопку "Далее".

  10. Проверьте параметры на странице Сводка, а затем нажмите кнопку Готово.

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

Расположение Экземпляр сервера Роль Режим доступности Failover mode
Основной центр обработки данных SQL-1 Основной Синхронное Автоматически
Основной центр обработки данных SQL-2 Вторичная Синхронное Автоматически
Вторичный или удаленный центр обработки данных SQL-3 Вторичная Асинхронная Вручную

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

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

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