Проблемы с конфигурированием Safety Net в Exchange 2013

В Exchange 2007 существовал механизм. В случае, когда активная копия аварийно завершала работу и активировалась пассивная копия. В этом случае, совсем небольшую часть данных, необходимых пассивной копии, служба транспорта могла «передоставить». Назывался этот механизм – Transport Dumpster.



После некоторых улучшений в Exchange 2010, transport dumpster эволюционировал и в Exchange 2013 получил название Safety Net.

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

Итак, основные параметры, которые так или иначе влияют на функционал Safety Net:

Parameter

Default

Description

SafetyNetHoldTime в командлете Set-TransportConfig

2 дня

Время, на протяжении которого успешно обработанное письмо хранится в Primary и Shadow Safety Net.

ReplayLagTime в командлете Set-MailboxDatabaseCopy

не настроено

Для того, чтобы избежать потери данных, необходимо, чтобы значение в параметре ReplayLagTime было меньше или равно значению параметра SafetyNetHoldTime

MessageExpirationTimeout в комадлете Set-TransportService

2 дня

Неподтвержденные теневые письма удаляются из Shadow Safety Net по истечении срока SafetyNetHoldTime + MessageExpirationTimeout

ShadowRedundancyEnabled в командлете Set-TransportConfig

$true

Для Shadow Safety Net необходимо, чтобы Shadow Redundancy было включено

Все это замечательно работает. Проблема началась с появления роли Edge в Exchange 2013 SP1.

Вся прелесть заключается в том, что изначально Edge роль просто «склонирвали» с MBX роли, чуть-чуть изменив ее. Это привело к тому, что роль Edge получила компонент Safety Net, который ей совершенно не нужен.

В чем же проблема? Представьте такую архитектуру: 10 MBX+CAS и 2 Edge сервера. Со значением по умолчанию (2 дня) для Safety Net, все письма за последние 2 дня будут храниться практически равномерно на всех 10 MBX серверах. При этом, все входящие и исходящие письма в организации будут храниться всего лишь на 2 Edge серверах, причем эти же письма так же будут храниться на 10 MBX серверах. Налицо избыточность — получаются довольно большие объемы хранимой почты на Edge, что приводит к очень большому размеру транспортной базы (mail.que).

Проблема #1

С момента появления Edge роли значение параметра SafetyNetHoldTime было выставлено в 7 дней без возможности изменения. Да, изменить это значение нельзя было вообще. Ни вручную через командлет Set-TransportConfig, ни даже через ADSIEdit. Exchange просто игнорировал новое значение.

Решили эту проблему в CU5 (если не ошибаюсь) возможностью через .config файл добавить требуемое значение (Safety Net hold time settings are not synced to Exchange Server 2013 Edge Transport server).

Проблема #2

Значение параметра SafetyNetHoldTime, установленное в организации, не реплицировалось на Edge сервера.

Решили эту проблему (возможно в CU8, но проверял только в CU10) возможностью установить значение параметра на Edge сервере. Ранее при попытке это сделать, появлялась ошибка с примерным текстом «этот сервер синхронизируется с серверами в организации, поэтому TransportConfig изменить нельзя. Меняйте это значение на MBX серверах организации».

Проблема #3

Минимально возможное значение для параметра SafetyNetHoldTime – 2 дня. Максимальное – 10 дней. Если количество входящей и исходящей почты в организации довольно большое, то и 2 дня является очень большим сроком для ненужного хранения, т.к. Edge серверам обычно не выделяют больших дисковых ресурсов.

Решили эту проблему только в CU8. Теперь минимальное значение можно выставить в 15 минут секунд (ура!), а максимальное – 24855 дней (оптимисты :)).

Дополнительные шаги

Update 26.11.2015: Если вы ранее вносили изменение через .config файл (KB3019650), то необходимо обязательно удалить эту строку со значением.

  1. Устанавливаем требуемое значение на Edge сервере


  2. Останавливаем службу транспорта
  3. Удаляем папку с транспортной базой (обычно это папка «C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\Queue«)
  4. Запускаем службу транспорта
  5. Радуемся маленьким объемом почтовой базы mail.que :)


Читайте также:

Добавить комментарий