Workaround: Exchange 2013 Edge SafetyNet bug

Всем привет!

Недавно я писал  о баге, который существует в Edge роли нового Exchange 2013 (link). На днях мне стал известен способ, с помощью которого можно временно исправить этот баг и спокойно ждать пока его не исправят разработчики.




Update 04.12.2014: Вышел KB описывающий данный баг и его временное решение: Safety Net hold time settings are not synced to Exchange Server 2013 Edge Transport server

Update 06.11.2014: для параметра SafetyNetHoldTimeInterval минимальное значение 2 дня, а максимальное – 10 дней. Значения, не попадающие в этот интервал, будут игнорироваться, что приведет опять к стандартному значению в 7 дней.


Напомню, что в Exchange 2007 появился механизм, называемый transport dumpster. Получив некоторые улучшения в Exchange 2010, этот механизм в Exchange 2013 эволюционировал и получил название Safety Net. Одно из основных отличий Safety Net от transport dumpster – это то, что Safety Net позволяет хранить копии сообщений заданное количество времени, в то время как transport dumpster позволял лишь задать общий объем хранимых копий. По умолчанию, время хранения копий писем в Safety Net – 2 дня.

Первое, на что нужно обратить внимание – это то, где Safety Net хранит копии писем. Хранит он их в транспортной базе, т.е. в файле mail.que. Ввиду того, что в Exchange 2013 поменялась архитектура ролей, транспортная база со всеми очередями (транспортными очередями, shadow queue и т.д.) теперь располагается только на сервере с ролью Mailbox.

Второе. В Exchange 2013 SP1 была возвращена третья роль – Edge Role, за основу которой была взята роль Mailbox, т.к. необходимый транспортный функционал остался только у Mailbox роли. Вместе с остальными транспортными функциями, Edge роли достался и Safety Net.

Основной параметр для Safety Net – SafetyNetHoldTime. Задается он на уровне организации:

[PS] C:\>Get-TransportConfig | fl *safetynet*

SafetyNetHoldTime : 2.00:00:00

В Active Directory он хранится в разделе Configuration по следующему пути “CN=Transport Settings,CN=CU6Lab,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=CU6,DC=Lab”:

image


И баг в Safety Net для Edge роли заключался в том, что ни через “Set-TransportConfig -SafetyNetHoldTime 2.00:00:00”, ни через ADSIEdit изменить стандартное значение никак нельзя. При этом, по какой-то причине, стандартное значение для SafetyNetHoldTime для Edge роли равно 7 дней. Это означает, что весь поток почты, проходящий через Edge сервер, будет сохраняться 7 дней.


Workaround

Для сокращения количества дней, которое письма будут храниться в Safety Net для Edge роли, необходимо в файл конфигурации транспортной роли добавить следующую строку в раздел “<appSettings>” (этим мы указываем значение для параметра SafetyNetHoldTime 2 дня):

File: %ExchangeInstallPath%Bin\EdgeTransport.exe.config

<add key="SafetyNetHoldTimeInterval" value="2.00:00:00" />

После добавления этой строки, необходимо перезапустить службу транспорта:

Restart-Service MSExchangeTransport


!!! Важное замечание: Get-TransportConfig все равно продолжит показывать значение 7 дней для этого параметра, хотя реальное значение и будет другим.




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

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