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

Область применения:SQL Server на виртуальной машине Azure

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

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

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

Примечание.

Теперь можно поднять и переместить решение FCI на SQL Server на виртуальных машинах Azure с помощью службы "Миграция Azure". Дополнительные сведения см. в разделе «Миграция FCI».

Предварительные требования

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

Совет

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

Подключение файлового ресурса класса "Премиум"

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

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

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

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

  3. Выберите «Подключиться», чтобы открыть строку подключения для премиального файлового хранилища.

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

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

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

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

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

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

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

  10. Убедитесь, что общий файловый ресурс класса Premium доступен, выполнив Test-Path "\\storageaccountname.file.core.windows.net\filesharename" в PowerShell. Команда должна возвращать True.

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

Внимание

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

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

Создайте отказоустойчивый кластер Windows Server (WSFC) на всех виртуальных машинах SQL Server с помощью учетной записи домена с правами на создание объекта компьютера; шаги установки различаются между одной подсетью (требует балансировщика нагрузки) и средами с несколькими подсетями (использует распределенное сетевое имя).

Действия по созданию WSFC различаются между одной подсетью и средами с несколькими подсетями. Чтобы создать кластер, выполните действия в учебнике для сценария с несколькими подсетями или сценария с одной подсетью. Хотя эти руководства создают группу доступности, действия по созданию кластера одинаковы для FCI.

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

Настройте кворум кластера с помощью облачного свидетеля (рекомендуется для SQL Server на виртуальных машинах Azure) с учетной записью домена с разрешениями администратора кластера; Конфигурация кворума идентична для отдельных подсетей и развертываний с несколькими подсетями.

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

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

Проверьте конфигурацию WSFC (за исключением тестов хранилища) с помощью диспетчера отказоустойчивых кластеров или PowerShell с учетной записью домена с разрешениями администратора кластера; Проверка необходима для поддержки Майкрософт и применяется как к одной подсети, так и к развертываниям с несколькими подсетями.

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

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

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

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

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

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

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

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

  7. На странице Выбор тестов выберите все тесты, кроме хранилища и Storage Spaces Direct:

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

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

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

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

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"  # Example: ("sqlvm1","sqlvm2")

Тестирование отказа кластера

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

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

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

Создание FCI в SQL Server

Установите SQL Server FCI на всех узлах кластера с помощью учетной записи домена с правами локального администратора и разрешениями на установку SQL Server. Установка отличается между одно-подсетевой средой (предоставляет один IP-адрес для балансировщика нагрузки) и многоподсетевой средой (предоставляет вторичные IP-адреса для каждой подсети виртуальной машины).

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

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

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

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

  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-адрес сетевого имени FCI в зависимости от среды развертывания:

    Окружающая среда IP-адрес, который нужно предоставить Где настроить
    Одна подсеть IP-адрес сетевого имени FCI (например: 10.0.0.10) Azure Load Balancer
    Несколько подсетей Вторичный IP-адрес в подсети первой виртуальной машины SQL Server (например: 10.0.1.10) IP-адрес сетевого имени FCI

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

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

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

  10. После завершения работы мастера установщик установит экземпляр FCI SQL Server на первом узле.

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

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

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

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

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

  4. В сценарии с несколькими подсетами в конфигурации сети кластера введите дополнительный IP-адрес в подсети второй виртуальной машины SQL Server, которую вы ранее назначили IP-адресом имени сети FCI.

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

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

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

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

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

Примечание.

Изображения в галерее Marketplace Azure содержат предустановленный SQL Server Management Studio (SSMS). Если вы не использовали образ Marketplace, установите последнюю версию SSMS.

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

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

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

Примечание.

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

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

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>  # Example: -Name "sqlvm1" -ResourceGroupName "sql-fci-rg"

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>  # Example: -LicenseType "PAYG" or "AHUB"

Проверьте регистрацию, выполнив следующую команду:

Get-AzSqlVM -ResourceGroupName <resource_group_name> -Name <vm_name>  # Example: -ResourceGroupName "sql-fci-rg" -Name "sqlvm1"

Ожидаемые выходные данные показывают зарегистрированный ресурс виртуальной машины SQL с ProvisioningState: Succeeded и SqlManagementType: LightWeight.

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

Настройте маршрутизацию подключения клиента к FCI с помощью распределенного сетевого имени (DNN) или имени виртуальной сети (VNN) с помощью Azure Load Balancer; этот шаг необходим только для развертываний одной подсети (развертывания с несколькими подсетями используют прямую маршрутизацию и пропустить этот шаг).

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

Ограничения

  • FILESTREAM не поддерживается для отказоустойчивого кластера с общей папкой класса Premium. Для использования FileStream разверните кластер, используя Storage Spaces Direct или общие диски Azure.
  • Моментальные снимки базы данных в настоящее время не поддерживаются с Azure Files из-за ограничений, связанных с разреженными файлами.
  • Поскольку снимки состояния базы данных не поддерживаются, CHECKDB для пользовательских баз данных переключается на CHECKDB WITH TABLOCK. TABLOCK ограничивает выполняемые проверки . DBCC CHECKCATALOG не выполняется в базе данных, а данные Service Broker не проверяются.
  • DBCC CHECKDB на базе данных master и базе данных msdb не поддерживается.
  • Базы данных, использующие функцию OLTP в памяти, не поддерживаются в FCI, развернутой с общей папкой premium. Если вашему бизнесу требуется OLTP в памяти, рассмотрите возможность развертывания FCI с использованием общих дисков Azure или Storage Spaces Direct.
  • Координатор распределенных транзакций (MSDTC) не поддерживается для SQL Server на виртуальных машинах Azure, развернутых в общих папках уровня "Премиум", за исключением использования Windows Server 2019 или более поздней версии с выделенными кластеризованными общими томами (CSV) и стандартной подсистемой балансировки нагрузки. MSDTC не поддерживается в Windows Server 2016 и более ранних версиях. Посмотрите ограничения FCI для получения дополнительной информации.

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

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

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