Offline Address Book in Exchange 2013 CU7 (shadow distribution)

Всем привет!

Автономная адресная книга (Offline Address Book, OAB). В ближайшем обновлении (CU7) будет очередное изменение работы механизма генрации и распространения OAB. Первый раз механизм изменился в Exchange 2013 RTM (OAB in Exchange Server 2013), затем механизм изменился в Exchange 2013 CU5 (OAB Improvements in Exchange 2013 Cumulative Update 5), и вот грядет очередное изменение.




Перевод статьи: OAB Improvements in Exchange 2013 Cumulative Update 7


Рассмотрим такой сценарий: некто Scott Schnoll преспокойно работал себе в Редмонде и, конечно же, его почтовый ящик находился на сервере в этом же городе. По служебной надобности, Скоту потребовалось переехать в офис в Портленде на ближайшие 6 месяцев.

Для поддержания актуальности адресной книги, Outlook каждые 24 часа пытается загрузить все изменения в OAB. Для этого Outlook подключается к CAS серверам в Редмонде, которые проксируют этот запрос к Mailbox серверу, где располагается системный почтовый ящик, отвечающий за генерацию Redmond OAB (эта автономная адресная книга назначена почтовой базе, где располагается почтовый ящик Скота).

Скачивать файлы OAB через Интернет совсем не оптимальное решение. Самое очевидное решение, которое может принять администратор почтовой системы, это назначить почтовому ящику Скота автономную адресную книгу с серверов в Портленде (или переместив его почтовый ящик на сервера с Портленде, или используя командлет Set-Mailbox назначить ему Portland OAB). Однако это приведет к тому, что Outlook придется закачать всю OAB заново.

image


Shadow Distribution в CU7

В Exchange 2013 CU7 появилась возможность хранить в ящике, который занимается генерацией OAB, теневую копию (shadow copy) другой OAB. По умолчанию, эта возможность отключена и настраивается отдельно для каждой OAB.

Вернемся обратно к сценарию. Предположим, что shadow distribution было включено для Redmond OAB. Outlook Скота, используя ответ от службы Autodiscover серверов CAS в Портленде (который на самом деле генерируется Mailbox сервером в сайте Redmond, т.к. ящик Скота находится в этом сайте), теперь запрашивает Redmond OAB, используя url серверов CAS, находящихся в Портленде (https://pmail.contoso.com/oab/redmond_oab_guid/). Это становится возможно благодаря тому, что служба Autodiscover использует значение X-SourceCafeHeader, указанное в HTTP запросе. Первая попытка скачать эту OAB будет всегда неудачной, т.к. файлов Redmond OAB еще не будет на Mailbox серверах в Портленде (это сервер POR-MBX-02, где располагается почтовый ящик, генерирующий OAB). Сразу после первого такого запроса, компонент OABRequestHandler инициирует асинхронную передачу файло Redmond OAB на сервера Mailbox в Портленде (для передачи файлов будет использоваться служба BITS). В итоге, при следующей попытке Outlook Скота успешно скачает Redmond OAB с Mailbox серверов в Портленде.

image


Как включить shadow distribution?

Служба Autodiscover до сих пор использует значения параметров GlobalWebDistributionEnabled и VirtualDirectories, чтобы определить, какие виртуальные директории CAS подходят для распространения OAB. В новой архитектуре Exchange 2013, любой CAS сервер может проксировать запрос к OAB в нужном направлении, так что при установке CU7 рекомендуется включить параметр GlobalWebDistributionEnabled для всех OAB, находящихся на Exchange 2013.

Set-OfflineAddressBook <E15OAB> -VirtualDirectories $null
Set-OfflineAddressBook <E15OAB> -GlobalWebDistributionEnabled $true


Перед тем как включать shadow distribution, необходимо создать отдельный почтовый ящик для генерации OAB в каждом сайте Active Directory, где будут установлены сервера Exchange 2013.

New-Mailbox -Arbitration -Name "OAB Mailbox 3" -Database DB4 -UserPrincipalName oabmbx3@contoso.com –DisplayName "OAB Mailbox 3"
Set-Mailbox "OAB Mailbox 3" –Arbitration –OABGen $true


После того, как будет включен параметр GlobalWebDistributionEnabled, можно будет включать shadow distribution для каждой OAB:

Set-OfflineAddressBook "Redmond OAB" -ShadowMailboxDistributionEnabled $true


Приводит ли использование теневой копии OAB к скачиванию всей OAB?

Как упоминалось в статье OAB Improvements in Exchange 2013 Cumulative Update 5, основной причиной наличия только одного почтового ящика, который генерирует OAB, это тот факт, что OAB будет уникальна во всей организации. До установки обновления CU5, все почтовые ящики, генерирующие OAB, создавали свою собственную, уникальную OAB, что приводило к тому, что клиент каждый раз скачивал OAB полностью, т.к. Outlook считал, что это разные автономные адресные книги.

Теневая копия OAB копируется на другие CAS сервера только по запросу и представляет собой точную копию OAB, которая была сгенерирована на исходном (“master”) сервере. Это и позволяет избежать постоянного скачивания всей OAB.


Как обновляется теневая копия OAB?

Во время, когда исходной Mailbox сервер генерирует новую версию OAB, все остальные Mailbox сервера с теневыми копиями этой OAB перестают выдавать клиентам “устаревшую” копию. В тоже время, когда первый клиент запросит OAB, новая версия будет скопирована с исходного Mailbox сервера. Что опять же приведет к ошибке у этого первого клиента.


Что будет, если включить shadow distribution и в сайте клиента не окажется почтового ящика, генерирующего OAB?

Когда включено shadow distribution, служба Autodiscover возвращает OAB url для сайта, в котором находится клиент в момент запроса OAB. Если в этом сайте не будет почтового ящика, генерирующего OAB (любую OAB), то CAS сервер просто спроксирует запрос обратно на исходной Mailbox сервер.



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

1 комментарий

  1. 10.12.2014

    […] Изменения в механизме распространения OAB (Offline Address Book in Exchange 2013 CU7 (shadow distribution)) […]

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