Перенос Общих Папок (Public Folders) на сервер Exchange 2013: on-prem > on-prem
Рассмотрим на практике процедуру переноса Общих Папок на сервер Exchange 2013 в локальной среде.
1. Теория
Архитектура Общих Папок в Exchange 2013 изменилась. Теперь вместо базы данных PF используются специальные почтовые ящики PF. Копия иерархии дерева Общих Папок хранится во всех PF mailboxes, но только в одном (первом) ящике она изменяемая. Данные же хранятся в этом же или дополнительных ящиках PF. Такая архитектура делает возможным включать ящики Общих Папок в DAG для обеспечения высокой доступности. И никакой больше “репликации”!
А для клиентов 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):
Базы почтовых ящиков настроены так:
на ES 2007:
на ES 2010:
3. Миграция
Проверяем, что на стороне ES 2013 нет записей об успешных миграциях PF:
Get-PublicFolderMigrationRequest | Remove-PublicFolderMigrationRequest -Confirm:$false
Что на стороне ES 2013 нет PF:
Get-Mailbox -PublicFolder
Get-PublicFolder
На 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].
Копируем папку PFMigration с сервера ES 2010 на сервер ES 2013.
Теперь создаём файл соответствия Folder-to-Mailbox. Эту операцию выполняем на ES 2013.
.\PublicFolderToMailboxMapGenerator.ps1 <MaximumMailboxSizeInBytes>
<FoldertoSizeMapPath> <FoldertoMailboxMapPath>
В результате был сформирован такой файл:
Изменим этот файл, заменив стандартное «Mailbox1» на более подходящее «PF Mailbox 1»:
Далее создаём на ES 2013 Общие Папки:
New-Mailbox -PublicFolder <Name> -HoldForMigration:$true
(если нужно создать несколько ящиков то есть возможность это заскриптовать)
Начало миграции = создание запроса:
New-PublicFolderMigrationRequest -SourceDatabase (Get-PublicFolderDatabase -Server
<SourceServerName>) -CSVData (Get-Content <FolderToMailboxMapPath> -Encoding Byte)
Проверка статуса:
Эта команда выдаёт подробный репорт:
Get-PublicFolderMigrationRequest | Get-PublicFolderMigrationRequestStatistics
-IncludeReport | Format-List
Статус задачи изменился на AutoSuspended. Это хорошо. Следующий шаг – блокировка мигрируемых данных. В это время пользователи НЕ СМОГУТ работать с Общими Папками. Команда выполняется на Exchange 2010 SP3:
Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
Рекомендуется рестартовать службу MSExchangeIS.
Пользователи отвалились:
Итак, PF на исходной стороне блокированы, можно завершать миграцию. Команда выполняется на стороне ES 2013:
Set-PublicFolderMigrationRequest -Identity \PublicFolderMigration -PreventCompletion:$false
Resume-PublicFolderMigrationRequest -Identity \PublicFolderMigration
После перезагрузки клиента Outlook у пользователя с ПЯ на ES 2013 Общие Папки доступны. Статус подключения:
И это несмотря на то, что в свойствах почтовой базы для этого пользователя стоит как будто сервер ES 2010:
Из консоли 2013 вообще невозможно понять, куда обращаются клиенты этой почтовой базы за Общими папками:
По этому поводу нам говорится вот что:
Ну а у пользователей с почтовыми ящиками на ES 2007 / 2010 доступ к Общим Папкам пропал:
Таким образом, переход на PF ES 2013 следует производить только если все ПЯ перемещены на 2013.
Вот как видятся Общие Папки в консоли администрирования ES 2013:
Comments
Anonymous
December 09, 2013
А на какой момент пропадает доступ к PF у пользователей с почтовыми ящиками на ES 2007 / 2010? На момент уже собственно миграции или только на момент блокировки?Anonymous
December 09, 2013
А на какой момент пропадает доступ к PF у пользователей с почтовыми ящиками на ES 2007 / 2010? На момент уже собственно миграции или только на момент блокировки?Anonymous
January 27, 2014
На момент перезапуска MSExchangeISAnonymous
January 18, 2016
Спасибо! Статья очень помогла!