Перенос Общих Папок (Public Folders) на сервер Exchange 2013: on-prem > on-prem

Рассмотрим на практике процедуру переноса Общих Папок на сервер Exchange 2013 в локальной среде.

1. Теория

Архитектура Общих Папок в Exchange 2013 изменилась. Теперь вместо базы данных PF используются специальные почтовые ящики PF. Копия иерархии дерева Общих Папок хранится во всех PF mailboxes, но только в одном (первом) ящике она изменяемая. Данные же хранятся в этом же или дополнительных ящиках PF. Такая архитектура делает возможным включать ящики Общих Папок в DAG для обеспечения высокой доступности. И никакой больше “репликации”!

image

А для клиентов Outlook (и OWA) ничего (ну или почти ничего) не изменится. То же иерархическое дерево, те же принципы работы.

Подробности можно почитать тут (англ.яз.). и тут (рус.яз.). Ещё: здесь (англ.)

Различия в архитектурах PF между ES 2013 и предыдущих версий ES накладывают некоторые ограничения на использование Новых Общих Папок (работающих на ES 2013). Например, Новые Общие Папки никак не связаны со старой иерархией. И администратор, у которого используются и серверы Exchange 2010, и серверы ES 2013, должен сам решить, какое дерево Общих Папок использовать – новое или старое. Одновременно их эксплуатировать нельзя. Основное ограничение связано с тем, что пользователи с почтовыми ящиками на legacy-серверах (07,10) не смогут подключаться к Новым Общим Папкам на ES 2013. Поэтому планировать переход PF на новую архитектуру можно только после того как все пользователи, использующие PF, перемещены на ES 2013. При этом они могут продолжать использовать клиенты Outlook 2007-2013 (с требуемыми апдейтами, разумеется).

2. Описание начальной инфраструктуры.

Если Вы решились перевести Общие Папки на ES 2013, это означает процедуру миграции контента из старой в новую архитектуру. Процесс связан с краткосрочным прерыванием клиентского доступа к Общим Папкам. Подробно он описан здесь (англ.) или здесь (рус.). Попробуем, следуя описанию, пройти его от начала до конца.

Миграция возможна, если PF находятся на legacy-Exchange 2007 SP3 RU10 or 2010 SP3.

Итак, у нас есть ES 2007 и 2010 со всеми нужными апдейтами. Есть и Общие Папки (иерархия создана изначально на ES 2007, отреплицирована на 2010):

image

image

Базы почтовых ящиков настроены так:

на ES 2007:

image

на ES 2010:

image

3. Миграция

Проверяем, что на стороне ES 2013 нет записей об успешных миграциях PF:

 Get-PublicFolderMigrationRequest | Remove-PublicFolderMigrationRequest -Confirm:$false

Что на стороне ES 2013 нет PF:

 Get-Mailbox -PublicFolder 
 Get-PublicFolder

clip_image002

На ES 2010 SP3 выполняем скрипт Export - PublicFolderStatistics . ps1 для создания соответствия между именами общих папок и их размером:

 .\Export-PublicFolderStatistics.ps1 <FQDNofSourceServer> <FolderToSizeMapPath>

[Этот скрипт нужно взять из папки Scripts установленного сервера ES 2013 и скопировать в такую же папку на ES 2010; одновременно нужно из папки c:\Program Files\Microsoft\v15\Scripts\en в соответствующую папку v14\Scripts\en скопировать файл Export-PublicFolderStatistics.strings.psd1].

clip_image004

Копируем папку PFMigration с сервера ES 2010 на сервер ES 2013.

Теперь создаём файл соответствия Folder-to-Mailbox. Эту операцию выполняем на ES 2013.

 

 .\PublicFolderToMailboxMapGenerator.ps1 <MaximumMailboxSizeInBytes> 
 <FoldertoSizeMapPath> <FoldertoMailboxMapPath>

clip_image006

В результате был сформирован такой файл:

clip_image007

Изменим этот файл, заменив стандартное «Mailbox1» на более подходящее «PF Mailbox 1»:

clip_image008

Далее создаём на ES 2013 Общие Папки:

 New-Mailbox -PublicFolder <Name> -HoldForMigration:$true

clip_image010

(если нужно создать несколько ящиков то есть возможность это заскриптовать)

clip_image011

Начало миграции = создание запроса:

New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server

<SourceServerName>) -CSVData (Get-Content <FolderToMailboxMapPath> -Encoding Byte)

clip_image013

Проверка статуса:

clip_image015

Эта команда выдаёт подробный репорт:

 Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics 
 -IncludeReport | Format-List

  clip_image023 clip_image025

Статус задачи изменился на AutoSuspended. Это хорошо. Следующий шаг – блокировка мигрируемых данных. В это время пользователи НЕ СМОГУТ работать с Общими Папками. Команда выполняется на Exchange 2010 SP3:

 Set-OrganizationConfig -PublicFoldersLockedForMigration:$true

clip_image027

Рекомендуется рестартовать службу MSExchangeIS.

Пользователи отвалились:

clip_image032

Итак, PF на исходной стороне блокированы, можно завершать миграцию. Команда выполняется на стороне ES 2013:

 Set-PublicFolderMigrationRequest -Identity \PublicFolderMigration -PreventCompletion:$false
 Resume-PublicFolderMigrationRequest -Identity \PublicFolderMigration

clip_image034

clip_image036

clip_image038

clip_image040

После перезагрузки клиента Outlook у пользователя с ПЯ на ES 2013 Общие Папки доступны. Статус подключения:

clip_image044

И это несмотря на то, что в свойствах почтовой базы для этого пользователя стоит как будто сервер ES 2010:

clip_image045

Из консоли 2013 вообще невозможно понять, куда обращаются клиенты этой почтовой базы за Общими папками:

clip_image046

По этому поводу нам говорится вот что:

clip_image048

Ну а у пользователей с почтовыми ящиками на ES 2007 / 2010 доступ к Общим Папкам пропал:

clip_image049

Таким образом, переход на PF ES 2013 следует производить только если все ПЯ перемещены на 2013.

Вот как видятся Общие Папки в консоли администрирования ES 2013:

clip_image051