Создание 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:

Diagram of the complete solution, using hyperconverged Storage Spaces Direct

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Нажмите кнопку Далее.

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

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

  6. Нажмите кнопку Далее.

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

    Select cluster validation tests

  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 с Локальными дисковыми пространствами:

    Screenshot of a Cluster Shared Volume with Storage Spaces Direct

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

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

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

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

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

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

    provide the secondary IP address in the subnet of the first SQL Server VM that you previously designated as the IP address of the failover cluster instance network name

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

    Data directories

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

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

  11. Откройте диалоговое окно Центр установки SQL Server. Нажмите Установка.

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

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

    enter the secondary IP address in the subnet of the second SQL Server VM subnet that you previously designated as the IP address of the failover cluster instance network name

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

    Multi Subnet Confirmation

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

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

Ограничения

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

Дальнейшие действия

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

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