On-Premises Legacy Public Folder Coexistence for Exchange 2013 Cumulative Update 7 and Beyond (перевод)

Всем привет!

В Exchange 2013 CU5 команда Exchange начала внедрять изменения в механизм обнаружения конечной точки подключения к старым общим папкам (Legacy Public Folder), который будет использоваться Outlook в будущем. Эта работа проводилась не затрагивая другие механизмы и будет готова к выходу CU7. Эти изменения очень важны для организаций, где Exchange установлен в режиме сосуществования и процесс миграции еще полностью не закончен. Например, когда часть или все почтовые ящики уже находятся на Exchange 2013, а общие папки все еще располагаются на Exchange 2007 или Exchange 2010.


Перевод статьи: On-Premises Legacy Public Folder Coexistence for Exchange 2013 Cumulative Update 7 and Beyond


До CU7 все Outlook клиенты, почтовые ящики которых находились на сервере Exchange 2013, проксировались на сервер Exchange 2007 или Exchange 2010, используя протоколы RPC/TCP (обычный MAPI) или RPC/HTTP (RPC-over-HTTP, Outlook Anywhere) в зависимости от расположения клиента, модели подключения и настроек на сервере Exchange 2007 или Exchange 2010.

С появлением нового протокола MAPI/HTTP в Exchange 2013 SP1, команда разработчиков обнаружила проблему, когда клиенты, переведенные на MAPI/HTTP, не всегда могли получить доступ к старым общим папкам. После анализа этой проблемы разработчики поняли, что комбинация кода RPC Client Access и кода, который использует Outlook, приводит к тому, что клиент в определенных случаях перенаправляется (а не проксируется) в хранилище старых общих папок. Что не есть хорошо: Exchange и Outlook должны использовать один путь для подключения к почтовому ящику и общим папкам. И этот путь – использование Autodiscover.

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


Как настроить (вкратце)?

Все шаги по настройке нового метода были опубликованы в этой статье из библиотеки: Configure legacy public folders where user mailboxes are on Exchange 2013 servers

Для настройки нового метода используются следующие 2 командлета (их рекомендуется выполнить до установки CU7), после выполнения которых Outlook будет получать необходимую информацию для правильного нахождения старых общих папок:

  • с помощью командлета Set-OrganizationConfig и параметра RemotePublicFolderMailboxes необходимо задать ящик/ящики обнаружения старых общих папок (discovery mailbox)
  • с помощью командлета Set-OrganizationConfig изменить значение параметра PublicFoldersEnabled с Local на Remote

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

<PublicFolderInformation>
<SmtpAddress>PFDiscovery-001@contoso.com</SmtpAddress>
</PublicFolderInformation>

Получив эту информацию, Outlook выполняет следующий запрос к службе Autodiscover, используя полученный SMTP адрес. Это адрес “почтового ящика обнаружения” старых общих папок (legacy Public Folder discovery mailbox), который находится на том же сервере Exchange 2007 или Exchange 2010, где располагается база общих папок. В приведенном выше примере, Outlook совершает запрос к службе Autodicover с указанием адреса PFDiscovery-001@contoso.com, с целью найти точку подключения (RPC или RPC/HTTP), к которой будет подключаться. Outlook не пытается подключиться к этому ящику и не будет использовать этот ящик для доступа к содержимому старых общих папок.

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


Как настроить (полная версия, с картинками)?

Пройдем весь путь настройки организации Exchange 2013 в случае сосуществования со старыми общими папками, расположенными на Exchange 2010 (для Exchange 2007 инструкция практически идентичная и ее можно найти здесь: Configure legacy public folders where user mailboxes are on Exchange 2013 servers).

  1. Определите базу общих папок, доступ к которой вы планируете предоставить пользователям. Сделать это можно, взглянув на параметр PublicFolderDatabase у почтовых баз Exchange 2013. image
  2. Установите CAS роль на сервер Exchange 2010, где располагается эта база общих папок (если эта роль не установлена). Добавление CAS роли нужно для того, чтобы была правильно сформирована ссылка на папку, которая не имеет локальную копию в выбранной базе общих папок. Если выбранная база общих папок находится на сервере с установленными CAS и Mailbox ролями, то пропустите этот шаг и переходите к шагу №3.

  3. После установки CAS роли, если необходимо, проведите настройку так, как вы делаете это для любого другого CAS сервера в этом AD сайте (например пути к виртуальным директориям и др.), чтобы служба Autodiscover не возвращала клиентам стандартные значения для виртуальных директорий. При этом, добавлять эту CAS роль в отказоустойчивый массив (Windows NLB, DNS round robin и т.д.) – не обязательно. Если роль CAS уже установлена и настроена на данном сервере, можно пропустить шаг №3.

  4. Создайте пустую почтовую базу на сервере, где располагается база общих папок. Если этот сервер в ходит в состав DAG, то создавать копии этой новой почтовой базы не нужно. Если вы не можете создать новую почтовую базу, т.к. вы используете Exchange Server Standard Edition, то вы можете использовать уже существующую.

  5. Пропустите этот шаг, если вы будете использовать уже существующую почтовую базу. Используя командлет Set-MailboxDatabase, исключите эту базу из автоматического распределения почтовых ящиков. Для этого задайте параметру IsExcludedFromProvisioning значение $True.

  6. Пропустите этот шаг, если вы будете использовать уже существующую почтовую базу. Используя командлет Set-MailboxDatabase, задайте параметру RPCClientAccessServer значение равное FQDN сервера, где располагается база общих папок, к которой будет предоставляться доступ. Обратите внимание, что значение из параметра RCPClientAccessServer используется только для RCP/TCP подключений (обычный MAPI), что не требует дополнительного имени в SSL сертификате, т.к. HTTPS здесь не используется (объяснение этого факта можно найти здесь в пункте №3: Demystifying the CAS Array Object — Part 1).

  7. Создайте новый почтовый ящик в пустой почтовой базе, которую вы только что создали на сервере, где находится база общих папок. Этот почтовый ящик будет называться “ящик обнаружения общих папок”. Этот почтовый ящик будет использоваться только для получения настроек подключения от службы Autodiscover. Назвать этот ящик можно, например, PFDiscovery-<ServerName> или PFDiscovery-<###>, чтобы в дальнейшем было удобно найти его и понять для чего используется этот ящик. Этот почтовый ящик должен иметь SMTP адрес, который будет использоваться службой Autodiscovery внутри и снаружи организации. Ниже показан такой почтовый ящик и его SMTP адрес:image
  8. С помощью командлета Set-Mailbox нужно скрыть этот почтовый ящик из адресных листов, используя параметр HiddenFromAddressListsEnabled:image
  9. Повторите шаги 1-8 для создания дополнительных ящиков обнаружения, если вы хотите распределить между несколькими базами общих папок.

  10. Перед выполнением следующих двух команд, взглянем на текущие значения параметров организации:image
  11. С помощью командлета Set-OrganizationConfig и параметра RemotePublicFolderMailboxes необходимо задать ящик/ящики обнаружения старых общих папок (discovery mailbox)

  12. С помощью командлета Set-OrganizationConfig изменить значение параметра PublicFoldersEnabled с Local на RemoteimageЕсли вам нужно добавить несколько ящиков обнаружения, используйте нижеприведенный формат команды
    Set-OrganizationConfig -RemotePublicFolderMailboxes "PFDiscovery-001", "PFDiscovery-002"

    После внесения изменений необходимо проверить эти изменения:
    image

  13. После настройки этих двух параметров и спустя некоторое время, когда истекут некоторые кешированные данные, вы сможете проверить ответ от службы Autodiscover, которая теперь будет дополнительно возвращать раздел <PublicFolderInformation>:image
  14. Если вы запустите какой-нибудь HTTP снифер, то вы сможете периодически видеть еще один запрос и ответ службы Autodiscover для почтового ящика PFDiscovery-010@corp.contoso.com. Так Outlook понимает как и куда подключаться для доступа к общим папкам:image
  15. Проверим через Outlook подключение к старым общим папкам. Ниже приведены примеры, когда почтовый ящик подключается через MAPI/HTTP, а общие папки подключаются через RPC/HTTP или RPC/TCP. В этом примере сервер Exchange 2010 с именем CON-E2K10-002 хранит базу общих папок PFDB. Используется эта база общих папок потому, что именно она назначена для пользователей с Exchange 2013. Если вы еще не используете MAPI/HTTP, то на нижеприведенных скриншотах в столбце “Protocol” будет “RPC/TCP” вместо “HTTP”.

    MAPI/HTTP для основного ящика и RPC/HTTP для старых общих папок
    imageMAPI/HTTP для основного ящика и RPC/TCP для старых общих папок
    image


FAQ

Вопрос: Мы используем Exchange 2013 SP1 (или ранее) и планируем обновиться до CU7. Наши Exchange 2013 пользователи имеют доступ к общим папкам без каких-либо проблем. Значит ли это, что после установки CU7 они потеряют этот доступ?

Ответ: В CU7 механиз построен таким образом, что новый способ доступа к старым общим папкам задействуется только в том случае, когда параметр RemotePublicFolderMailboxes не пустой и параметр PublicFoldersEnabled имеет значение “Remote”. Для перехода к новому механизму доступа необходимо произвести указанные выше шаги, что необходимо сделать, т.к. в последующих обновлениях старый механизм доступа будет выключен.


Вопрос: Нужно ли включать Outlook Anywhere на серверах Exchange 2007/2010 для работы нового механизма, если в организации Outlook Anywhere не используется вообще?

Ответ: Нет. Если Outlook Anywhere выключен на серверах Exchange 2007/2010, то служба Autodiscover будет говорить, чтобы Outlook использовал протокол RPC (из провайдера EXCH), а не протокол RCP/HTTP (из провайдера EXPR).


Вопрос: Требуется ли какая-то определенная версия Outlook для работы нового механизма?

Ответ: Главное правило, которое мы рекомендуем: всегда иметь последние обновления ServicePack и PublicUpdate. Для работы нового механизма требуется Outlook 2010 или Outlook 2013. Последние обновления для Outlook можно посмотреть здесь: Outlook Updates


Вопрос: Как Exchange 2013 выбирает какой ящик обнаружения общих папок (remote discovery public folder mailbox) вернуть клиенту, если в параметре RemotePublicFolderMailboxes указано более одного ящика? Случайным образом, round robin или проверка доступности?

Ответ: По умолчанию Exchange смотрит на хэш пользователя, выполнившего запрос к службе Autodiscover и выбирает запись из массива ящиков из параметра RemotePublicFolderMailboxes или использует значение параметра DefaultPublicFolderMailbox ящика пользователя. Какого-то определенного алгоритма выбора общих папок на основе расположения пользователя нету (я думаю, ответ все-таки – “случайным образом”).


Вопрос: проверяет ли Exchange 2013 доступность сервера, где находится ящик обнаружения общих папок перед тем, как клиент попробует получить настройки подключения через службу Autodiscover?

Ответ: Нет.


Вопрос: Сколько старых баз общих папок мне нужно?

Ответ: Руководство по масштабируемости общих папок для Exchange 2007/2010 рекомендует иметь не более 10000 (10к) активных клиентских подключений к одной базе общих папок. Это начальная рекомендация. В зависимости от нагрузок на ваши почтовые сервера, количество баз общих папок может больше или меньше.


Вопрос: Сколько ящиков обнаружения мне нужно?

Ответ: На данный момент мы предлагаем иметь 1 ящик обнаружения на каждую базу общих папок.


Вопрос: Как мне контролировать к какой конкретной базе общих папок будет подключаться пользователь в первую очередь?

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

Выполнение командлета Set-MailboxDatabase с параметром “PublicFolderDatabase” завершится с предупреждением о том, что параметр “PublicFolderDatabase” более не поддерживается, но результат выполнения командлета будет тот, который и нужен для режима сосуществования.


Использование базы общих папок с Exchange 2007

Set-MailboxDatabase <2013DatabaseName> -PublicFolderDatabase <2007ServerName>\<Storage GroupName>\<PFDatabaseName>

image

Использование базы общих папок с Exchange 2010

Set-MailboxDatabase <2013DatabaseName> -PublicFolderDatabase <2010PFDatabaseName>

image


Вопрос: действительно ли мне нужно для каждого Mailbox сервера Exchange 2010, хранящего базу общих папок, доустанавливать роль CAS и создавать новую почтовую базу?

Ответ: На данный момент, да. Но мы рассматриваем другие варианты для улучшения и, вероятно, упрощения настройки режима сосуществования.




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

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