Создание FCI с помощью Storage Spaces Direct (SQL Server на виртуальных машинах Azure)

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

Совет

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

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

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

Примечание.

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

Обзор

Прямые пространства хранения (S2D) поддерживают два типа архитектуры: конвергентную и гиперконвергентную. Гиперконвергентная инфраструктура помещает хранилище на те же серверы, на которых размещается кластеризованное приложение, поэтому каждый узел FCI SQL Server имеет собственное хранилище.

На следующей схеме показано полное решение, использующее гиперконвергентные Storage Spaces Direct с SQL Server на виртуальных машинах Azure.

Схема полного решения с использованием гиперконвергентной технологии Storage Spaces Direct.

На предыдущей схеме показаны следующие ресурсы в одной группе ресурсов:

  • Две виртуальные машины в отказоустойчивом кластере Windows Server. Когда виртуальная машина находится в отказоустойчивом кластере, она также называется узлом кластера или просто узлом.
  • В каждой виртуальной машине есть два или больше дисков данных.
  • Система Storage Spaces Direct синхронизирует данные на дисковых накопителях данных и представляет синхронизированное хранилище в виде пула хранилища.
  • Пул хранения предоставляет общий том кластера (CSV) для отказоустойчивого кластера.
  • Функция кластера экземпляра SQL Server FCI использует CSV для дисков данных.
  • Подсистема балансировки нагрузки Azure содержит IP-адрес для FCI SQL Server для одного сценария подсети.
  • В группе доступности Azure хранятся все ресурсы.

Примечание.

На основе шаблона в Azure можно создать полное решение. Пример шаблона доступен в шаблонах быстрого запуска Azure на GitHub. Этот пример не предназначен или не протестирован для какой-либо конкретной рабочей нагрузки. Вы можете запустить шаблон, чтобы создать сервер SQL FCI с хранилищем Storage Spaces Direct, подключенным к вашему домену. Шаблон можно оценить и изменить в соответствии со своими потребностями.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавление хранилища

Диски для Storage Spaces Direct должны быть пустыми. Они не могут содержать разделы или другие данные. Чтобы очистить диски, следуйте инструкциям в разделе Deploy Storage Spaces Direct.

  1. Включить Storage Spaces Direct.

    Следующий скрипт PowerShell включает Storage Spaces Direct:

    Enable-ClusterS2D
    

    В диспетчере отказоустойчивости кластеров теперь отображается пул хранения.

  2. Создайте том.

    При включении функции Storage Spaces Direct автоматически создается пул хранения. Теперь вы готовы создать том. Командлет PowerShell New-Volume автоматизирует процесс создания тома. Этот процесс включает форматирование, добавление тома в кластер и создание файла в формате CSV. В этом примере создается CSV емкостью 800 ГБ:

    New-Volume -StoragePoolFriendlyName S2D* -FriendlyName VDisk01 -FileSystem CSVFS_REFS -Size 800GB
    

    После выполнения предыдущей команды том 800 ГБ монтируется как ресурс кластера. Громкость составляет C:\ClusterStorage\Volume1\.

    Снимок экрана показывает CSV с Storage Spaces Direct.

    Снимок экрана общего тома кластера с использованием Storage Spaces Direct.

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

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

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

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

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

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

Чтобы создать первый узел в 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. В диалоговом окне Центр установки SQL Server выберите Установка.

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

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

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

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

  8. В конфигурации ядра СУБД каталоги данных FCI должны находиться в кластеризованном хранилище. В случае с Локальными дисковыми пространствами это не общий диск, а точка подключения к тому на каждом сервере. Технология Storage Spaces Direct синхронизирует том между обоими узлами. Том представлен кластеру как CSV. Используйте точки подключения CSV для каталогов данных.

    Снимок экрана: каталоги данных.

  9. После выполнения инструкций в мастере, программа установки развернет экземпляр отказоустойчивого кластера SQL Server (FCI) на первом узле.

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

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

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

  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 на портале, зарегистрируйте ее при помощи расширения агента SQL IaaS. Виртуальные машины SQL Server с экземплярами отказоустойчивого кластера имеют только ограниченные функциональные возможности.

Примечание.

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

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

Ограничения

  • Вы можете использовать Storage Spaces Direct только если снимите флажок параметра пригодности дисков при добавлении хранилища в кластер для дисков, присоединённых в формате NTFS.

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

  • Экземпляры отказоустойчивого кластера, использующие Storage Spaces Direct в качестве общего хранилища, не поддерживают использование дискового свидетеля для кворума кластера. Используйте вместо этого свидетеля в облаке.

  • Координатор распределенных транзакций (MSDTC) не поддерживается SQL Server на экземплярах отказоустойчивого кластера виртуальной машины Azure, развернутых с использованием Storage Spaces Direct. Просмотрите ограничения FCI для получения дополнительной информации.

  • Координатор распределенных транзакций Майкрософт (MSDTC) поддерживается на виртуальных машинах Azure, начиная с Windows Server 2019 и более поздних версий при развертывании в выделенных кластеризованных общих томах (CSV) и с помощью стандартной подсистемы балансировки нагрузки. MSDTC не поддерживается в Windows Server 2016 и более ранних версиях.

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

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

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

Следующие шаги

Если Storage Spaces Direct не являются правильным решением для хранения данных FCI, попробуйте создать FCI с помощью общих дисков Azure или премиальных файл-шар Azure.

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