Экземпляры отказоустойчивого кластера с 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) | 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 | Да | No | Да | Нет |
Поддерживает MSDTC | Да | No | No | No |
В оставшейся части этой статьи приводятся преимущества и ограничения каждого варианта хранилища, доступного для SQL Server на Виртуальных машинах Azure.
Общие диски Azure
Общие диски Azure — это функция управляемых дисков Azure. Отказоустойчивая кластеризация Windows Server поддерживает использование общих дисков Azure с экземпляром отказоустойчивого кластера.
Поддерживаемые ОС: все
Поддерживаемые версии SQL: все
Преимущества:
- Используются для приложений, которые планируется перенести в Azure с сохранением архитектуры с высокой доступностью и аварийным восстановлением (HADR).
- Обеспечивают возможность переноса кластерных приложений в Azure без изменений благодаря поддержке постоянного резервирования SCSI (SCSI PR).
- Поддерживают общее хранилище на базе Azure SSD (цен. категория"Премиум") и Дисков Azure (цен. категория"Ультра").
- Позволяют использовать один общий диск или несколько чередующихся общих дисков для создания общего пула носителей.
- Поддерживает FILESTREAM.
- Диски SSD ценовой категории "Премиум" поддерживают группы доступности.
- Хранилище с избыточностью зон SSD уровня "Премиум" (ZRS) поддерживает зоны доступности. Виртуальные машины в составе FCI можно размещать в разных зонах доступности.
- Поддерживает координатор распределенных транзакций Майкрософт (MSDTC), начиная с Windows Server 2019.
Примечание.
Хотя общие диски Azure также поддерживают диски SSD ценовой категории "Стандартный", мы не рекомендуем использовать их для рабочих нагрузок SQL Server из-за ограничений производительности.
Ограничения:
- Кэширование дисков SSD уровня "Премиум" не поддерживается.
- Диски ценовой категории "Ультра" не поддерживают группы доступности или хранилище, избыточное между зонами (ZRS).
- Зоны доступности поддерживаются для дисков категории "Ультра", но виртуальные машины должны находиться в одной зоне доступности, что снижает доступность виртуальной машины до 99,9%.
Сведения о начале работы см. в статье "Настройка экземпляра отказоустойчивого кластера с общими дисками Azure".
Локальные дисковые пространства
Локальные дисковые пространства — это функция Windows Server, которая поддерживается с отказоустойчивой кластеризацией на Виртуальных машинах Azure. Она предоставляет программную виртуальную сеть хранения данных (SAN).
Поддерживаемые ОС: Windows Server 2016 и более поздней версии
Поддерживаемые версии SQL: SQL Server 2016 и более поздней версии
Преимущества:
- Достаточная пропускная способность сети обеспечивает надежность и высокую производительность решения общего хранилища.
- Поддерживают кэш BLOB-объектов Azure, поэтому операции чтения могут обслуживаться локально из кэша. (Обновления реплицируются одновременно на оба узла.)
- Поддерживают FileStream.
Ограничения:
- Доступно только для Windows Server 2016 и более поздних версий.
- Зоны доступности не поддерживаются.
- Обеим виртуальным машинам должен быть доступен одинаковый объем подключенного диска.
- Для обеспечения высокой производительности требуется высокая пропускная способность сети из-за непрерывной репликации дисков.
- Требуется больший размер виртуальной машины, а плата за хранилище удваивается, так как оно подключено к каждой виртуальной машине.
- Координатор распределенных транзакций (MSDTC) не поддерживается.
Сведения о начале работы см. в разделе "Настройка экземпляра отказоустойчивого кластера с помощью Локальные дисковые пространства".
Общая папка ценовой категории "Премиум"
Общие папки ценовой категории "Премиум" — это компоненты службы Файлы Azure. Общие папки ценовой категории "Премиум" работают на базе SSD и обеспечивают малую задержку. Они полностью поддерживаются для использования с экземплярами отказоустойчивого кластера для SQL Server 2012 или более поздней версии в Windows Server 2012 или более поздней версии. Общие папки ценовой категории "Премиум" отличаются повышенной гибкостью, так как вы можете менять их размеры и масштабировать их без простоя.
Поддерживаемые ОС: Windows Server 2012 и более поздней версии
Поддерживаемые версии SQL: 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 в облако без необходимости рефакторинг архитектуры приложений.
Примечание.
Настройка экземпляра отказоустойчивого кластера с помощью Azure Elastic SAN в настоящее время доступна в предварительной версии для SQL Server на виртуальных машинах Azure.
Поддерживаемая ОС: Windows Server 2019 и более поздних версий
Поддерживаемая версия SQL: 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.
Примечание.
Если в одном кластере имеется несколько групп AG или FCIs, и вы используете прослушиватель DNN или VNN, каждая группа доступности или FCI нуждается в отдельной независимой точке подключения.
Ограничения
Ограниченная поддержка расширений
В настоящее время экземпляры отказоустойчивого кластера SQL Server на виртуальных машинах Azure, зарегистрированных в расширении агента IaaS SQL, поддерживают только ограниченное количество функций, доступных через базовую регистрацию, а не те, которые требуют агента, таких как автоматическое резервное копирование, исправление, проверка подлинности 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 в Windows Server 2016 и более ранних версий с общими томами кластера по следующим причинам:
- Кластерный ресурс MSDTC нельзя настроить для использования общего хранилища. В Windows Server 2016, если вы создаете ресурс MSDTC, он не отображает общее хранилище, доступное для использования, даже если хранилище доступно. Эта проблема устранена в Windows Server 2019.
- Load Balancer ценовой категории "Стандартный" не обрабатывает порты RPC.