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

Область применения: 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 Load Balancer или распределенного сетевого имени (DNN) для экземпляра отказоустойчивого кластера путем создания виртуальных машин SQL Server в нескольких подсетях в одной виртуальной сети Azure.

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

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

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

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

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

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

    Снимок экрана: копирование команды PowerShell с портала подключения к общей папке.

  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 на виртуальных машинах Azure является облако-свидетель.

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

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

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

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

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

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

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

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

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

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

  7. На странице выбора теста выберите все тесты, кроме хранилища и Локальные дисковые пространства:

    Снимок экрана: выбор тестов проверки кластера.

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

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

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

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

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

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

Снимок экрана: проверка отработки отказа кластера путем перемещения основного ресурса на другие узлы.

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

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

Создание первого узла в FCI SQL

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

  1. Подключитесь к первой виртуальной машине с помощью 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-адреса сетевого имени экземпляра отказоустойчивого кластера:

    Снимок экрана: вторичный IP-адрес в подсети первой виртуальной машины.

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

    Снимок экрана: использование общей папки в качестве каталогов данных SQL.

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

Добавление дополнительных узлов В FCI SQL

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

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

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

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

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

    Снимок экрана: ввод дополнительного IP-адреса в подсети второй подсети виртуальной машины SQL Server.

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

    Снимок экрана: подтверждение нескольких подсетей.

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

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

Примечание.

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

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

Чтобы управлять виртуальной машиной SQL Server на портале, зарегистрируйте ее с помощью расширения агента IaaS SQL. Только ограниченные функциональные возможности доступны для виртуальных машин SQL Server, имеющих отказоустойчивые кластеризованные экземпляры 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, зарегистрированные в расширении агента IaaS SQL, не поддерживают функции, требующие агента, таких как автоматическое резервное копирование, исправление, проверка подлинности Microsoft Entra и расширенное управление порталом. Дополнительные сведения см. в таблице преимуществ .
  • Моментальные снимки базы данных в настоящее время не поддерживаются с Файлы Azure из-за ограничений разреженных файлов.
  • Так как моментальные снимки базы данных не поддерживаются, CHECKDB для пользовательских баз данных возвращается в CHECKDB WITH TABLOCK. TABLOCK ограничивает выполняемые проверки . DBCC CHECKCATALOG не выполняется в базе данных, а данные Service Broker не проверяются.
  • DBCC CHECKDB и master msdb база данных не поддерживается.
  • Базы данных, использующие функцию OLTP в памяти, не поддерживаются в экземпляре отказоустойчивого кластера, развернутом с общей папкой premium. Если организации требуется OLTP в памяти, можно развернуть FCI с использованием общих дисков Azure или локального дискового пространства.

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

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

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