Успешная деятельность любой компании в большой степени зависит от правильной настройки и грамотного обслуживания аппаратных средств и программного обеспечения. Поэтому необходимо задействовать самые производительные программные продукты и оборудование. Но закон Мерфи гласит: «Если неприятность может случиться, она обязательно случится». Чтобы уменьшить простои и их влияние на бизнес, необходим план обеспечения высокого уровня доступности и аварийного восстановления как оборудования, так и программного обеспечения.

Важнейшие бизнес-решения

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

Кластеризация с обходом отказа

Решение, предусматривающее кластеризацию с обходом отказа, построено на основе кластера Windows Server Failover Cluster (WSFC) или службы Microsoft Cluster Service (MSCS). Оно обеспечивает высокий уровень доступности для SQL Server на уровне экземпляра. Кластер с обходом отказа представляет собой сочетание одного или нескольких серверов, размещенных в одной или нескольких подсетях. Экземпляр SQL Server устанавливается на всех узлах в кластерной группе, но только один сервер может быть активным в каждый момент времени. Активный сервер владеет одной общей копией данных. Если происходит отказ активного сервера, владение данными переходит к пассивному узлу, который становится активным.

Группы обеспечения доступности AlwaysOn

Группы обеспечения доступности — мощное решение на основе зеркального отображения базы данных, при котором пользовательские базы данных, известные как базы данных доступности, отрабатывают отказ вместе, как единая сущность.

Группы обеспечения доступности состоят из первичной реплики с базой данных-источником, доступной клиентским системам для чтения и записи, и вторичных реплик числом от одной до восьми, которые можно настроить только для чтения клиентскими системами. Для групп обеспечения доступности требуется кластер WSFC, а отработка отказов происходит на уровне реплики доступности.

Зеркальное отображение базы данных

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

Зеркальное отображение базы данных выполняется в описанных ниже режимах.

  • Режим высокой безопасности с автоматическим переходом на другой ресурс — синхронная операция, в ходе которой транзакция фиксируется на обоих партнерах, в том числе следящем партнере для координации автоматического перехода на другой ресурс. Отличается высокой чувствительностью к задержкам транзакций.
  • Режим высокой безопасности без автоматического перехода на другой ресурс — синхронная операция без следящего партнера.
  • Режим высокой безопасности — асинхронная операция, в которой транзакция фиксируется без ожидания зеркального партнера для записи журнала на диск.

Перенос журналов

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

Репликация

Репликация представляет собой модель издатель — подписчик. Настройка репликации охватывает сервер-источник, именуемый издателем, который распространяет данные на один или несколько серверов-получателей, именуемых подписчиками.

Репликация выполняется в разных вариантах:

  • Моментальный снимок — формируется и применяется немедленно после создания подписки или в соответствии с расписанием, назначенным при создании публикации.
  • Транзакция — подтвержденные транзакции, подготовленные на издателе, могут распространяться и применяться на подписчике немедленно или через запланированные интервалы. Обеспечивается доступность данных в реальном времени.
  • Объединение — двунаправленная репликация, при которой синхронизируются и объединяются добавочные обновления как на подписчике, так и на издателе.

Виртуальные машины (Hyper-V, VMWare)

Решение на основе виртуальных машин представляет собой модель консолидации и высокого уровня доступности, в которой вся операционная система переносится с физической машины на виртуальную. Операционная система и все приложения (в том числе SQL Server) инкапсулируются в одном или нескольких файлах образа жесткого диска (*.vdi, *.vmdk, *.vhd/x) на хост-компьютере. Высокий уровень доступности SQL Server может быть достигнут за счет архивирования и восстановления образа жесткого диска на другом хост-компьютере.

В следующих статьях серии мы более подробно рассмотрим каждый из этих вариантов.