Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server на виртуальной машине Azure
В этом руководстве объясняется, как настроить реплику группы доступности Always On для SQL Server на виртуальных машинах Azure в регионе Azure, удалённом от основной реплики. Эту конфигурацию можно использовать для аварийного восстановления.
Инструкции, описанные в этой статье, также можно использовать для расширения существующей локальной группы доступности до Azure.
Это руководство основано на руководстве по ручному развертыванию группы доступности в одной подсети в одном регионе. Упоминания о локальном регионе в этой статье относятся к виртуальным машинам и группе доступности, уже настроенной в первом регионе. Удаленный регион — это новая инфраструктура, которая добавляется в этом руководстве.
После выполнения действий, описанных в этом руководстве, добавляется реплика в одну подсеть, для которой требуется использовать подсистему балансировки нагрузки. Развертывание реплик в нескольких подсетях устраняет необходимость подсистемы балансировки нагрузки. Чтобы узнать, как развернуть реплику группы доступности в нескольких подсетях, см. статью Настройка группы доступности с несколькими подсетями в регионах Azure.
Обзор
На следующем рисунке показано стандартное развертывание группы доступности на виртуальных машинах Azure.
На схеме развертывания все виртуальные машины находятся в одном регионе Azure. Реплики группы доступности могут использовать синхронную фиксацию с автоматическим переключением при сбое на SQL-1 и SQL-2. Сведения о создании этой архитектуры см. в разделе Always On availability group в SQL Server на виртуальных машинах Azure.
Эта архитектура уязвима к простою, если регион Azure становится недоступным. Чтобы устранить эту уязвимость, добавьте реплику в другой Azure регионе. На следующей схеме показано, как выглядит новая архитектура:
На схеме показана новая виртуальная машина с именем SQL-3. SQL-3 находится в другом регионе Azure. Эта система добавляется в кластер отказоустойчивости Windows Server и может размещать реплику группы доступности.
В регионе Azure для SQL-3 есть новая подсистема балансировки нагрузки 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, выполните следующие действия.
Перейдите к группе ресурсов на портале Azure и выберите + Создать.
Найдите виртуальную сеть в поле поиска Marketplace и выберите плитку виртуальной сети от Корпорации Майкрософт.
На странице Создание виртуальной сети выберите Создать. Затем введите следующие сведения на вкладке "Основные сведения".
- В разделе Project details для параметра Subscription выберите соответствующую подписку Azure. Для группы ресурсов выберите созданную ранее группу ресурсов, например SQL-HA-RG.
- В разделе "Сведения об экземпляре" укажите имя виртуальной сети, например remote_HAVNET. Затем выберите новый удаленный регион.
На вкладке IP-адресов выберите многоточие (...) рядом с +Добавить подсеть. Выберите "Удалить адресное пространство", чтобы удалить существующее адресное пространство , если вам нужен другой диапазон адресов.
Выберите Добавить пространство IP-адресов, чтобы открыть область и создать нужное адресное пространство. В этом руководстве используется адресное пространство удаленного региона: 10.36.0.0/16. Выберите Добавить.
Выберите и добавьте подсеть, а затем:
Укажите значение имени подсети, например администратора.
Укажите уникальный диапазон адресов подсети в адресном пространстве виртуальной сети.
Например, если диапазон адресов равен 10.36.0.0/16, введите эти значения для подсети администратора : 10.36.1.0 для начального адреса и /24 для размера подсети.
Выберите Добавить, чтобы добавить новую подсеть.
Подключение виртуальных сетей в двух регионах Azure
После создания новой виртуальной сети и подсети вы будете готовы подключить два региона, чтобы они могли взаимодействовать друг с другом. Для этого подключения можно использовать два метода:
Подключите виртуальные сети с помощью пиринга виртуальных сетей в портале Azure (рекомендуется)
В некоторых случаях может потребоваться использовать PowerShell для создания подключения между виртуальными сетями. Например, если вы используете разные учетные записи Azure, вы не можете настроить подключение на портале. В этом случае проверьте настройку сетевого подключения с помощью PowerShell.
Настройка подключения VPN-шлюза типа "сеть — сеть" с помощью портала Azure
В этом руководстве используется пиринг между виртуальными сетями. Чтобы настроить пиринг между виртуальными сетями, выполните приведенные действия.
В поле поиска в верхней части портала Azure введите autoHAVNET, которая является виртуальной сетью в локальном регионе. Когда функция autoHAVNET появится в результатах поиска, выберите ее.
В разделе Параметры выберите Peerings и затем выберите + Добавить.
Введите или выберите следующие значения, примите значения по умолчанию для остальных параметров и нажмите кнопку Добавить.
Настройка Значение Эта виртуальная сеть Имя пирингового соединения Введите autoHAVNET-remote_HAVNET в качестве имени пиринга от autoHAVNET к удаленной виртуальной сети. Удаленная виртуальная сеть Имя пирингового соединения Введите remote_HAVNET-autoHAVNET в качестве названия пиринга из удаленной виртуальной сети в autoHAVNET. Подписка Выберите подписку для удаленной виртуальной сети. Виртуальная сеть Выберите remote_HAVNET для имени удаленной виртуальной сети. Удаленная виртуальная сеть может находиться в одном регионе autoHAVNET или в другом регионе. На странице Peerings статус пирингаподключен.
Если не отображается состояние Подключено, нажмите кнопку Обновить.
Создание контроллера домена
Контроллер домена в новом регионе необходим для проверки подлинности, если основной сайт недоступен. Чтобы создать контроллер домена в новом регионе, выполните следующие действия.
- Вернитесь в SQL-HA-RG группу ресурсов.
- Выберите + Создать.
- Введите Windows Server 2016 Datacenter и выберите результат Windows Server 2016 Datacenter.
- В Windows Server 2016 Datacenter убедитесь, что модель развертывания Resource Manager и выберите Create.
В следующей таблице показаны параметры для двух компьютеров:
| Настройка | Значение |
|---|---|
| Имя | Удаленный контроллер домена: ad-remote-dc |
| Тип диска виртуальной машины | Твердотельный накопитель |
| Имя пользователя | DomainAdmin |
| Пароль | Безопасный пароль |
| Подписка | Ваша подписка |
| Группа ресурсов | SQL-HA-RG |
| Местонахождение | Ваше расположение |
| Размер | DS1_V2 |
| Память | Использование управляемых дисков: Да |
| Виртуальная сеть | remote_HAVNET |
| Подсеть | Администратор |
| Общедоступный IP-адрес | Совпадает с именем виртуальной машины |
| группу безопасности сети; | Совпадает с именем виртуальной машины |
| Диагностика | Включен |
| Учетная запись хранения для диагностики | Создается автоматически |
Azure создает виртуальные машины.
Настройка контроллера домена
В следующих шагах настройте компьютер ad-remote-dc в качестве контроллера домена для corp.contoso.com:
Настройка предпочитаемого адреса DNS-сервера
При обновлении предпочтительного DNS-сервера используйте портал Azure, PowerShell или Azure CLI. Не обновляйте DNS-сервер непосредственно в виртуальной машине.
Чтобы задать предпочтительный DNS-адрес сервера с помощью портала Azure, выполните следующие действия.
Войдите на портал Azure.
В поле поиска в верхней части портала введите Сетевой интерфейс. В результатах поиска выберите Сетевые интерфейсы.
Выберите сетевой интерфейс для второго контроллера домена, для которого требуется просмотреть или изменить параметры из списка.
В разделе Параметры выберите DNS-серверы.
Так как этот контроллер домена не расположен в той же виртуальной сети, что и основной контроллер домена, выберите "Пользовательский " и введите IP-адрес основного контроллера домена, например
192.168.15.4. Указанный адрес DNS-сервера назначается только этому сетевому интерфейсу и переопределяет любые параметры DNS для виртуальной сети, которой назначен сетевой интерфейс.Выберите Сохранить.
Вернитесь к виртуальной машине на портале Azure и перезапустите виртуальную машину. После перезапуска виртуальной машины вы можете присоединить виртуальную машину к домену.
Присоединение к домену.
Затем присоединитесь к домену corp.contoso.com. Для этого выполните следующие шаги:
- Подключитесь удаленно к виртуальной машине с бастион, используя учетную запись BUILTIN\DomainAdmin.
- Откройте Server Manager и выберите Local Server.
- Выберите WORKGROUP.
- В разделе Имя компьютера нажмите кнопку Изменить.
- Установите флажок Домен и введите в текстовом поле corp.contoso.com. Нажмите ОК.
- Во всплывающем диалоговом окне Windows Security укажите учетные данные для учетной записи администратора домена по умолчанию (CORP\DomainAdmin).
- При появлении сообщения "Добро пожаловать на домен corp.contoso.com" нажмите кнопку ОК.
- Нажмите кнопку Закрыть, а затем Перезагрузить сейчас во всплывающем диалоговом окне.
Настройка контроллера домена
После присоединения сервера к домену его можно настроить в качестве второго контроллера домена. Для этого выполните следующие шаги:
Если вы еще не подключены, откройте сеанс Bastion на дополнительный контроллер домена и откройте Server Manager панель мониторинга (которая может быть открыта по умолчанию).
Щелкните ссылку Добавление ролей и компонентов на панели мониторинга.
Нажимайте Далее, пока не откроется раздел Роли сервера.
Выберите роли Active Directory Domain Services и DNS Server. При появлении запроса добавьте другие необходимые функции для этих ролей.
После завершения установки компонентов вернитесь на панель мониторинга Server Manager.
Выберите новый вариант AD DS на левой панели.
Щелкните ссылку Дополнительно на желтой панели предупреждений.
В столбце Действие диалогового окна Все сведения о задаче сервера выберите Повысить роль этого сервера до уровня контроллера домена.
На вкладке Конфигурация развертывания установите переключатель Добавить контроллер домена в существующий домен.
Выберите Выбрать.
Подключитесь с помощью учетной записи администратора (CORP\DomainAdmin).
В Выберите домен из леса выберите свой домен, затем нажмите ОК.
В разделе Параметры контроллера домена используйте значения по умолчанию и задайте пароль DSRM.
Примечание.
На странице Параметры DNS может отобразиться предупреждение о том, что делегирование для этого DNS-сервера создать невозможно. Это предупреждение можно игнорировать в непроизводственных средах.
Нажимайте кнопку Далее до тех пор, пока не откроется вкладка Предварительные требования. Щелкните Установить.
После завершения изменений конфигурации перезапустите сервер.
Создание виртуальной машины 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 и выберите Add. Найдите нужный элемент коллекции, выберите Виртуальная машина, а затем выберите Из коллекции. Чтобы создать виртуальную машину, используйте сведения в следующей таблице:
| Стр. | Настройка |
|---|---|
| Выберите соответствующий элемент коллекции | SQL Server 2016 SP1 Enterprise на Windows Server 2016 |
| Конфигурация виртуальной машины: основы |
Имя = sqlserver-2 Имя пользователя = Администратор домена Пароль = безопасный пароль Подписка = ваша подписка Группа ресурсов = SQL-HA-RG Расположение = удаленный регион |
| Конфигурация виртуальной машины: размер |
Размер = DS2_V2 (2 виртуальных ЦП, 7 ГБ) Размер должен поддерживать хранилище SSD (поддержка дисков уровня "Премиум"). |
| Конфигурация виртуальной машины: параметры |
Хранилище. Использование управляемых дисков Виртуальная сеть = remote_HAVNET Администратор подсети = (10.36.1.0/24) Общедоступный IP-адрес = автоматически созданный Группа безопасности сети = Отсутствует Диагностика мониторинга = включено Учетная запись хранения диагностических данных = Использовать автоматически созданную учетную запись хранения |
| Конфигурация виртуальной машины: параметры SQL Server | Подключение SQL = Частный (в виртуальной сети) Порт = 1433 Проверка подлинности SQL = отключена Конфигурация хранилища = Общее Автоматическое исправление = в воскресенье в 2:00 Автоматическое резервное копирование = отключено интеграция Azure Key Vault = отключена |
Примечание.
Размер компьютера, предлагаемый в этой таблице, предназначен для тестирования групп доступности в Azure виртуальных машинах. Для обеспечения наилучшей производительности в производственных нагрузках ознакомьтесь с рекомендациями по размерам виртуальных машин и их конфигурации для SQL Server в Контрольный список: лучшие практики для SQL Server на виртуальных машинах Azure.
После полной подготовки виртуальной машины необходимо присоединить его к домену corp.contoso.com и предоставить права администратора CORP\Install компьютерам.
Присоединение сервера к домену
Чтобы присоединить виртуальную машину к corp.contoso.com, выполните следующие действия для виртуальной машины SQL Server:
- Подключитесь удаленно к виртуальной машине с бастион, используя учетную запись BUILTIN\DomainAdmin.
- В Server Manager выберите Local Server.
- Щелкните ссылку РАБОЧАЯ ГРУППА.
- В разделе Имя компьютера нажмите кнопку Изменить.
- Установите флажок " Домен" и введите corp.contoso.com в текстовом поле. Затем выберите OK.
- Во всплывающем диалоговом окне Windows Security укажите учетные данные для учетной записи администратора домена по умолчанию (CORP\DomainAdmin).
- При появлении сообщения "Добро пожаловать на домен corp.contoso.com" нажмите кнопку ОК.
- Нажмите кнопку "Закрыть", а затем нажмите кнопку "Перезапустить" во всплывающем диалоговом окне.
Добавление учетных записей
Следующая задача — добавить учетную запись установки программы в качестве администратора на виртуальной машине SQL Server, а затем предоставить этой учетной записи и локальным учетным записям разрешения в SQL Server. Затем можно обновить учетную запись службы SQL Server.
Добавление пользователя CORP\Install в качестве администратора на каждой виртуальной машине кластера
После перезапуска виртуальной машины SQL Server в качестве члена домена добавьте CORP\Install в качестве члена группы локальных администраторов:
Подождите, пока виртуальная машина не перезапустится, а затем откройте подключение Remote Desktop протокола (RDP) с основного контроллера домена. Войдите в sqlserver-2 с использованием учетной записи CORP\DomainAdmin.
Совет
На предыдущих шагах вы использовали учетную запись администратора BUILTIN . Теперь, когда сервер находится в домене, убедитесь, что вы входите в систему с помощью учетной записи администратора домена. В сеансе RDP укажите Домен\имя пользователя.
В Server Manager выберите Tools и выберите Computer Management.
В окне Управление компьютерами разверните пункт Локальные пользователи и группы, а затем выберите Группы.
Дважды щелкните группу Администраторы .
В диалоговом окне "Свойства администратора" нажмите кнопку "Добавить".
Введите пользователя как CORP\Install и нажмите кнопку "ОК".
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Свойства администратора.
Создание входа на каждой виртуальной машине SQL Server для учетной записи установки
Используйте учетную запись установки (CORP\Install), чтобы настроить группу доступности. Эта учетная запись должна быть членом фиксированной серверной роли sysadmin на каждой виртуальной машине SQL Server. Ниже описано, как создать вход для учетной записи установки. Выполните их на обеих SQL Server виртуальных машинах.
Подключитесь к серверу через Бастион с помощью учетной записи <MachineName\DomainAdmin>.
Откройте SQL Server Management Studio и подключитесь к локальному экземпляру SQL Server.
В Object Explorer выберите Security.
Щелкните правой кнопкой мыши Имена входа. Выберите Создать имя входа.
В меню Создание имени входа выберите Поиск.
Выберите Расположения.
Введите сетевые учетные данные администратора домена. Используйте учетную запись установки (CORP\Install).
Сделайте имя для входа участником фиксированной роли сервера sysadmin.
Нажмите ОК.
Настройка разрешений системной учетной записи
Чтобы создать системную учетную запись и предоставить соответствующие разрешения, выполните следующие действия для каждого экземпляра SQL Server:
Используйте следующий скрипт для создания учетной записи для
[NT AUTHORITY\SYSTEM]:USE [master] GO CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master] GOПредоставьте следующие разрешения
[NT AUTHORITY\SYSTEM]:ALTER ANY AVAILABILITY GROUPCONNECT SQLVIEW 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. Используйте учетные записи, созданные при настройке учетных записей домена.
- Откройте SQL Server Configuration Manager.
- Щелкните правой кнопкой мыши службу SQL Server и выберите Properties.
- Настройте учетную запись и задайте пароль.
Для групп доступности SQL Server каждая виртуальная машина SQL Server должна работать под учетной записью домена.
Создание подсистемы балансировки нагрузки Azure
Подсистема балансировки нагрузки требуется в удаленном регионе для поддержки группы доступности SQL Server. Балансировщик нагрузки содержит IP-адреса для прослушивателей группы доступности и отказоустойчивого кластера Windows Server. В этом разделе описано, как создать подсистему балансировки нагрузки на портале Azure.
Подсистема балансировки нагрузки должна:
- находиться в той же сети и подсети, что и новая виртуальная машина;
- использовать статический IP-адрес для прослушивателя группы доступности;
- Включите внутренний пул, состоящий только из виртуальных машин в том же регионе, что и подсистема балансировки нагрузки.
- Используйте пробу TCP-порта, относящуюся к IP-адресу.
- У вас есть правило балансировки нагрузки, относящееся к экземпляру SQL Server в том же регионе.
- Используйте стандартный балансировщик нагрузки, если виртуальные машины в серверном пуле не являются частью одной группы доступности или масштабируемого набора виртуальных машин. Дополнительные сведения см. в разделе Что такое Azure Load Balancer?
- Выступайте стандартным балансировщиком нагрузки, если две виртуальные сети в двух разных регионах включены в глобальный пиринг виртуальных сетей. Дополнительные сведения см. в разделе Azure Virtual Network часто задаваемые вопросы .
Ниже приведены действия по созданию подсистемы балансировки нагрузки.
На портале Azure перейдите в группу ресурсов, в которой находится экземпляр SQL Server, а затем выберите + Добавить.
Найдите Load Balancer. Выберите подсистему балансировки нагрузки, которую публикует корпорация Майкрософт.
Нажмите кнопку создания.
Настройте следующие параметры для подсистемы балансировки нагрузки:
Настройка Значение Подписка Используйте ту же подписку, что и виртуальная машина. Группа ресурсов Используйте ту же группу ресурсов, что и виртуальная машина. Имя Используйте текстовое имя подсистемы балансировки нагрузки (например, remoteLB). Регион Используйте тот же регион, что и виртуальная машина. Номер SKU Выберите Стандартное. Тип Выберите Внутренний. Панель портала Azure должна выглядеть следующим образом:
Нажмите кнопку "Далее" — интерфейсная IP-конфигурация.
Выберите " Добавить интерфейсную IP-конфигурацию".
Настройте внешний IP-адрес с помощью следующих значений:
- Имя. Используйте имя, определяющее конфигурацию внешнего IP-адреса.
- Виртуальная сеть: используйте ту же сеть, что и виртуальные машины.
- Подсеть: используйте ту же подсеть, что и виртуальные машины.
- Назначение: выберите Static.
- IP-адрес: используйте доступный адрес из подсети. Используйте этот адрес для прослушивателя группы доступности. Этот адрес отличается от IP-адреса кластера.
- Зона доступности. При необходимости выберите зону доступности для развертывания IP-адреса.
Выберите Добавить.
Выберите "Проверка и создание ", чтобы проверить конфигурацию, а затем нажмите кнопку "Создать ", чтобы создать подсистему балансировки нагрузки и внешний IP-адрес.
Чтобы настроить подсистему балансировки нагрузки, необходимо создать внутренний пул, создать пробу и задать правила балансировки нагрузки.
Добавление серверного пула для прослушивателя группы доступности
На портале Azure перейдите в группу доступности. Может потребоваться обновить представление, чтобы отобразить только что созданную подсистему балансировки нагрузки.
Выберите подсистему балансировки нагрузки, выберите серверные пулы и нажмите кнопку +Добавить.
В поле "Имя" укажите имя внутреннего пула.
Для конфигурации внутреннего пула выберите сетевой адаптер.
Выберите Add, чтобы связать серверный пул с созданной виртуальной машиной SQL Server.
В разделе "Виртуальная машина" выберите виртуальную машину, на которую будет размещена реплика группы доступности.
Выберите "Добавить", чтобы добавить виртуальную машину в внутренний пул.
Выберите Сохранить.
Настройка пробы
На портале Azure выберите балансировщик нагрузки, выберите Проверки работоспособности, а затем выберите +Добавить.
Настройте пробу работоспособности прослушивателя, как показано ниже.
Настройка Описание Пример Имя Текст SQLAlwaysOnEndPointProbe Протокол Выберите TCP. Протокол tcp порт. Любой неиспользуемый порт. 59999 Интервал Время между попытками пробы в секундах 5 Выберите Добавить.
Настройка правил балансировки нагрузки
На портале Azure выберите балансировщик нагрузки, выберите Правила балансировки нагрузки, а затем выберите +Добавить.
Задайте правила балансировки нагрузки прослушивателя следующим образом:
Настройка Описание Пример Имя Текст SQLAlwaysOnEndPointListener Внешний IP-адрес Выберите адрес. Используйте адрес, который был создан при создании подсистемы балансировки нагрузки. Пул бэкэндов Выберите пул бэкенда Выберите внутренний пул, содержащий виртуальные машины, предназначенные для подсистемы балансировки нагрузки. Протокол Выберите TCP. Протокол tcp порт. Используйте порт для прослушивателя группы доступности 1433 Серверный порт Это поле не используется при настройке плавающего IP-адреса для возврата прямого сервера 1433 Проба работоспособности Указанное вами имя для зонда SQLAlwaysOnEndPointProbe Сохранение сеанса Раскрывающийся список Не допускается Время ожидания простоя Интервал (в минутах), в течение которого подключение TCP остается открытым. 4 Плавающий IP-адрес (прямой ответ от сервера) Включите этот параметр. Предупреждение
Параметры прямого ответа от сервера задаются во время создания. Вы не можете изменить его.
Выберите Сохранить.
Добавление отказоустойчивой кластеризации для SQL Server виртуальных машин
Чтобы добавить функции отказоустойчивой кластеризации, выполните следующие действия на обоих SQL Server виртуальных машинах:
Подключитесь к виртуальной машине SQL Server через Bastion с помощью учетной записи CORP\Install. Откройте панель мониторинга Server Manager.
Щелкните ссылку Добавление ролей и компонентов на панели мониторинга.
Нажимайте кнопку Далее, пока не откроется раздел Server Features (Функции сервера).
В разделе Функции выберите Отказоустойчивое кластерирование.
Добавьте все необходимые функции.
Выберите Установить.
Примечание.
Теперь вы можете использовать шаблоны Azure CLI и Azure Шаблоны быстрого запуска для автоматизации этой задачи, а также фактического присоединения виртуальных машин SQL Server к отказоустойчивом кластеру.
Настройка пороговых значений сети для отказоустойчивого кластера
При запуске узлов отказоустойчивого кластера Windows в виртуальных машинах Azure с группами доступности SQL Server измените настройку кластера на более ослабленный режим мониторинга. Это изменение делает кластер более стабильным и надежным. Дополнительные сведения см. в разделе IaaS с SQL Server: настройка пороговых значений сети отказоустойчивого кластера.
Настройка брандмауэра на каждой виртуальной машине SQL Server
Это решение требует, чтобы в брандмауэре были открыты следующие TCP-порты:
- SQL Server vm: порт 1433 для экземпляра SQL Server по умолчанию.
- Зонд балансировщика нагрузки Azure: Любой доступный порт. В примерах часто используется 59999.
- Проба работоспособности IP-адресов подсистемы балансировки нагрузки ядра кластера: любой доступный порт. Примеры часто используют 58888.
- Конечная точка зеркального отображения базы данных: любой доступный порт. В примерах часто используется 5022.
Порты брандмауэра должны быть открыты на новой виртуальной машине SQL Server. Метод открытия портов зависит от используемого решения брандмауэра. Ниже показано, как открыть порты в брандмауэре Windows:
На экране SQL Server Start откройте брандмауэр Windows с расширенной безопасностью.
В левой области выберите Входящие правила. На панели справа нажмите Новое правило.
Для типа правила выберите порт.
Для порта укажите TCP и введите соответствующие номера портов. На следующем снимке экрана показан пример.
Выберите Далее.
На странице "Действие" сохраните выбранный параметр "Разрешить подключение" и нажмите кнопку "Далее".
На странице "Профиль" примите параметры по умолчанию и нажмите кнопку "Далее".
На странице Name укажите имя правила (например, Azure LB Probe) в поле Name и выберите Завершить.
Добавление SQL Server в отказоустойчивый кластер Windows Server
Новая виртуальная машина SQL Server должна быть добавлена в кластер отказоустойчивости Windows Server, который существует в локальном регионе.
Чтобы добавить виртуальную машину SQL Server в кластер, выполните следующие действия.
Используйте Bastion для подключения к виртуальной машине SQL Server в существующем кластере. Используйте учетную запись домена, имеющую права администратора как на виртуальных машинах SQL Server, так и на сервере-свидетеле.
На панели мониторинга Server Manager выберите Tools и выберите Failover Cluster Manager.
На левой панели щелкните правой кнопкой мыши Диспетчер отказоустойчивых кластеров и выберите Подключиться к кластеру.
В окне "Выбор кластера" в разделе "Имя кластера" выберите <"Кластер" на этом сервере>. Затем выберите OK.
В дереве обозревателя щелкните правой кнопкой мыши кластер и выберите Добавить узел.
В мастере добавления узлов нажмите кнопку Далее.
На странице Select Servers добавьте имя нового экземпляра SQL Server. Введите имя сервера в поле "Ввод имени сервера", нажмите кнопку "Добавить" и нажмите кнопку "Далее".
На странице "Предупреждение проверки" нажмите кнопку "Нет". (В рабочем сценарии необходимо выполнить тесты проверки. Затем выберите Далее.
На странице подтверждения, если вы используете дисковые пространства, снимите флажок "Добавить все подходящее хранилище в кластер".
Предупреждение
Если вы не снимете отметку с Добавить все подходящее хранилище в кластер, Windows отсоединяет виртуальные диски во время процесса кластеризации. В результате они не отображаются в диспетчере дисков или обозревателе, пока хранилище не будет удалено из кластера и повторно подключено через PowerShell.
Выберите Далее.
Выберите Готово.
Диспетчер отказоустойчивых кластеров показывает, что в вашем кластере появился новый узел и отображает его в контейнере узлов.
Добавление IP-адреса для отказоустойчивого кластера Windows Server
Примечание.
В Windows Server 2019 кластер создаёт распределённое имя сервера вместо имени сети кластера. Если вы используете Windows Server 2019, перейдите к Добавление IP-адреса для прослушивателя группы доступности. Вы можете создать сетевое имя кластера с помощью PowerShell. Дополнительные сведения см. в записи блога Failover Cluster: Cluster Network Object.
Затем создайте ресурс IP-адреса и добавьте его в кластер для новой виртуальной машины SQL Server:
В Управлении отказоустойчивым кластером выберите имя кластера. Щелкните правой кнопкой мыши имя кластера в разделе "Основные ресурсы кластера" и выберите пункт "Свойства".
В диалоговом окне "Свойства кластера" выберите "Добавить" в разделе IP-адреса, а затем добавьте IP-адрес имени кластера из удаленного сетевого региона. Нажмите кнопку "ОК" в диалоговом окне IP-адреса и нажмите кнопку "ОК" в диалоговом окне "Свойства кластера", чтобы сохранить новый IP-адрес.
Добавьте IP-адрес в качестве зависимости для имени ядра кластера.
Откройте диалоговое окно "Свойства кластера " еще раз и перейдите на вкладку "Зависимости ".
ORНастройте зависимость для двух IP-адресов.
Добавьте IP-адрес для прослушивателя группы доступности
IP-адрес прослушивателя в удаленном регионе необходимо добавить в кластер. Чтобы добавить IP-адрес, выполните следующие действия.
В Диспетчере отказоустойчивых кластеров щелкните правой кнопкой мыши на роль доступности группы. Наведите указатель на добавление ресурса, наведите указатель на дополнительные ресурсы и выберите IP-адрес.
Чтобы настроить этот IP-адрес, щелкните правой кнопкой мыши ресурс в разделе "Другие ресурсы" и выберите пункт "Свойства".
В поле "Имя" введите имя нового ресурса. Для сети выберите сеть из удаленного центра обработки данных. Выберите Статический IP-адрес, а затем в поле Address назначьте статический IP-адрес из новой подсистемы балансировки нагрузки Azure.
Нажмите кнопку Apply (Применить), а затем нажмите кнопку ОК.
Добавьте ресурс IP-адреса в качестве зависимости для кластера (сетевое имя) точки доступа клиента прослушивателя.
Щелкните правой кнопкой мыши точку доступа клиента прослушивателя и выберите пункт "Свойства". Перейдите на вкладку Зависимостей и добавьте новый ресурс IP-адреса в точку доступа клиента прослушивателя. На следующем рисунке показан правильно настроенный ресурс кластера IP-адресов.
Внимание
Группа ресурсов кластера включает в себя оба IP-адреса. Оба IP-адреса являются зависимостями для точки доступа клиента прослушивателя.
ORИспользуйте оператор в конфигурации зависимостей кластера.Настройте параметры кластера в 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:
На экране Start откройте SQL Server Configuration Manager.
В дереве браузера выберите SQL Server Services. Щелкните правой кнопкой мыши службу SQL Server (MSSQLSERVER) и выберите Properties.
Перейдите на вкладку "Высокий уровень доступности AlwaysOn " и выберите "Включить группы доступности AlwaysOn".
Выберите Применить. Нажмите кнопку ОК во всплывающем диалоговом окне.
Перезапустите службу SQL Server.
Добавьте реплику в группу доступности
После перезапуска SQL Server на созданной виртуальной машине его можно добавить как replica в группу доступности:
Откройте сеанс удаленного рабочего стола для основного экземпляра SQL Server в группе доступности, а затем откройте SQL Server Management Studio (SSMS).
В Object Explorer в SSMS откройте Always on High Availability>Availability Groups. Щелкните правой кнопкой мыши имя группы доступности и выберите " Добавить реплику".
Подключитесь к существующей реплике и нажмите кнопку "Далее".
Выберите Add Replica и подключитесь к новой виртуальной машине SQL Server.
Внимание
Реплику в удаленном регионе Azure следует настроить на асинхронную репликацию с ручным переключением на резервную копию.
На странице выбора начальной синхронизации данных выберите Полный и укажите общее сетевое расположение. Используйте созданный вами общий ресурс для резервных копий в качестве местоположения. В примере было \\<First SQL Server>\Backup\. Затем выберите Далее.
Примечание.
Полная синхронизация выполняет полную резервную копию базы данных на первом экземпляре SQL Server и восстанавливает ее во втором экземпляре. Для больших баз данных мы не рекомендуем полную синхронизацию, так как это может занять много времени.
Вы можете сократить это время, вручную создав резервную копию базы данных и восстанавливая ее с помощью
NO RECOVERY. Если база данных уже восстановлена с помощьюNO RECOVERYво втором экземпляре SQL Server перед настройкой группы доступности, выберите Join only. Если вы хотите создать резервную копию после настройки группы доступности, выберите "Пропустить начальную синхронизацию данных".
На странице проверки нажмите кнопку "Далее". Эта страница должна выглядеть, как на рисунке ниже.
Примечание.
Если отображается предупреждение для конфигурации прослушивателя, указывающее, что прослушиватель группы доступности не сконфигурирован. Это предупреждение можно игнорировать, так как прослушиватель уже настроен. Он был создан после того, как вы создали балансировщик нагрузки Azure в локальном регионе в руководстве по ручному развертыванию группы доступности в одной подсети в одном регионе.
На странице "Сводка" нажмите кнопку "Готово", а затем подождите, пока мастер настраивает новую группу доступности. На странице "Ход выполнения" можно выбрать дополнительные сведения, чтобы просмотреть подробный ход выполнения.
После завершения настройки проверьте страницу результатов , чтобы убедиться, что группа доступности успешно создана.
Нажмите кнопку Закрыть, чтобы закрыть мастер.
Проверка группы доступности
В Object Explorer разверните Always On High Availability и разверните Availability Groups. Щелкните правой кнопкой мыши группу доступности и выберите Показать панель мониторинга.
Скриншот Обозревателя объектов в SSMS, показывающий выбранные параметры для открытия дашборда для группы доступности.
Панель мониторинга группы доступности должна выглядеть как на следующем снимке экрана: теперь с дополнительной репликой.
На панели мониторинга отображаются реплики, режим восстановления при сбое каждой реплики и состояние синхронизации.
Проверка прослушивателя группы доступности
В Object Explorer разверните Always On High Availability, разверните Availability Groups, а затем разверните Availability Group Listener.
Щелкните имя прослушивателя правой кнопкой мыши и выберите пункт Свойства. Оба IP-адреса теперь должны отображаться для прослушивателя (по одному в каждом регионе).
Настройка подключения для нескольких подсетей
Реплика в удаленном центре обработки данных является частью группы доступности, но она находится в другой подсети. Если эта реплика становится основной репликой, могут возникнуть тайм-ауты подключения приложений. Это поведение аналогично группе доступности на локальном оборудовании в развертывании с несколькими подсетями. Чтобы разрешить подключения из клиентских приложений, либо обновите подключение клиента, либо настройте кэширование разрешения имен на ресурсе сетевого имени кластера.
Рекомендуется обновить конфигурацию кластера до значения RegisterAllProvidersIP=1 и строки подключения клиента до значения MultiSubnetFailover=Yes. См. раздел "Подключение с помощью MultiSubnetFailover".
Если вы не можете изменить строки подключения, вы можете настроить кэширование разрешения имен. См. Соединение с слушателем Always On в многоподсечной среде может вызвать тайм-аут.
Переключение на удалённый регион
Чтобы проверить подключение прослушивателя к удаленному региону, можно переключить реплику на отказоустойчивый режим в удаленном регионе. Если реплика является асинхронной, переключение на резервный узел может привести к потере данных. Чтобы переключиться без потери данных, измените режим доступности на синхронный и задайте автоматический режим переключения. Выполните указанные ниже действия.
В Object Explorer подключитесь к экземпляру SQL Server, на котором размещена первичная реплика.
В разделе "Always On Availability Groups" щелкните правой кнопкой мыши группу доступности и выберите Свойства.
На странице "Общие", в разделе "Реплики доступности" установите для вторичной реплики на сайте аварийного восстановления (DR) использование режима Синхронная фиксация и режима Автоматического отказостойкого переключения.
Если вторичная реплика находится на том же узле, что и первичная реплика, для обеспечения высокого уровня доступности, то задайте для нее режимы Асинхронная фиксация и Ручной.
Нажмите ОК.
В Object Explorer щелкните правой кнопкой мыши группу доступности и выберите панель мониторинга Show Dashboard.
На панели мониторинга убедитесь, что реплика на ДР синхронизирована.
В Object Explorer щелкните правой кнопкой мыши группу доступности и выберите Failover. SQL Server Management Studio открывает мастер для переключения резервного экземпляра SQL Server.
Выберите Далее и выберите экземпляр SQL Server на узле аварийного восстановления. Снова выберите Далее.
Подключитесь к экземпляру SQL Server на сайте восстановления после сбоя и выберите Next.
Проверьте параметры на странице Сводка, а затем нажмите кнопку Готово.
После тестирования подключения переместите первичную реплику обратно в основной центр обработки данных и установите режим доступности обратно в обычные параметры работы. В следующей таблице показаны обычные параметры работы для архитектуры, описанной в этой статье:
| Расположение | Экземпляр сервера | Роль | Режим доступности | Режим автовосстановления |
|---|---|---|---|---|
| Основной центр обработки данных | SQL-1 | Основной | Синхронный | Автоматически |
| Основной центр обработки данных | SQL-2 | Вторичный | Синхронный | Автоматически |
| Вторичный или удаленный центр обработки данных | SQL-3 | Вторичный | Асинхронный | Руководство |
Дополнительные сведения о плановом и принудительном переключении вручную смотрите в следующих статьях:
- Выполнить плановое ручное переключение группы доступности Always On (SQL Server)
- Выполните принудительное ручное переключение группы доступности Always On (SQL Server)