Экземпляры отказоустойчивого кластера с SQL Server на Виртуальных машинах Azure

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

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

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

Обзор

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

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

Примечание.

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

Quorum

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

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

Хранилище

В традиционных локальных кластеризованных средах отказоустойчивый кластер Windows использует сеть хранения данных (SAN), которая доступна для обоих узлов в качестве общего хранилища. Файлы SQL Server размещаются в общем хранилище, к файлам в котором имеет доступ только активный узел.

SQL Server на Виртуальных машинах Azure предлагает различные варианты в качестве решения общего хранилища для развертывания экземпляров отказоустойчивого кластера SQL Server:

Общие диски Azure Общие папки ценовой категории "Премиум" Локальные дисковые пространства (S2D)
Минимальная версия ОС Все Windows Server 2012 Windows Server 2016
Минимальная версия SQL Server Все SQL Server 2012 SQL Server 2016
Поддерживаемые варианты доступности виртуальных машин Ssd LRS уровня "Премиум": группы доступности с группой размещения близкого взаимодействия или без нее
SSD (цен. категория "Премиум") для ZRS: зоны доступности
Диски (цен. категория "Ультра"): та же зона доступности
Группы доступности и зоны доступности Группы доступности
Поддержка FileStream Да No Да
Кэш BLOB-объектов Azure No No Да

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

Общие диски Azure

Общие диски Azure — это функция управляемых дисков Azure. Отказоустойчивая кластеризация Windows Server поддерживает использование общих дисков Azure с экземпляром отказоустойчивого кластера.

Поддерживаемые ОС: все
Поддерживаемые версии SQL: все

Преимущества:

  • Используются для приложений, которые планируется перенести в Azure с сохранением архитектуры с высокой доступностью и аварийным восстановлением (HADR).
  • Обеспечивают возможность переноса кластерных приложений в Azure без изменений благодаря поддержке постоянного резервирования SCSI (SCSI PR).
  • Поддерживают общее хранилище на базе Azure SSD (цен. категория"Премиум") и Дисков Azure (цен. категория"Ультра").
  • Позволяют использовать один общий диск или несколько чередующихся общих дисков для создания общего пула носителей.
  • Поддерживает FILESTREAM.
  • Диски SSD ценовой категории "Премиум" поддерживают группы доступности.
  • Хранилище, избыточное между зонами (ZRS), на основе дисков SSD (цен. категория "Премиум") поддерживает Зоны доступности. Виртуальные машины в составе FCI можно размещать в разных зонах доступности.

Примечание.

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

Ограничения:

  • Кэширование дисков SSD уровня "Премиум" не поддерживается.
  • Диски категории "Ультра" не поддерживают группы доступности или избыточные по зонам служба хранилища (ZRS).
  • Зоны доступности поддерживаются для дисков категории "Ультра", но виртуальные машины должны находиться в одной зоне доступности, что снижает доступность виртуальной машины до 99,9%.

Сведения о начале работы см. в статье Экземпляр отказоустойчивого кластера SQL Server с общими дисками Azure.

Локальные дисковые пространства

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

Поддерживаемые ОС: Windows Server 2016 и более поздней версии
Поддерживаемые версии SQL: SQL Server 2016 и более поздней версии

Преимущества:

  • Достаточная пропускная способность сети обеспечивает надежность и высокую производительность решения общего хранилища.
  • Поддерживают кэш BLOB-объектов Azure, поэтому операции чтения могут обслуживаться локально из кэша. (Обновления реплицируются одновременно на оба узла.)
  • Поддерживают FileStream.

Ограничения:

  • Доступно только для Windows Server 2016 и более поздних версий.
  • Зоны доступности не поддерживаются.
  • Обеим виртуальным машинам должен быть доступен одинаковый объем подключенного диска.
  • Для обеспечения высокой производительности требуется высокая пропускная способность сети из-за непрерывной репликации дисков.
  • Требуется больший размер виртуальной машины, а плата за хранилище удваивается, так как оно подключено к каждой виртуальной машине.

Сведения о начале работы см. в статье Экземпляр отказоустойчивого кластера SQL Server с функцией "Локальные дисковые пространства".

Общая папка ценовой категории "Премиум"

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

Поддерживаемые ОС: Windows Server 2012 и более поздней версии
Поддерживаемые версии SQL: SQL Server 2012 и более поздней версии

Преимущества:

  • Решение общего хранилища для виртуальных машин, распределенных по нескольким зонам доступности.
  • Полностью управляемая файловая система с задержкой менее 10 мс и возможностью ускорения операций ввода-вывода.
  • Не все функции SQL Server поддерживаются, например моментальные снимки базы данных, файловый поток и CHECKDB без TABLOCK. Дополнительные сведения см . в разделе "Ограничения ".

Ограничения:

  • Доступно только для Windows Server 2012 и более поздних версий.
  • FileStream не поддерживается.

Сведения о начале работы см. в статье Экземпляр отказоустойчивого кластера SQL Server с общей папкой ценовой категории "Премиум".

Партнер

Доступны партнерские решения для кластеризации с поддерживаемым хранилищем.

Поддерживаемые ОС: все
Поддерживаемые версии SQL: все

В одном из примеров в качестве хранилища используется SIOS DataKeeper. Дополнительные сведения см. в записи блога Отказоустойчивая кластеризация и SIOS DataKeeper.

iSCSI и ExpressRoute

Вы также можете предоставить доступ к целевому общему блочному хранилищу iSCSI с помощью Azure ExpressRoute.

Поддерживаемые ОС: все
Поддерживаемые версии SQL: все

Например, решение NetApp Private Storage (NPS) предоставляет цели iSCSI через ExpressRoute с Equinix для виртуальных машин Azure.

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

Подключение

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

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

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

Большинство функций SQL Server прозрачно работают с FCI при использовании DNN, но некоторые функции могут требовать особого внимания. Дополнительные сведения см. в статье о взаимодействии FCI и DNN.

Ограничения

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

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

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

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

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

MSDTC

Виртуальные машины Azure поддерживают координатор распределенных транзакций (Майкрософт) в Windows Server 2019 с хранилищем на общих томах кластера (CSV) и с Azure Load Balancer ценовой категории "Стандартный" или на виртуальных машинах SQL Server, использующих общие диски Azure.

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

  • Кластерный ресурс MSDTC нельзя настроить для использования общего хранилища. В Windows Server 2016, если вы создаете ресурс MSDTC, он не отображает общее хранилище, доступное для использования, даже если хранилище доступно. Эта проблема устранена в Windows Server 2019.
  • Load Balancer ценовой категории "Стандартный" не обрабатывает порты RPC.

Azure Elastic SAN

Azure Elastic SAN в настоящее время не поддерживается в отказоустойчивом кластере Windows Server, поэтому экземпляры отказоустойчивого кластера SQL Server не поддерживаются.