Распределенные группы доступности
Распределённая группа доступности (Distributed Availability Group, DAG) — это технология кластеризации и репликации баз данных, используемая в Microsoft Exchange Server для обеспечения высокой доступности и аварийного восстановления почтовых служб. DAG представляет собой группу из нескольких серверов Exchange (до 16), которые совместно управляют набором баз данных, автоматически реплицируя их между узлами и обеспечивая автоматическое переключение при сбоях. Технология основана на отказоустойчивой кластеризации Windows (Windows Failover Clustering) и механизме непрерывной репликации.
История и развитие
Технология DAG была впервые представлена в Microsoft Exchange Server 2010 как замена устаревшим механизмам кластеризации, таким как кластеризованные почтовые ящики (CCR, SCR) предыдущих версий. Основной целью разработки было упрощение администрирования, повышение отказоустойчивости и снижение затрат на инфраструктуру. В Exchange 2010 DAG поддерживала до 16 серверов и позволяла создавать до 16 копий одной базы данных.
В последующих версиях (Exchange 2013, 2016, 2019 и Exchange Online) функциональность DAG была усовершенствована: улучшены механизмы репликации, добавлены возможности ручного и автоматического переключения, введена поддержка циклического ведения журналов и динамического кворума. В Exchange Server 2019 DAG остаётся ключевым компонентом для построения отказоустойчивых почтовых решений.
Архитектура и принципы работы
DAG базируется на отказоустойчивой кластеризации Windows (WSFC). Каждый сервер Exchange в DAG является узлом кластера, который отслеживает состояние других узлов и принимает решения при сбоях.
Основные компоненты:
- Узлы DAG — серверы Exchange (в версии Exchange 2019 — до 16 узлов).
- Базы данных почтовых ящиков — каждая база может иметь несколько копий (реплик) на разных узлах.
- Журналы транзакций — обеспечивают целостность данных при репликации.
- Кворум — механизм согласования состояния кластера (кворум диска, кворум без общего диска, кворум с динамическим голосованием).
Процесс репликации:
- Ведущая копия базы данных (активная) принимает транзакции.
- Записи в транзакционный журнал отправляются на все пассивные копии.
- Пассивные копии проигрывают (воспроизводят) транзакции из журнала, поддерживая актуальное состояние.
DAG поддерживает три режима репликации: синхронный, асинхронный и смешанный. При синхронной репликации данные записываются одновременно на все копии, что гарантирует отсутствие потерь, но замедляет отклик. При асинхронной репликации задержка меньше, но возможна потеря последних транзакций при сбое активной копии.
Классификация и виды
DAG можно классифицировать по нескольким признакам:
По составу узлов:
- Гомогенные DAG — все узлы имеют одинаковое аппаратное и программное обеспечение.
- Гетерогенные DAG — узлы могут различаться, но должны соответствовать требованиям Exchange.
По способу подключения к хранилищу:
- DAG с общим хранилищем — все узлы имеют доступ к одному дисковому массиву (устаревший вариант).
- DAG с локальными хранилищами — каждый узел использует собственные диски (современный подход).
По географическому размещению:
- Локальные DAG — узлы расположены в одном дата-центре.
- Геораспределённые DAG — узлы размещены в разных городах или странах (для аварийного восстановления).
Применение и значение
Основное назначение DAG — обеспечение непрерывности работы почтовой службы Exchange Server. Технология применяется в корпоративных средах, где простои недопустимы (банки, государственные учреждения, крупные компании). DAG позволяет:
- Автоматически переключать активность на резервный узел при сбое активного.
- Выполнять плановое обслуживание серверов без остановки служб.
- Восстанавливать данные при повреждении баз или потере дисков.
- Распределять нагрузку между несколькими серверами.
Пример сценария использования:
Серверы Exchange в DAG расположены в двух дата-центрах — Москве и Санкт-Петербурге. При отказе московского дата-центра (пожар, отключение электричества) активность автоматически переходит на петербургский узел, пользователи продолжают работу через несколько минут.
Характеристики и ограничения
- Максимальное количество узлов в DAG: 16 (ограничение Exchange Server 2019).
- Максимальное количество копий базы данных: 16 (с учётом самой активной копии).
- Минимальное количество узлов для автоматического отказоустойчивого переключения: 2 (при наличии кворума).
- Требования к сети: высокая пропускная способность и низкая задержка между узлами (рекомендуется 1 Гбит/с и менее 1 мс для синхронной репликации).
- Зависимость от Active Directory: DAG использует AD для хранения конфигурации.
Управление и администрирование
Управление DAG осуществляется через командную консоль Exchange (Exchange Management Shell) с помощью командлетов PowerShell (например, Add-DatabaseAvailabilityGroupServer, New-MailboxDatabaseCopy). Графический интерфейс (Exchange Admin Center) также предоставляет базовые возможности, но для сложных операций рекомендуется командная строка.
Типовые задачи:
- создание DAG (
New-DatabaseAvailabilityGroup); - добавление узлов (
Add-DatabaseAvailabilityGroupServer); - настройка репликации базы (
Add-MailboxDatabaseCopy); - активация пассивной копии (
Move-ActiveMailboxDatabase); - мониторинг состояния (
Get-MailboxDatabaseCopyStatus).
Безопасность и риски
При использовании DAG необходимо учитывать следующие риски:
- Сетевые задержки — при синхронной репликации между дата-центрами на большом расстоянии возможно снижение производительности.
- Сложность конфигурации — неправильная настройка кворума может привести к расщеплению кластера (split-brain).
- Зависимость от единой точки отказа — если все узлы используют один и тот же контроллер домена (AD), его сбой может нарушить работу DAG.
Для снижения рисков рекомендуется использовать избыточные сетевые соединения, резервные контроллеры домена и тестировать переключение при отказе.
Интересные факты
- DAG не требует общего дискового хранилища — каждый сервер использует собственные локальные диски, что удешевляет инфраструктуру.
- В Exchange Online (облачная версия) DAG не применяется как отдельная технология, но используются аналогичные принципы геораспределённой репликации.
- Компании с высокими требованиями к доступности могут настраивать DAG с тремя и более копиями баз данных (например, одна активная и две пассивные).
- DAG поддерживает автоматическое переключение, но администратор может инициировать ручное переключение для планового обслуживания.
Критика
Основные претензии к DAG связаны с:
- Сложностью настройки — требуется глубокое знание Exchange и кластеризации Windows.
- Требованиями к сети — синхронная репликация критична к задержкам, что ограничивает географическое распределение.
- Зависимостью от Active Directory — сбой AD может парализовать работу DAG даже при исправности самих серверов.
Тем не менее, DAG остаётся стандартом де-факто для построения отказоустойчивых почтовых решений на базе Microsoft Exchange.
Источники
- Microsoft Docs: Exchange Server 2019 — данное руководство содержит все базовые данные по DAG, включая требования к сети и количеству узлов, что позволило сформировать разделы «Архитектура» и «Характеристики».
- Microsoft Docs: Database Availability Groups (DAGs) — официальная документация, из которой взята информация о создании DAG и управлении копиями баз.
- Microsoft Docs: Overview of Database Availability Groups — источник для раздела «История и развитие».
- Практические руководства Microsoft по настройке DAG и высокой доступности — использовались для раздела «Применение и значение» и примеров сценариев.
- Общая информация о кластеризации и репликации из базы знаний Microsoft — для раздела «Устройство и принципы работы».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →