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

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

Совет

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

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

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

Примечание.

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

Обзор

Локальные дисковые пространства (S2D) поддерживают два типа архитектуры — конвергентную и гиперконвергентную. Гиперконвергентная инфраструктура размещает хранилище на тех же серверах, где размещается кластерное приложение, так что хранилище находится на каждом узле SQL Server FCI.

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

Схема полного решения с использованием гиперконвергентных Локальные дисковые пространства.

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

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

Примечание.

На основе шаблона в Azure можно создать полное решение. Пример шаблона доступен в шаблонах быстрого запуска Azure на GitHub. Этот пример не предназначен или не протестирован для какой-либо конкретной рабочей нагрузки. Вы можете запустить шаблон, чтобы создать экземпляр отказоустойчивого кластера 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 "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

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

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

  1. Включение Локальных дисковых пространства.

    Следующий скрипт PowerShell включает Локальные дисковые пространства:

    Enable-ClusterS2D
    

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

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

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

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

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

    Снимок экрана: CSV с Локальными дисковыми пространствами:

    Снимок экрана: общий том кластера с Локальные дисковые пространства.

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

Протестируйте отказоустойчивость своего кластера. В диспетчере отказоустойчивости кластеров щелкните правой кнопкой мыши свой кластер, выберите Другие действия>Переместить основной ресурс кластера>Выбрать узел, а затем выберите другой узел кластера. Перенесите основной кластерный ресурс на каждый узел кластера, а затем верните его на основной узел. Если вам удалось успешно перенести ресурс на каждый узел, вы готовы к установке 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. В диалоговом окне Центр установки SQL Server выберите Установка.

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

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

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

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

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

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

  9. После выполнения инструкций мастера программа установки установит экземпляр отказоустойчивого кластера 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 в одной подсети, вам потребуется настроить дополнительный компонент для маршрутизации трафика в экземпляре отказоустойчивого кластера. Для экземпляра отказоустойчивого кластера можно настроить имя виртуальной сети (VNN) с Azure Load Balancer или имя распределенной сети. Просмотрите различия между ними, а затем разверните имя распределенной сети или имя виртуальной сети и Azure Load Balancer для экземпляра отказоустойчивого кластера.

Ограничения

  • Виртуальные машины Azure поддерживают координатор распределенных транзакций Microsoft (MSDTC) на Windows Server 2019 с хранилищем на CSV и с Load Balancer ценовой категории "Стандартный". Координатор распределенных транзакций не поддерживается в Windows Server 2016 и более ранних версиях.
  • Диски, подключенные как диски NTFS, можно использовать с Локальными дисковыми пространствами только в том случае, если флажок приемлемости диска не установлен при добавлении хранилища в кластер.
  • Интерфейсы FCIs SQL Server, зарегистрированные в расширении агента IaaS SQL, не поддерживают функции, требующие агента, таких как автоматическое резервное копирование, исправление, проверка подлинности Microsoft Entra и расширенное управление порталом. Дополнительные сведения см. в таблице преимуществ .
  • Экземпляры отказоустойчивого кластера, использующие функцию "Локальные дисковые пространства" в качестве общего хранилища, не поддерживают использование диска-свидетеля для кворума кластера. Используйте вместо этого облако-свидетель.

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

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

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