Что такое SQL Server AlwaysOn? Отличия FCI и AG

Tags: SQL Server, AlwaysOn, AG, FCI, DAG, BAG

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

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

Если говорить конкретнее, SQL Server AlwaysOn состоит из двух технологий:

  1. Экземпляры отказоустойчивого кластера(AlwaysOn FCI)
  2. Группы доступности AlwaysOn (AlwaysOn AG)

Хотя эти технологии имеют сходства, такие как требование отказоустойчивой кластеризации Windows Server (WSFC) в качестве основы для ее реализации, каждая из них является отдельной технологией под зонтиком AlwaysOn.

Экземпляры отказоустойчивого кластера(AlwaysOn FCI)

AlwaysOn FCI требует общего хранилища, такого как iSCSI или Fibre Channel SAN, к которому могут обращаться все узлы в кластере. Существует также возможность использования сторонних инструментов репликации данных, которые могут помочь в требованиях к хранению в случае отсутствия общего хранилища или если вы хотите организовать хранилище на виртуальных машинах или на облаке.

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

AlwaysOn FCI доступен как на SQL Server Standard, так и на Enterprise Edition, но накладывает ограничения на стандартную версию SQL Server, например ограничение на 2 узла.

Когда вы устанавливаете SQL Server, вы выбираете опцию «Новый отказоустойчивый кластер SQL».

Реализация одного сайта с двумя узлами AlwaysOn FCI (с использованием режима кворума Node и Disk Majority) изображена ниже.

Режим кворума помогает определить, какие узлы доступны и какой узел должен быть основным узлом. Благодаря тому, что задействован другой компьютер / объект, он может определить, не потеряна ли связь между машинами, должен ли происходить переход на другой ресурс. Ниже приведены общие примеры режима кворума, которые могут использоваться в конфигурации AlwaysOn FCI.

  • Node Majority  (большинство узлов)
  • Node and Fileshare Majority (большинство узлов и файловый ресурс)
  • Node and (symmetrical) Disk Majority  (большинство узлов и диск (симметричное хранилище)

Симметричное хранилище подразумевает кластерный диск, который используется совместно всеми узлами WSFC. Это позволяет общему хранилищу быть доступным для всех потенциальных отказоустойчивых узлов в кластере WSFC.

Группы доступности AlwaysOn

AlwaysOn AG не требуют общего дискового хранилища для сервера, на котором размещен SQL Server. Эта технология высокой доступности SQL Server является функцией Enterprise. Это означает, что вы не можете настроить SQL Server Standard Edition на использование AlwaysOn AG с версиями до SQL Server 2016. Теперь есть возможность создать базовую группу доступности со стандартной версией SQL Server 2016, о которой мы расскажем ниже.

Когда вы устанавливаете SQL Server, вы выбираете опцию “Автономная установка нового  SQL”

Реализация AlwaysOn AG для HA и DR (с использование режима кворума Node Majority ) показана ниже.

Ниже приведены несколько распространенных примеров режима кворума, используемых в конфигурации AlwaysOn AG.

  • Node Majority
  • Node and Fileshare Majority
  • Node and (Asymmetric) Disk Majority - асимметричное хранилище

Асимметричное хранилище подразумевает, что кластерный диск используется только между подмножеством узлов. Возможность асимметричного диска была впервые представлена на Windows Server 2008. Она позволяет настроить дискретный диск и доступ только для узлов на одном сайте, как правило, на основном.

Новые возможности в SQL Server 2016

Теперь, когда вы поняли различия между AlwaysOn FCI и AlwaysOn AG, поговорим о  двух дополнительных разновидностях AlwaysOn AG, представленных SQL Server 2016:

  • Базовые группы доступности  (AlwaysOn BAG)
  • Распределенные группы доступности AlwaysOn DAG)

Базовые группы доступности  (AlwaysOn BAG)

Функция AlwaysOn теперь включена в стандартную версию SQL Server 2016 Standard, но она называется AlwaysOn BAG. Она создается и управляется аналогично AG, но, по сравнению с более продвинутым AlwaysOn AG на SQL Server Enterprise Edition, AlwaysOn BAG может использовать только подмножество функций. Пример ограничения - BAG позволяет только иметь две реплики (первичную и вторичную).

AlwaysOn BAG обеспечивает поддержку отказоустойчивости только для одной базы данных, заменяя зеркальное отображение базы данных, которое устарело.

Распределенные группы доступности  (AlwaysOn DAG)

AlwaysOn DAG - это слабосвязанные группы AG. AlwaysOn DAG работает поверх двух разных AG, что означает, что они находятся на двух разных WSFC с собственным кворумом и управлением голосованием.

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

Характеристики AlwaysOn FCI и AlwaysOn AG

Каждая из этих двух технологий отличается своей целью. Можно комбинировать AlwaysOn FCI и AlwaysOn AG. Для бизнес-требований может потребоваться локальная высокая доступность в центре обработки данных с использованием AlwaysOn FCI и переадресация сбоя центра обработки данных с использованием AlwaysOn AG. Это просто означает, что решение будет состоять из комбинации общего хранилища и неразделенного хранилища при реализации.

Если вам интересно, какое решение реализовать, приведенная ниже таблица суммирует сходство и различия в характеристиках между SQL Server AlwaysOn FCI и решениями AlwaysOn AG в качестве руководства при оценке SQL Server AlwaysOn

 

AlwaysOn FCI для HA и DR

AlwaysOn AG для HA и DR

Решение с  совместным хранилищем

Решение с неразделенным хранилищем

Уровень экземпляра HA

Лог-серверы, задания агента SQL, сертификаты и другие объекты уровня экземпляра SQL Server находятся в тактическом режиме после отказа

Уровень базы данных HA (может быть одной или нескольких баз данных)

Ручное добавление логинов, заданий агента SQL, сертификатов и других объектов уровня экземпляра SQL Server ко всем вторичным репликам

Защита на уровне экземпляра без избыточности данных

Каждая группа вторичных баз данных AG является избыточной копией первичной

Есть Активные \ пассивные узлы. Нет концепции вторичной базы данных.

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

Приложение подключается через имя виртуального сервера

Приложение подключается через имя прослушивателя AG

Не поддерживает избыточную копию данных, следовательно, не защищает от сбоя подсистемы ввода-вывода

Защита от сбоя подсистемы ввода-вывода, то есть Автоматический ремонт страницы

Никаких особых требований в отношении моделей восстановления базы данных

Базы данных  в AG должна быть в модели восстановления FULL

 

Другие примечания, касающиеся обоих решений

  • Каждое развертывание AlwaysOn - это развертывание WSFC
  • И FCI, и AG могут охватывать несколько центров обработки данных, но реализованы по разному.
  • Решения могут быть реализованы на физических системах SQL Server или работающих под управлением виртуальных машин

Резюме

Простое упоминание SQL Server AlwaysOn не несет в себе конкретики, оно подразумевает либо AlwaysOn FCI, либо AlwaysOn AG.

В двух словах:

AlwaysOn = {экземпляры отказоустойчивого кластера SQL Server, группы доступности}

AlwaysOn! = Экземпляры отказоустойчивого кластера SQL Server! = Группы доступности

Группы доступности! = Зеркальное отображение базы данных

WSFC! = Экземпляры отказоустойчивого кластера SQL Server




No Comments

Add a Comment