Открыть сервис

Database Availability Groups

Database Availability Groups (DAG) — это технология отказоустойчивости и репликации почтовых баз данных на уровне серверов, реализованная в платформе Microsoft Exchange Server, начиная с версии 2010. DAG представляет собой группу из двух и более серверов Exchange (роль Mailbox), которые совместно обеспечивают высокую доступность (High Availability, HA) и аварийное восстановление (Site Resilience) почтовых ящиков пользователей за счёт непрерывной репликации баз данных на уровне журналов транзакций.

История и развитие

Концепция DAG была введена компанией Microsoft в 2009 году с выходом Exchange Server 2010. До этого в Exchange 2007 для обеспечения отказоустойчивости использовались кластерные технологии на основе службы Cluster Service (Windows Failover Cluster), которые были сложны в настройке и обслуживании. DAG заменила устаревшие кластерные модели (Single Copy Cluster, SCC и Cluster Continuous Replication, CCR), предложив более гибкое и простое решение.

В Exchange 2013 и Exchange 2016 технология DAG была значительно улучшена. Была добавлена поддержка до 16 копий базы данных (в Exchange 2010 — до 16, но практический лимит был ниже), улучшены механизмы автоматического переключения (AutoFailover) и балансировки нагрузки. В Exchange 2019 DAG остаётся ключевым компонентом для обеспечения высокой доступности, хотя Microsoft активно продвигает гибридные и облачные решения на базе Microsoft 365 (Exchange Online).

Архитектура и принцип работы

DAG базируется на технологии Windows Failover Clustering, но использует её только для координации и мониторинга, а не для общего хранилища данных. Каждый сервер в DAG хранит свои копии баз данных локально (на собственных дисках). Репликация данных между серверами осуществляется асинхронно на уровне журналов транзакций (log shipping).

Основные компоненты

Процесс репликации

  1. Транзакции, выполняемые на активной копии базы данных, записываются в журнал транзакций (transaction log).
  2. Файлы журналов (log files) асинхронно копируются на серверы с пассивными копиями той же базы данных.
  3. На пассивных серверах журналы применяются к копии базы данных (replay), поддерживая её в актуальном состоянии.
  4. Репликация может быть как синхронной (Seeding), так и асинхронной (Incremental). В режиме синхронной репликации транзакция считается завершённой только после подтверждения записи на всех целевых серверах.

Автоматическое переключение (AutoFailover)

При отказе сервера с активной копией базы данных DAG автоматически инициирует процесс переключения (failover). Одна из пассивных копий становится активной. Критерии для переключения:

Переключение происходит в течение нескольких секунд (обычно 30–120 секунд) и не требует вмешательства администратора.

Классификация и типы DAG

DAG можно классифицировать по нескольким признакам:

По географическому расположению

По количеству копий

По режиму репликации

Применение и значение

DAG является основным механизмом обеспечения высокой доступности в корпоративных средах Exchange. Она используется организациями любого масштаба — от средних компаний (2–4 сервера) до крупных предприятий (десятки серверов, распределённые по континентам).

Основные сценарии использования

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

Недостатки

Примеры конфигураций

Типовая конфигурация для среднего предприятия

Конфигурация для крупного предприятия с двумя дата-центрами

Критика и ограничения

Несмотря на широкое распространение, DAG имеет ряд критических замечаний:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →