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

Применимо к: SQL Server на виртуальной машине Azure

Совет

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

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

Хотя диск-свидетель и является наиболее устойчивым вариантом кворума, он не поддерживается для экземпляров отказоустойчивого кластера, настроенных с помощью функции "Локальные дисковые пространства". Таким образом, рекомендуемым решением кворума для этого типа конфигурации кластера для 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.

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

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

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

    Каталоги данных

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

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

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

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

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

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

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

    Подтверждение нескольких подсетей

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

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

Примечание

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

Регистрация с использованием расширения IaaS для SQL

Для управления виртуальной машиной SQL Server на портале зарегистрируйте ее с помощью расширения агента IaaS для SQL в режиме упрощенного управления (в настоящее время это единственный режим, поддерживаемый FCI и SQL Server на виртуальных машинах Azure).

Зарегистрируйте виртуальную машину 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 'Lightweight' SQL IaaS agent
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType PAYG -SqlManagementType LightWeight  

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

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

Ограничения

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

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

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

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