Рассмотрим пример мониторинга состояния кластера DAG Exchange Server 2016 и баз данных в нем с помощью PowerShell. Мониторинг состояния DAG и баз почтовых ящиков, включенных в него является одной из важнейших задач администратора Exchange. Есть множество примеров ситуаций, когда администраторы после разворачивания DAG, решали, что теперь-то базы у них защищены. Но через какое-то время обнаруживали, что по факту пассивная копия неработоспобосна из-за проблем с репликацией и т.п. Этих проблем можно избежать за счет постоянного мониторинга (хотя бы раз в день) состояния кластера DAG.
Совет. Пример разворачивания DAG описан в статье Как создать DAG в Exchange Server 2016
Основной командлет для мониторинга DAG, позволяющий вывести статус обо всех базах DAG в организации:
Get-MailboxDatabaseCopyStatus
Разберем его вывод. В нашем случае у нас в DAG добавлена только одна база почтовых ящиков. Имеются две ее копии: копия на одном сервера активная (Mounted), на втором – пассивная (Healthy). Длина репликационной очереди (CopyQueue Length) между активной и пассивной копией равно 0 (это хорошо), значит все изменения из активной базы реплицированы в пассивную копию. Очень важный параметр ContentIndexState, отображающий состояние индекса базы. У нас для обеих баз состояние индекса Healthy.
Чтобы проверить состояние конкретной базы в DAG, выполните:
Get-MailboxDatabaseCopyStatus -db DB01
Чтобы проверить состояние подсистем репликации конкретного сервера-члена DAG, выполните
Test-ReplicationHealth -Server ex2016s2
Следующий командлет поможет получить длину очередей в DAG:
Get-QueueDigest -dag DAG01
В этом примере очереди между серверами DAG отсутствуют.