Создание FCI с общей папкой уровня "Премиум" (SQL Server на виртуальных машинах Azure)

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

Совет

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

В этой статье объясняется, как создать экземпляр отказоустойчивого кластера (FCI) с SQL Server на виртуальных машинах Azure с помощью общей папки уровня "Премиум".

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

Дополнительные сведения см. в обзоре FCI с SQL Server на виртуальных машинах Azure и в разделе Рекомендации по работе с кластерами.

Примечание.

Теперь решение экземпляра отказоустойчивого кластера можно перенести на SQL Server в Виртуальных машинах Azure с помощью службы "Миграция Azure", используя метод lift-and-shift. См. дополнительные сведения о переносе экземпляра отказоустойчивого кластера.

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

Чтобы выполнить действия, описанные в этой статье, необходимо следующее.

  • Подписка Azure.
  • учетная запись с разрешениями на создание объектов как на виртуальных машинах Azure, так и в Active Directory;
  • Две или несколько виртуальных машин Azure для FCI в группе доступности или разных зонах доступности.
  • общая папка уровня "Премиум", которая будет использоваться в качестве кластеризованного диска, с учетом квоты хранилища для вашей базы с файлами данных.
  • последняя версия PowerShell.

Подключение общей папки уровня "Премиум"

Чтобы установить общую папку уровня "Премиум", выполните следующие действия:

  1. Войдите в портал Azure и перейдите в учетную запись хранения.

  2. Перейдите в подраздел Общие папки в разделе Хранилище данных, а затем выберите общую папку уровня "Премиум", которую вы хотите использовать для хранилища SQL.

  3. Выберите Подключить, чтобы открыть строку подключения общей папки.

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

    Screenshot showing how to copy the PowerShell command from the file share connect portal.

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

  6. Откройте административную консоль командной строки PowerShell.

  7. Выполните команду, скопированную ранее в текстовый редактор с портала общей папки.

  8. Перейдите к общей папке в проводнике или с помощью диалогового окна Выполнить (Windows + R на клавиатуре). Укажите сетевой путь \\storageaccountname.file.core.windows.net\filesharename. Например \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare.

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

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

Важно!

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

Создание отказоустойчивого кластера Windows

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

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

Рекомендуемым решением кворума для этого типа конфигурации кластера для SQL Server на виртуальных машинах Azure является облако-свидетель.

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

Проверка кластера

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

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

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

  2. В разделе Диспетчер отказоустойчивости кластеров выберите Действие, а затем выберите Проверить конфигурацию.

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

  4. На вкладке Выбор серверов или кластера введите имена обеих виртуальных машин.

  5. На вкладке Параметры тестирования выберите Выполнять только выбранные тесты.

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

  7. В разделе Выбор тестов выберите все тесты, кроме Хранилище и Локальные дисковые пространства, как показано ниже:

    Screenshot showing how to select cluster validation tests.

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

  9. В разделе Подтверждение нажмите Далее. Мастер проверки конфигурации выполняет проверочные тесты.

Чтобы проверить кластер с помощью PowerShell, запустите следующий скрипт из сеанса PowerShell администратора на одной из виртуальных машин:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

Тестирование отказоустойчивого кластера

Протестируйте отказоустойчивость своего кластера. В диспетчере отказоустойчивости кластеров щелкните правой кнопкой мыши свой кластер, выберите Другие действия>Переместить основной ресурс кластера>Выбрать узел, а затем выберите другой узел кластера. Перенесите основной кластерный ресурс на каждый узел кластера, а затем верните его на основной узел. Если вам удалось успешно перенести ресурс на каждый узел, вы готовы к установке SQL Server.

Screenshot showing how to test cluster failover by moving the core resource to the other nodes.

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

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

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

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

  3. Если версия операционной системы — Windows Server 2019, а кластер Windows был создан с использованием имени распределенной сети по умолчанию (DNN), то установка FCI для SQL Server 2017 и ниже завершается ошибкой The given key was not present in the dictionary.

    Во время установки SQL Server запрашивает значение существующего имени виртуальной сети (VNN) и не распознает DNN кластера Windows. Эта проблема была устранена в программе установки SQL Server 2019. В SQL Server 2017 и более ранних версиях выполните указанные ниже действия, чтобы избежать этой ошибки при установке.

    • В диспетчере отказоустойчивости кластеров подключитесь к кластеру, щелкните правой кнопкой мыши Роли и выберите пункт Создать пустую роль.
    • Щелкните правой кнопкой мыши только что созданную пустую роль, выберите "Добавить ресурс" и выберите точку доступа клиента.
    • Введите любое имя и завершите действия в мастере по созданию точки доступа клиента.
    • После завершения установки FCI SQL Server можно удалить роль, содержащую временную точку доступа клиента.
  4. Найдите установочный носитель. Если на виртуальной машине используется один из образов Azure Marketplace, носитель находится в папке C:\SQLServer_<version number>_Full.

  5. Выберите Настройка.

  6. В диалоговом окне Центр установки SQL Server выберите Установка.

  7. Выберите Новая установка кластера отработки отказа SQL Server и следуйте инструкциям мастера для установки FCI SQL Server.

  8. На странице Конфигурация сети кластера ваш IP-адрес зависит от того, были ли виртуальные машины SQL Server развернуты в одной или нескольких подсетях.

    1. Для среды с одной подсетью укажите IP-адрес, который вы планируете добавить в Azure Load Balancer
    2. Для среды с несколькими подсетями укажите дополнительный IP-адрес подсети первой виртуальной машины SQL Server, который вы ранее назначили в качестве IP-адреса сетевого имени экземпляра отказоустойчивого кластера:

    Screenshot of the secondary IP address in the subnet of the first VM.

  9. В конфигурации ядра СУБД каталоги данных должны быть в общей папке уровня "Премиум". Введите полный путь к общей папке в следующем формате: \\storageaccountname.file.core.windows.net\filesharename\foldername. Появится предупреждение о том, что вы указали файловый сервер в качестве каталога данных. Это предупреждение ожидаемо. Учетная запись пользователя, с помощью которой вы через RDP подключились к виртуальной машине во время сохранения общей папки, должна совпадать с учетной записью, которую служба SQL Server использует для отработки отказов.

    Screenshot showing to use file share as SQL data directories.

  10. После завершения процедуры в мастере программа установки установит экземпляр отказоустойчивого кластера SQL Server на первом узле.

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

  12. В диалоговом окне Центр установки SQL Server выберите Установка.

  13. Выберите Добавление узла в отказоустойчивый кластер SQL Server. Следуйте указаниям мастера, чтобы установить SQL Server и добавить узел в экземпляр отказоустойчивого кластера.

  14. Для среды с несколькими подсетями в разделе Конфигурация сети кластера укажите дополнительный IP-адрес подсети на второй виртуальной машине SQL Server, которая ранее была назначена в качестве IP-адреса сетевого имени экземпляра отказоустойчивого кластера

    Screenshot entering the secondary IP address in the subnet of the second SQL Server VM subnet.

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

    Screenshot showing multi subnet confirmation.

  15. После выполнения инструкций мастера программа установки добавит второй узел экземпляра отказоустойчивого кластера SQL Server.

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

Примечание.

Образы из коллекции Azure Marketplace устанавливаются вместе с SQL Server Management Studio. Если вы не использовали образ marketplace, загрузите SQL Server Management Studio (SSMS).

Регистрация с помощью расширения агента IaaS SQL

Чтобы управлять виртуальной машиной SQL Server на портале, зарегистрируйте ее с помощью расширения агента IaaS SQL. Только ограниченные функциональные возможности доступны на виртуальных машинах SQL, имеющих отказоустойчивые кластеризованные экземпляры SQL Server (FCIs).

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

Регистрация виртуальной машины SQL Server в PowerShell (-LicenseType может быть PAYG или AHUB):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

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

Если вы развернули виртуальные машины SQL Server в нескольких подсетях, пропустите этот шаг. Если вы развернули виртуальные машины SQL Server в одной подсети, необходимо настроить дополнительный компонент для маршрутизации трафика в FCI. Для экземпляра отказоустойчивого кластера можно настроить имя виртуальной сети (VNN) с Azure Load Balancer или имя распределенной сети. Просмотрите различия между ними, а затем разверните имя распределенной сети или имя виртуальной сети и Azure Load Balancer для экземпляра отказоустойчивого кластера.

Ограничения

  • Координатор распределенных транзакций Майкрософт (MSDTC) не поддерживается в Windows Server 2016 и более ранних версиях.
  • FILESTREAM не поддерживается для отказоустойчивого кластера с общей папкой класса Premium. Для использования файлового потока разверните кластер на базе Локальных дисковых пространств или общих дисков Azure.
  • Интерфейсы FCIS SQL Server, зарегистрированные в расширении, не поддерживают функции, требующие агента, такие как автоматическое резервное копирование, исправление и расширенное управление порталом. См. таблицу преимуществ.
  • Моментальные снимки базы данных в настоящее время не поддерживаются с Файлы Azure из-за ограничений разреженных файлов.
  • Так как моментальные снимки базы данных не поддерживаются, CHECKDB для пользовательских баз данных возвращается в CHECKDB WITH TABLOCK. TABLOCK ограничивает выполняемые проверка . DBCC CHECKCATALOG не выполняется в базе данных, а данные Service Broker не проверяются.
  • DBCC CHECKDB и mastermsdb база данных не поддерживается.
  • Базы данных, использующие функцию OLTP в памяти, не поддерживаются в экземпляре отказоустойчивого кластера, развернутом с общей папкой premium. Если организации требуется OLTP в памяти, можно развернуть FCI с использованием общих дисков Azure или локального дискового пространства.

Ограниченная поддержка расширений

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

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