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

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

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

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

Обзор

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

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

Примечание.

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

Кворум

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

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

Хранилище

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

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

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

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

Azure общие диски

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

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

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

  • Полезно для приложений, которые хотят перейти на Azure, сохраняя архитектуру высокого уровня доступности и аварийного восстановления (HADR).
  • Может перенести кластеризованные приложения в Azure как есть благодаря поддержке постоянных резервирований SCSI (SCSI PR).
  • Поддерживает общий доступ к Azure Premium SSD, Premium SSD v2 и Azure Ultra Disk.
  • Можно использовать один общий диск или распределить данные по нескольким общим дискам для создания общего пула хранения.
  • Поддерживает FILESTREAM.
  • Диски SSD ценовой категории "Премиум" поддерживают группы доступности.
  • Хранилище SSD "Премиум" с зональной избыточностью (ZRS) поддерживает зоны доступности. Виртуальные машины, входящие в состав FCI, можно размещать в разных зонах доступности.
  • Поддерживает координатор распределенных транзакций Майкрософт (MSDTC), начиная с Windows Server 2019.

Примечание.

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

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

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

Для начала см. статью Настроить отказоустойчивый кластер с общими дисками Azure.

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

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

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

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

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

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

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

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

Файловое хранилище премиум-класса

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

Supported OS: Windows Server 2012 и новее
Supported SQL version: SQL Server 2012 и выше

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

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

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

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

Чтобы начать, см. статью Настройка экземпляра отказоустойчивого кластера с общей папкой Premium.

Azure Elastic SAN

Azure Elastic SAN — это решение, подключенное к сети, которое предоставляет клиентам гибкое и масштабируемое решение с возможностью снижения затрат путем консолидации хранилища. Azure Elastic SAN предоставляет экономичное, производительное и надежное решение для хранения блоков, которое подключается к различным Azure вычислительным службам по протоколу iSCSI. Elastic SAN обеспечивает беспрепятственный переход из существующего SAN-хранилища в облако без необходимости рефакторинга архитектуры приложений.

Поддерживаемые ОС: Windows Server 2019 и более поздние версии
Supported SQL version: SQL Server 2022 и начиная с более поздних версий

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

  • Эластичная сеть SAN не ограничивается ограничениями пропускной способности диска виртуальной машины, что означает, что вы можете сэкономить на затратах, достигнув требуемой пропускной способности с небольшими виртуальными машинами.
  • Консолидация хранилища и динамическое распределение производительности — можно сэкономить на затратах, консолидируя рабочие нагрузки с низкой до средней производительностью с рабочими нагрузками SQL Server, так как пул хранилища подготовлен на уровне SAN, и производительность распределяется между рабочими нагрузками.
  • Поддерживает постоянные резервирования SCSI (SCSI PR), что означает, что кластеризованные приложения можно перенести в Azure как есть.
  • Можно использовать один общий том или чередовать несколько общих томов для создания общего пула носителей.
  • Эластичное хранилище SAN с многозональной избыточностью поддерживает зоны доступности. Виртуальные машины, входящие в экземпляр отказоустойчивого кластера, могут размещаться в разных зонах доступности.

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

  • В настоящее время облачный свидетель не поддерживается.
  • Не поддерживает рабочие нагрузки с задержкой менее миллисекунды.
  • Файловый поток не поддерживается.
  • Координатор распределенных транзакций (MSDTC) не поддерживается.

Партнер

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

Поддерживаемые ОС: все
Поддерживаемые версии 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 работают прозрачно с FCIs при использовании DNN, но существуют определенные функции, которые могут потребовать особого внимания. Дополнительные сведения см. в статье о взаимодействии FCI и DNN.

Примечание.

Если в одном кластере имеется несколько групп доступности или FCI, и вы используете прослушиватель DNN или VNN, каждая группа доступности или FCI нуждается в собственной независимой точке подключения.

Ограничения

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

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

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

MSDTC

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

В Виртуальные машины Azure MSDTC не поддерживается для Windows Server 2016 или более ранних версий с кластеризованными общими томами, так как:

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