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

В Exchange Server вы можете использовать консоль управления Exchange (EAC) или оболочку управления Exchange для добавления копий баз данных почтовых ящиков после создания, настройки и заполнения группой доступности баз данных с членами сервера почтовых ящиков.

Управление копиями базы данных

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

Приостановка и возобновление работы копий базы данных

По ряду причин, например для планового обслуживания, может потребоваться приостановить и возобновить непрерывную репликацию копии базы данных. Кроме того, приостановить копию базы данных требуется для выполнения некоторых административных задач, таких как заполнение. Рекомендуется приостанавливать репликацию при изменении пути к базе данных или к ее файлам журнала. Чтобы приостановить и возобновить работу копии базы данных, используйте Центр администрирования Exchange или запустите командлеты Suspend-MailboxDatabaseCopy и Resume-MailboxDatabaseCopy в командной консоли Exchange. Подробные инструкции см. в статье Приостановка или возобновление работы копии базы данных почтовых ящиков.

Заполнение копии базы данных

Заполнение, также называемое обновлением, — это процесс, при котором пустая база данных или копия рабочей базы данных добавляется на другой сервер почтовых ящиков в одной с активной базой данных группе DAG. Эта база данных становится основной для копии, обслуживаемой сервером.

В зависимости от ситуации заполнение может выполняться автоматически или вручную. После добавления копия базы данных будет автоматически заполнена, если целевой сервер и его хранилище настроены правильно. Если вы хотите вручную создать копию базы данных и не хотите, чтобы при создании копии произошло автоматическое посевное копирование, можно использовать параметр SeedingPostponed при запуске cmdlet Add-MailboxDatabaseCopy .

Иногда необходимо повторно заполнить копии базы данных после первоначального заполнения. Чтобы повторно заполнить копию базы данных или заполнить ее вручную, используйте мастер обновления копии базы данных в Центре администрирования Exchange или командлет Update-MailboxDatabaseCopy в командной консоли Exchange. Перед заполнением копии базы данных необходимо приостановить работу копии базы данных почтовых ящиков. Подробное описание действий по заполнению копии базы данных см. в разделе Обновление копии базы данных почтовых ящиков.

После заполнения копии базы данных вручную репликация заполненной копии базы данных почтовых ящиков будет автоматически возобновлена. Если автоматическое возобновление репликации не требуется, необходимо использовать параметр ManualResume при запуске командлета Update-MailboxDatabaseCopy.

Выбор объекта заполнения

Вы можете выбрать объект заполнения. По умолчанию мастер обновления копии базы данных почтовых ящиков и командлет Update-MailboxDatabaseCopy заполняют копию базы данных почтовых ящиков и копию каталога индексов содержимого. Чтобы заполнить только копию базы данных почтовых ящиков, используйте параметр DatabaseOnly при запуске командлета Update-MailboxDatabaseCopy. Чтобы заполнить только копию каталога индексов содержимого, используйте параметр CatalogOnly при запуске командлета Update-MailboxDatabaseCopy.

Выбор источника заполнения

Исправную копию базы данных можно использовать в качестве источника заполнения для дополнительной копии этой базы данных. Это может быть полезно, если группа доступности базы данных развернута в нескольких физических местоположениях. В качестве примера рассмотрим развертывание группы доступности базы данных из четырех участников, в которой два участника (MBX1 и MBX2) находятся в Москве, а другие два участника (MBX3 и MBX4) — в Санкт-Петербурге. База данных почтовых ящиков с именем DB1 активна в MBX1, а пассивные копии DB1 расположены в MBX2 и MBX3. При добавлении копии DB1 в MBX4 вы можете использовать копию в MBX3 как источник для заполнения. При этом вы избегаете заполнения по каналу глобальной сети между Москвой и Санкт-Петербургом.

Чтобы использовать определенную копию в качестве источника для заполнения при добавлении новой копии базы данных, выполните следующие действия.

  • Чтобы добавить копию базы данных, используйте параметр SeedingPostponed при запуске комлета Add-MailboxDatabaseCopy . Если параметр SeedingPostponed не используется, копия базы данных будет явно посеяна с помощью активной копии базы данных в качестве источника.

  • Вы можете указать исходный сервер для заполнения в мастере обновления копии базы данных почтовых ящиков в Центре администрирования Exchange или с помощью параметра SourceServer при выполнении командлета Update-MailboxDatabaseCopy. В предыдущем примере сервер MBX3 указан в качестве исходного сервера. Если вы не используете параметр SourceServer, копия базы данных будет заполнена из активной копии базы данных.

Заполнение и сети

Кроме исходного сервера, вы можете указать сети DAG, которые следует использовать для заполнения копии базы данных. Используйте для этого командную консоль Exchange. Вы можете переопределить параметры сжатия и шифрования сети DAG во время операции заполнения.

Можно указать сети, которые необходимо использовать для посева, с помощью параметра Network при запуске комлета Update-MailboxDatabaseCopy и указать сети DAG, которые необходимо использовать. Если параметр Network не используется, система использует следующее поведение по умолчанию для выбора сети для операции посева:

  • Если исходный и целевой серверы находятся в одной подсети и настроена сеть репликации, включающая в себя эту подсеть, будет использоваться сеть репликации.

  • Если исходный и целевой серверы находятся в различных подсетях, даже если настроена сеть репликации, включающая в себя эти подсети, клиентская сеть (MAPI) будет использоваться для заполнения.

  • Если исходный и целевой серверы находятся в различных центрах данных, будет использоваться клиентская сеть (MAPI) для заполнения.

Шифрование и сжатие данных настраивается на уровне группы DAG. По умолчанию шифрование и сжатие используются только для обмена данными в разных подсетях. Если исходный и целевой серверы находятся в разных подсетях и для группы DAG заданы значения параметров NetworkCompression и NetworkEncryption по умолчанию, вы можете переопределить эти значения, используя параметры NetworkCompressionOverride и NetworkEncryptionOverride соответственно при запуске командлета Update-MailboxDatabaseCopy.

Процесс заполнения

При запуске процесса заполнения с помощью командлета Add-MailboxDatabaseCopy или Update-MailboxDatabaseCopy выполняются следующие задачи:

  1. Свойства базы данных из Active Directory считыются для проверки указанной базы данных и серверов, а также для проверки того, что исходные и целевые серверы работают Exchange Server, они оба являются членами одного и того же DAG и что указанная база данных не является базой данных восстановления. Также считываются пути к файлам базы данных.

  2. Приготовления выполняются для проверки повторного заполнения из службы репликации Microsoft Exchange целевого сервера.

  3. Служба репликации Microsoft Exchange на целевом сервере проверяет наличие базы данных и файлов журнала транзакций в каталогах файлов, считанных при проверке Active Directory на шаге 1.

  4. Служба репликации Microsoft Exchange возвращает сведения о состоянии из целевого сервера в интерфейс администратора, в котором запущен командлет.

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

  6. Операция заполнения начнется из службы репликации Microsoft Exchange целевого сервера.

  7. Служба репликации Microsoft Exchange приостановит репликацию базы данных для активной копии базы данных.

  8. Сведения о состоянии базы данных обновляются службой репликации Microsoft Exchange для отображения состояния заполнения.

  9. Если на целевом сервере отсутствуют каталоги для файлов целевой базы данных и файлов журнала, они будут созданы.

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

  11. Служба репликации Microsoft Exchange на исходном сервере запускает потоковую архивацию расширенного обработчика хранилищ (ESE) с помощью интерфейса службы банка данных Microsoft Exchange.

  12. Служба банка данных Microsoft Exchange передает сведения базы данных в службу репликации Microsoft Exchange.

  13. Сведения базы данных перемещаются из службы репликации Microsoft Exchange исходного сервера в службу репликации Microsoft Exchange целевого сервера.

  14. Служба репликации Exchange Майкрософт на целевом сервере записывает копию базы данных во временный каталог, расположенный в главном каталоге базы данных под названием temp-seeding.

  15. Операция потоковой архивации на исходном сервере заканчивается, когда достигается конец базы данных.

  16. Операция записи завершается на целевом сервере, и база данных перемещается из каталога "temp-seeding" в конечное расположение. Каталог "temp-seeding" удаляется.

  17. Служба репликации Microsoft Exchange на целевом сервере предоставляет запрос службе поиска Microsoft Exchange на подключение каталога индексов содержимого к копии базы данных, если она существует. Если существуют файлы каталога предыдущей копии базы данных с истекшим сроком действия, происходит сбой операции подключения, что приводит к необходимости репликации каталога с исходного сервера. Подобным образом, если каталог отсутствует в новом экземпляре копии базы данных на целевом сервере, требуется создать копию каталога. Служба репликации Microsoft Exchange указывает службе поиска Microsoft Exchange приостановить индексирование копии базы данных, пока новый каталог копируется из источника.

  18. Служба репликации Microsoft Exchange на целевом сервере отправляет запрос на заполнение каталога службе репликации Microsoft Exchange на исходном сервере.

  19. На исходном сервере служба репликации Microsoft Exchange запрашивает сведения о каталоге из службы поиска Microsoft Exchange и отправляет запрос на приостановку индексации.

  20. Служба поиска Microsoft Exchange на исходном сервере возвращает сведения о каталоге из каталога поиска службе репликации Microsoft Exchange.

  21. Служба репликации Microsoft Exchange на исходном сервере считывает файлы каталога из каталога.

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

  23. Если в папке на целевом сервере существуют файлы каталога, служба репликации Microsoft Exchange на целевом сервере удалит их.

  24. Служба репликации Exchange Майкрософт на целевом сервере записывает данные каталога во временный каталог CiSeed.Temp до полного переноса данных.

  25. Служба репликации Microsoft Exchange перемещает все данные каталога в конечное местоположение.

  26. Служба репликации Microsoft Exchange на целевом сервере возобновляет индексацию поиска в целевой базе данных.

  27. Служба репликации Microsoft Exchange на целевом сервере возвращает уведомление о состоянии завершения.

  28. Конечный результат операции проходит в интерфейс администратора, в котором был запущен командлет.

Настройка копий базы данных

Просмотреть информацию о конфигурации копии базы данных можно на ее странице Свойства в Центре администрирования Exchange. Просмотреть и настроить параметры копии базы данных, такие как интервал задержки воспроизведения, интервал задержки усечения и приоритет активации, можно с помощью командлетов Get-MailboxDatabase и Set-MailboxDatabaseCopy в командной консоли Exchange. Подробные инструкции см. в статье Настройка свойств копии базы данных почтовых ящиков.

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

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

Время задержки преобразования

Интервал задержки воспроизведения — свойство копии базы данных почтовых ящиков, которое определяет интервал задержки воспроизведения журнала для копии базы данных (в минутах). Отсчет времени задержки воспроизведения начинается после репликации файла журнала в пассивную копию и успешного прохождения проверки. Задержка воспроизведения журналов в копию базы данных позволяет восстановить состояние базы данных в определенной точке времени в прошлом. Копия базы данных почтовых ящиков, для которой настроен интервал задержки воспроизведения больше 0, называется изолированной копией базы данных почтовых ящиков, или просто изолированной копией.

Стратегия, использующая копии баз данных и функции удержания судебного разбирательства в Exchange Server может обеспечить защиту от ряда сбоев, которые обычно приводят к потере данных. Тем не менее, эти функции не могут обеспечить защиту от потери данных в случае логического повреждения, которое может привести к потере данных (хотя и в редких случаях). Изолированные копии разработаны для предотвращения потери данных в случае логического повреждения. Как правило, существует два типа логического повреждения

  • Логическое развращение базы данных: страницы базы данных совпадают, но данные на страницах неправильно логически. Это происходит, когда расширенный обработчик хранилищ пытается записать страницу базы данных, и несмотря на то, что отображается сообщение об успешном завершении операции, данные либо вообще не записываются на диск, либо записываются в неправильном месте. Такая ситуация называется утерянной очисткой. Чтобы предотвратить потерю данных в результате утерянной очистки, расширенный обработчик хранилищ (ESE) добавляет в базу данных механизм определения утерянной очистки и функцию исправления страницы (восстановления одной страницы).

  • Хранение логической коррупции: данные добавляются, удаляются или манипулируют таким образом, что пользователь не ожидает. Такие случаи обычно вызваны сторонними приложениями. Это повреждение является повреждением только в том смысле, что оно является таковым для пользователя. Хранилище Exchange считает транзакцию, которая привела к логическому повреждению серией правильных операций MAPI. Функция хранения судебного разбирательства в Exchange Server обеспечивает защиту от логической коррупции магазина (так как она не позволяет постоянно удалять контент пользователем или приложением). Однако возможны сценарии, когда почтовый ящик пользователя становится настолько поврежденным, что легче будет восстановить базу данных на момент до повреждения, а затем экспортировать почтовый ящик пользователя, чтобы извлечь неповрежденные данные.

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

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

  • Существует настраиваемое администратором значение времени задержки преобразования, и по умолчанию оно отключено.

  • Для параметра времени задержки преобразования по умолчанию установлено значение 0 дней. Максимальное значение для этого параметра — 14 дней.

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

  • Чем больше время задержки преобразования, тем дольше длится процесс восстановления базы данных. В зависимости от количества файлов журнала, которые необходимо преобразовать во время восстановления, и скорости, с которой оборудование их преобразовывает, восстановление базы данных может занять несколько часов.

  • Рекомендуется определить, критично ли использование изолированных копий для общей стратегии аварийного восстановления. Если их использование является критичным, рекомендуется использовать несколько изолированных копий или использовать резервный массив независимых дисков (RAID) для защиты отдельной изолированной копии при отсутствии нескольких изолированных копий. При потере или повреждении диска отложенная во времени точка не будет потеряна.

  • Изолированные копии невозможно исправить с помощью функции восстановления одной страницы ESE. Если произойдет повреждение страницы базы данных (например, ошибка 1018), изолированную копию придется заполнить повторно (что приведет к потере изолированности копии).

Если вы хотите воспроизвести все файлы журнала и обновить копию базы данных, активировать и восстановить изолированную копию базы данных почтовых ящиков легко. Если вы хотите воспроизвести файлы журнала до определенного момента, задача становится сложнее, так как необходимо вручную управлять файлами журнала и запускать служебные программы Exchange Server (Eseutil.exe).

Подробные действия по активации забитой копии базы данных почтовых ящиков см. в обзоре Активируйте отстаемую копию базы данных почтовых ящиков.

Время задержки усечения

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

Копии базы данных и усечение журнала

Truncation журнала работает так же в Exchange 2016 и Exchange 2019, как и в Exchange 2010. Поведение усечения зависит от параметров времени задержки преобразования и времени задержки усечения копии.

Файл журнала копии базы данных должен соответствовать следующим критериям, если для параметров задержки установлено значение по умолчанию 0 (отключено).

  • Файл журнала должен иметь архив или циклическое ведение журнала должно быть включено.

  • Файл журнала должен находиться под контрольной точкой (минимальный файл журнала, необходимый для восстановления) для базы данных.

  • Для всех других изолированных копий необходимо выполнить проверку файла журнала.

  • Для всех других копий (неизолированных) необходимо воспроизвести файл журнала.

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

  • Файл журнала должен быть ниже контрольной точки для базы данных.

  • Время, прошедшее с момента создания файла журнала, должно превышать значение ReplayLagTime + TruncationLagTime.

  • Файл журнала должен быть усечен на активной копии.

В Exchange Server при приостановке одной или более пассивных копий в активной копии базы данных почтовых ящиков truncation журнала не происходит. Длительное плановое обслуживание может привести к накоплению значительного количества файлов журнала. Чтобы предотвратить заполнение диска журналами транзакций, можно удалить пассивную копию базы данных, а не приостанавливать ее. После планового обслуживания можно повторно добавить эту пассивную копию базы данных.

Exchange Server теперь есть функция под названием свободная truncation, отключенная по умолчанию. Во время обычных операций каждая копия базы данных хранит журналы, которые необходимо отправить в другие копии баз данных, пока все копии базы данных не подтвердят, что они переиграли (пассивные копии) или не получили (отстает копии) файлов журнала. Это поведение truncation журнала по умолчанию. Если копия базы данных по какой-либо причине отключена, файлы журналов начинают накапливаться на дисках, используемых другими копиями базы данных. Если затрагиваемая копия базы данных остается автономной в течение длительного периода времени, это может привести к тому, что другие копии баз данных не будут работать на диске.

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

  • Активная копия: самая старая пассивная копия базы данных (по дате воспроизведения журналов) игнорируется, усечение начинается со следующей самой старой пассивной копии. Глобальное усечение рассчитывается в активной копии базы данных.

  • Пассивная копия: если место заканчивается, она самостоятельно усекает свои файлы журналов, используя настроенные параметры, описанные ниже в таблице "Значение реестра". Пассивные копии пытаются учитывать решение об усечении, принятое для активной копии. Несмотря на свое имя (MinCopiesToProtect), Exchange будет игнорировать самую старую пассивную копию базы данных при запуске усечения.

Если ранее недоступная база данных снова станет доступной, в ней будут отсутствовать файлы журналов, удаленные из других исправных копий. Ее состояние будет отображаться как FailedAndSuspended (сбой и приостановка). В этом случае, если настроена функция автоматического повторного заполнения, поврежденная копия будет автоматически заполнена данными. Если эта функция не настроена, администратору придется заполнить копию базы данных вручную.

Если круговая лесозаготовка отключена, свободная truncation уважает резервные копии, если они были приняты, поэтому если журналы не были резервного копирования, они не будут удалены с помощью свободного Truncation.

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

Необходимое количество исправных копий, минимальный порог свободного дискового пространства и число журналов являются настраиваемыми параметрами. По умолчанию порог свободного дискового пространства составляет 204 800 МБ (200 ГБ). Число журналов составляет 100 000 (100 ГБ) для пассивных и 10 000 (10 ГБ) для активных копий.

Включение и настройка свободного усечения выполняется путем изменения реестра Windows для каждого участника группы DAG. Существует три настраиваемых значения реестра. Все они хранятся в разделе HKLM\Software\Microsoft\ExchangeServer\v15\BackupInformation. Указанные ниже значения DWORD не существуют по умолчанию, их нужно создать вручную. Значения реестра DWORD из раздела BackupInformation описаны в следующей таблице.

Значение реестра Description Значение по умолчанию
LooseTruncation_MinCopiesToProtect Этот раздел используется для включения свободного усечения. Он представляет собой количество пассивный копий, которые необходимо защитить от свободного усечения в активной копии базы данных. Если присвоить этому ключу значение 0, свободные усечения будут отключены. 0
LooseTruncation_MinDiskFreeSpaceThresholdInMB Пороговое значение доступного места на диске (в МБ) для запуска свободных усечений. Если количество свободного места на диске падает ниже этого значения, происходит запуск свободных усечений. Если этот параметр реестра не настроен, при свободном усечении используется параметр по умолчанию (200 ГБ).
LooseTruncation_MinLogsToProtect Минимальное количество файлов журналов, сохраняемых в работоспособных копиях, к которым применяется усечение. Если данный параметр реестра настроен, его значение применяется к активным и пассивным копиям. Если данный параметр реестра не настроен, используются значения по умолчанию (100 000 для пассивных копий базы данных и 10 000 для активных копий базы данных).

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

Политика активации базы данных

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

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

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

  • Если выполняется техническое обслуживание или обновление сервера.

В каждом из указанных выше сценариев копии базы данных не должны автоматически активироваться системой. Чтобы предотвратить автоматическую активацию копии базы данных почтовых ящиков, можно настроить блокирование (приостановку) активации копии. Это позволяет системе обслуживать текущую базу данных с помощью доставки журнала и преобразования, но предотвращает автоматическую активацию и использование копии. Администратор должен вручную активировать заблокированные для активации копии. Вы можете настроить политику активации базы данных для всего сервера с помощью комлета Set-MailboxServer или отдельной копии базы данных с помощью комлета Set-MailboxDatabaseCopy для настройки параметра DatabaseCopyAutoActivationPolicy для блокировки.

Дополнительные сведения о настройке политики активации базы данных см. в разделе Настройка политики активации для копии базы данных почтовых ящиков.

Влияние перемещения почтовых ящиков на непрерывную репликацию

В интенсивно используемой базе данных почтовых ящиков с высокой скоростью создания журналов вероятность потери данных выше, если репликация в пассивные копии базы данных не успевает за созданием журналов. Скорость создания журналов возрастает при перемещении почтовых ящиков. Exchange Server включает API гарантии данных, используемый такими службами, как служба репликации почтовых ящиков Exchange (MRS) для проверки состояния архитектуры копирования базы данных на основе значения параметра DataMoveReplicationConstraint, заданного системой или администратором. В частности, API Data Guarantee может использоваться для:

  • Проверка состояния репликации. Подтверждает наличие необходимого количества копий баз данных.

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

При выполнении API-интерфейса он возвращает следующие сведения о состоянии вызывающему приложению:

  • Retry. Означает, что существуют временные ошибки, которые препятствуют проверке состояния в базе данных.

  • Удовлетворено: означает, что база данных соответствует требованиям или база данных не реплицируется.

  • NotSatisfied: означает, что база данных не соответствует требованиям. Кроме того, вызывающему приложению предоставляется информация о причине возврата состояния NotSatisfied.

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

  • None. При создании базы данных почтовых ящиков это значение устанавливается по умолчанию. Если задано это значение, условия интерфейса Data Guarantee API игнорируются. Этот параметр следует использовать только для баз данных почтовых ящиков, которые не реплицируются.

  • SecondCopyЭто значение по умолчанию при добавлении второй копии базы данных почтовых ящиков. Если задано это значение, по крайней мере одна пассивная копия базы данных должна соответствовать условиям Data Guarantee API.

  • SecondDatacenter. Когда это значение заданной, по крайней мере одна пассивная копия базы данных на другом сайте Active Directory должна соответствовать условиям API гарантии данных.

  • AllDatacenters. Когда это значение заданной, по крайней мере одна пассивная копия базы данных на каждом сайте Active Directory должна соответствовать условиям API гарантии данных.

  • AllCopies. При этом значении все копии базы данных почтовых ящиков должны соответствовать условиям API гарантии данных.

Проверка работоспособности репликации

При выполнении Data Guarantee API для оценки работоспособности инфраструктуры копий баз данных, оцениваются несколько элементов.

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

  • быть работоспособной;

  • содержать очередь преобразования в течение 10 минут времени задержки преобразования;

  • использовать очередь копирования длиной не менее 10 журналов;

  • использовать среднюю очередь копирования длиной не менее 10 журналов. Средняя длина очереди копирования вычисляется на основе количества запросов состояния базы данных приложением.

Если параметр DataMoveReplicationConstraint задан... Затем для данной базы данных...
SecondCopy По крайней мере одна пассивная копия базы данных для реплицированной базы данных должна соответствовать описанным ранее условиям.
SecondDatacenter По крайней мере одна пассивная копия базы данных на другом сайте Active Directory должна соответствовать описанным ранее условиям.
AllDatacenters Активная копия должна быть установлена, а пассивная копия на каждом сайте Active Directory должна соответствовать описанным ранее условиям.
AllCopies Активная копия должна быть установлена, а все пассивные копии баз данных должны соответствовать описанным ранее условиям.

Проверка очистки репликации

Data Guarantee API также можно использовать для проверки того, что требуемое число копий базы данных преобразовали необходимые журналы транзакций. Это делается за счет сравнения метки времени последнего преобразованного журнала с меткой времени вызывающей службы (в большинстве случаев это метка времени последнего файла журнала, который содержит необходимые данные), плюс дополнительные пять секунд (для учета рассогласования системного времени). Если время воспроизведения превышает время фиксации, параметр DataMoveReplicationConstraint удовлетворен. Если время воспроизведения меньше времени фиксации, dataMoveReplicationConstraint не удовлетворяется.

Перед перемещением большого количества почтовых ящиков в базы данных репликации в DAG рекомендуется настроить параметр DataMoveReplicationConstraint в каждой базе данных почтовых ящиков в соответствии со следующими параметрами:

При развертывании... Установите DataMoveReplicationConstraint...
Базы данных почтовых ящиков, которые не имеют каких-либо копий базы данных None
Группа DAG на одном сайте Active Directory SecondCopy
Группа DAG в нескольких центрах обработки данных с использованием растянутого сайта Active Directory SecondCopy
Группа DAG, в которую входят два сайта Active Directory, на каждом сайте будут копии базы данных с высокой доступностью SecondDatacenter
Группа DAG, в которую входят два сайта Active Directory, на втором сайте будут только изолированные копии базы данных SecondCopy
Это связано с тем, что Data Guarantee API не гарантирует фиксирование данных до воспроизведения файла журнала в копии базы данных и вследствие природы изолированной копии базы данных это ограничение не позволит выполнить запрос на перемещение, если значение ReplayLagTime этой изолированной копии базы данных меньше 30 минут.
Группа DAG, в которую входят три или больше сайтов Active Directory, при этом каждый сайт будет содержать копии базы данных с высокой доступностью AllDatacenters

Балансировка копий баз данных

Следствием самой структуры групп обеспечения доступности баз данных (DAG) и результатом переключений базы данных и отработок отказа в них является то, что для активных копий базы данных почтовых ящиков узлы размещения будут меняться несколько раз в течение времени жизни группы DAG. В итоге, группы DAG становятся несбалансированными с точки зрения распределения активных копий базы данных почтовых ящиков. В следующей таблице приводится пример группы DAG, в которой имеются четыре базы данных с четырьмя копиями каждой из них (всего 16 баз данных на каждом сервере) с неравномерным распределением активных копий баз данных.

Группа DAG с несбалансированным распределением активных копий

Сервер Количество активных баз данных Количество пассивных баз данных Количество подключенных баз данных Количество отключенных баз данных Список для подсчета приоритетов
EX1 5 11 5 0 4, 4, 3, 5
EX2 1 15 1 0 1, 8, 6, 1
EX3 12 4 12 0 13, 2, 1, 0
EX4 1 15 1 0 1, 1, 5, 9

В предыдущем примере для каждой базы данных существует четыре копии, и поэтому возможно только четыре значения для приоритета активации (1, 2, 3 или 4). В столбце Список для подсчета приоритетов приводится подсчет числа баз данных с каждым из этих значений. Например, на сервере EX3 имеется 13 копий баз данных с приоритетом активации 1, две копии с приоритетом 2, одна копия с приоритетом 3 и ни одной копии с приоритетом 4.

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

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

В этом сценарии имеется два параметра для балансировки активных копий баз данных в группе DAG.

  • BalanceDbsByActivationPreference. При указании этого параметра сценарий пытается переместить базы данных в наиболее предпочтительный экземпляр (на основе предпочтений активации) без связи с сайтом Active Directory.

  • BalanceDbsBySiteAndActivationPreference: При указании этого параметра скрипт пытается переместить активные базы данных в наиболее предпочтительный экземпляр, а также пытается сбалансировать активные базы данных на каждом сайте Active Directory.

После запуска сценария с первым параметром предыдущая несбалансированная группа DAG становится сбалансированной, как показано в следующей таблице.

Группа DAG со сбалансированным распределением активных копий

Сервер Количество активных баз данных Количество пассивных баз данных Количество подключенных баз данных Количество отключенных баз данных Список для подсчета приоритетов
EX1 4 12 4 0 4, 4, 4, 4
EX2 4 12 4 0 4, 4, 4, 4
EX3 4 12 4 0 4, 4, 4, 4
EX4 4 12 4 0 4, 4, 4, 4

Как показано выше, эта группа DAG теперь сбалансирована с точки зрения количества активных и пассивных баз данных на каждом сервере и приоритетов активации по серверам.

В следующей таблице перечислены параметры скрипта RedistributeActiveDatabases.ps1.

Параметры сценария RedistributeActiveDatabases.ps1

Параметр Описание
DagName Указывает имя группы DAG, которую необходимо сбалансировать. Если этот параметр не указан, будет использоваться та группа обеспечения доступности баз данных, членом которой является данный локальный сервер.
BalanceDbsByActivationPreference Указывает, что согласно сценарию базы данных должны перемещаться в их наиболее предпочтительную копию безотносительно сайта Active Directory.
BalanceDbsBySiteAndActivationPreference При указании этого параметра в сценарии производится попытка переместить активные базы данных в их наиболее предпочтительную копию, а также сбалансировать активные базы данных в пределах каждого сайта Active Directory.
ShowFinalDatabaseDistribution Указывает, что отчет по распределению текущей базы данных должен отображаться после перераспределения.
AllowedDeviationFromMeanPercentage Указывает допустимую вариацию активных баз данных по сайтам, выраженную в процентах. Значение по умолчанию — 20 %. Например, если между тремя сайтами было распределено 99 баз данных, то идеальным распределением будет по 33 базы данных на каждом сайте. Если допустимое отклонение составляет 20 %, то при выполнении сценария будет производиться попытка сбалансировать базы данных таким образом, чтобы количество баз данных на каждом сайте отклонялось не более чем на 10 % в ту или другую сторону от этого значения. 10 % от 33 составляют 3,3, это значение можно округлить до 4. Следовательно, в результате выполнения сценария на каждом сайте будет от 29 до 37 баз данных.
ShowDatabaseCurrentActives Указывает, что в сценарии необходимо создать отчет для каждой базы данных с подробными сведениями о том, как перемещалась база данных и является ли она теперь активной в своей наиболее предпочтительной копии.
ShowDatabaseDistributionByServer Указывает, что в сценарии необходимо создать отчет для каждого сервера со сведениями о распределении базы данных на нем.
RunOnlyOnPAM Указывает, что сценарий должен выполняться только для того члена группы DAG, который имеет роль диспетчера PAM. В сценарии в таком случае проверяется, происходит ли его запуск из диспетчера PAM. Если это условие не выполнено, то происходит выход из сценария.
LogEvents Указывает, что в процессе выполнения сценария необходимо внести в журнал событие 4115 (MsExchangeRepl) со сводкой по действиям.
IncludeNonReplicatedDatabases Указывает, что в сценарий во время определения способа перераспределения активных баз данных необходимо включить нереплицированные базы данных (базы данных без копий). Несмотря на то что нереплицированные базы данных перемещать невозможно, они могут влиять на распределение реплицированных баз данных.
Confirm Переключатель Confirm можно использовать для отключения запросов на подтверждение, которые отображаются по умолчанию при запуске этого скрипта. Чтобы отключить запросы на подтверждение, используйте синтаксис -Confirm:$False. В синтаксисе необходимо использовать двоеточие ( : ).

Примеры RedistributeActiveDatabases.ps1

В этом примере показано распределение текущей базы данных для группы DAG, в том числе список для подсчета приоритетов.

RedistributeActiveDatabases.ps1 -DagName DAG1 -ShowDatabaseDistributionByServer | Format-Table

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

RedistributeActiveDatabases.ps1 -DagName DAG1 -BalanceDbsByActivationPreference -Confirm:$False

В этом примере выполняется перераспределение и балансировка активных копий базы данных почтовых ящиков в группе DAG с учетом приоритетов активации, а также формируется сводка по процессу распределения.

RedistributeActiveDatabases.ps1 -DagName DAG1 -BalanceDbsByActivationPreference -ShowFinalDatabaseDistribution

Копии базы данных мониторинга

Сведения о копии базы данных, в том числе длину очереди копирования, длину очереди воспроизведения, статус и информацию о состоянии индекса контента, можно просмотреть в Центре администрирования Exchange. Информацию о состоянии копии базы данных также можно просмотреть с помощью командлета Get-MailboxDatabaseCopyStatus в командной консоли Exchange.

Примечание

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

Дополнительные сведения о копиях баз данных мониторинга см. в группе Мониторинга доступности баз данных.

Удаление копии базы данных

Копию базы данных можно удалить в любой момент с помощью Центра администрирования Exchange или командлета Remove-MailboxDatabaseCopy в командной консоли Exchange. После удаления копии базы данных необходимо вручную удалить все файлы журнала базы данных и транзакций на сервере, с которого удалена база данных. Подробные инструкции см. в статье Удаление копии базы данных почтовых ящиков.

Переключения базы данных.

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

Чтобы быстро определить, какой сервер является главным для базы данных почтовых ящиков, просмотрите правый столбец на вкладке Копии базы данных в Центре администрирования Exchange. Переключение можно выполнить с помощью ссылки Активировать в Центре администрирования Exchange или с помощью командлета Move-ActiveMailboxDatabase в командной консоли Exchange.

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

  • Проверяется состояние копии базы данных. Если копия базы данных повреждена, переключение будет заблокировано. Вы можете переопрещать это поведение и обойти проверку состояния, используя параметр SkipHealthChecks из cmdlet Move-ActiveMailboxDatabase . Этот параметр позволяет переместить активную копию в поврежденную копию базы данных.

  • Проверяется, является ли активная копия базы данных источником заполнения каких-либо пассивных копий базы данных. Если активная копия в данный момент используется как источник для заполнения, переключение блокируется. Вы можете переопрещать это поведение и обойти проверку источника посева с помощью параметра SkipActiveCopyChecks из cmdlet Move-ActiveMailboxDatabase . Этот параметр позволяет переместить активную копию, используемую как источник заполнения. При применении этого параметра заполнение будет отменено и будет считаться неудачным.

  • Выполняется проверка значений длины очереди копирования и очереди преобразования копии базы данных на нахождение в пределах заданных критериев. Также выполняется проверка того, используется ли копия базы данных в качестве источника для заполнения. Если значения длины очередей не соответствуют заданным критериям или база данных является источником заполнения, переключение будет заблокировано. Вы можете переопрещать это поведение и обойти эти проверки с помощью параметра SkipLagChecks в cmdlet Move-ActiveMailboxDatabase . Этот параметр позволяет активировать копии, которые имеют значения очередей преобразования и копирования за пределами настроенных критериев.

  • Выполняется проверка состояния каталога поиска (индексов содержимого) для копии базы данных. Если каталог поиска устарел, неисправен или поврежден, переключение будет заблокировано. Вы можете переопределять это поведение и обойти проверку каталога поиска с помощью параметра SkipClientExperienceChecks из cmdlet Move-ActiveMailboxDatabase . Этот параметр позволяет пропустить проверку работоспособности каталога поиска. Если каталог поиска для активируемой копии базы данных неисправен или нестабилен, и этот параметр используется для пропуска проверки работоспособности каталога и активации копии базы данных, необходимо повторно сканировать или заполнить каталог поиска.

When you perform a database switchover, you also have the option of overriding the mount dial settings configured for the server that hosts the passive database copy being activated. С помощью параметра MountDialOverride в cmdlet Move-ActiveMailboxDatabase целевой сервер предписывает целевому серверу переопрещать собственные параметры набора набора и использовать те параметры, которые указаны параметром MountDialOverride .

Дополнительные сведения о переключении копии базы данных см. в разделе Активация копии базы данных почтовых ящиков.