Краткое содержание: Миграция Exchange на новую версию или платформу — это не разовая операция “взяли и перенесли”, а управляемый проект с зависимостями, контрольными точками и заранее продуманным откатом. Если подходить к задаче системно, downtime можно удержать в пределах 0–4 часов, риски заметно сократить, а часть сервисов и вовсе перевести без остановки пользователей. Для компаний среднего масштаба — ориентировочно с 500–5000 почтовых ящиков — это вполне рабочий сценарий, если не пропускать аудит, тестовый контур и этап coexistence.
Ключевая идея здесь простая: почтовая система редко живет сама по себе. Она связана с Outlook-клиентами, мобильным доступом, антиспамом, сертификатами, AD, DNS, SMTP-маршрутизацией, архивами и интеграциями с другими сервисами. Поэтому успешная миграция Exchange — это всегда последовательность шагов: сначала обследование, затем схема целевого состояния, после этого пилот, батчи, мониторинг и только в конце вывод старой платформы из эксплуатации.
Почему миграция Exchange требует поэтапного подхода
Полная остановка почты на рабочий день для бизнеса почти всегда обходится дороже, чем кажется на этапе планирования. На практике это не только потерянные письма или задержка коммуникации, но и сбой согласований, простои отделов продаж, сервиса, логистики и поддержки. В деньгах такой простой может выражаться в потере 5–10% выручки, особенно если почта встроена в ключевые операционные процессы.
В большинстве проблемных проектов причина не в “сложности Exchange как такового”, а в игнорировании зависимостей. По опыту, примерно в 80% случаев downtime возникает там, где команда смотрит только на сами почтовые базы и серверы, но не учитывает Outlook-профили, антиспам-шлюзы, транспортные правила, интеграции с CRM, SharePoint, Skype for Business или сторонними SMTP-сервисами.
Именно поэтому рабочая модель — это coexistence, то есть сосуществование старой и новой среды в течение переходного периода. Старый сервер или ферма остаются в работе до тех пор, пока новая система не примет на себя всю нагрузку и не будет проверена под реальным пользовательским трафиком. Это снижает риск одномоментного отказа: если что-то идет не по плану, у вас остается действующая платформа, а не аварийная ситуация без маневра.
Пример: в проекте для ритейлера с 2000 ящиками миграция Exchange 2016 → 2019 заняла 3 недели. Почтовый сервис оставался доступным на всем протяжении работ, а основное снижение рисков было достигнуто не “магией инструмента”, а дисциплиной: аудит, тестовая среда, последовательные батчи и чек-лист примерно на 150 пунктов. Именно такая рутинная подготовка обычно и отличает предсказуемый проект от аварийного переноса.
Типовые ошибки на старте:
- Нет полной инвентаризации — в результате 20% ящиков, общих mailbox или сервисных аккаунтов просто выпадают из плана.
- Игнор лицензирования — новая версия Exchange или выбранная схема миграции требует иных CAL и серверных лицензий.
- Нет проверенного бэкапа — и любая ошибка превращается в восстановление на 48 часов вместо штатного отката.
По сути, поэтапный подход нужен по той же причине, по которой не меняют фундамент под зданием за один день: сначала нужно понять, что держит систему, где узкие места и как обеспечить работоспособность на каждом переходном шаге.
Шаг 1: Аудит текущей инфраструктуры
Начинать нужно с полноценного обследования текущей среды. Обычно на аудит уходит около 20% времени проекта, но именно он формирует до 80% будущего успеха. Если этот этап сделать поверхностно, все следующие действия будут опираться не на факты, а на предположения — а в миграциях Exchange это почти всегда заканчивается незапланированными окнами простоя.
Задача аудита — не просто собрать “список серверов”, а увидеть реальную карту почтовой системы: версии, роли, базы, очереди, зависимости, маршруты, сертификаты, сеть, права доступа, объемы данных, состояние резервного копирования и то, как этим реально пользуются сотрудники.
Что проверить
| Компонент | Что аудитовать | Инструмент |
|---|---|---|
| Серверы | Версия Exchange, ОС, CPU/RAM/диски | Get-ExchangeServer, Get-ComputerInfo |
| Ящики | Кол-во, размер, архивы, мобильные устройства | Get-MailboxStatistics, AD Users & Computers |
| Зависимости | Антиспам, DAG, интеграции (SharePoint, Skype) | Test-ServiceHealth, Test-ReplicationHealth |
| Сеть | Latency, порты (443, 25), сертификаты | Test-NetConnection, dig/exchange.example.com |
В таблице перечислен базовый минимум, но на практике полезно смотреть немного шире. Например, по серверам важно оценить не только текущие ресурсы, но и фактический запас по дисковой подсистеме: именно IOPS и задержки по хранилищу часто становятся скрытой причиной медленных move request и нестабильной работы базы после переключения. По ящикам стоит отдельно выделить общие, ресурсные, сервисные и архивные mailbox — они нередко “живут” вне стандартных списков миграции, а вспоминают о них уже после cutover.
Пошаговый чек-лист аудита:
- Экспортируйте список ящиков:
Get-Mailbox | Export-Csv mailboxes.csv. - Проверьте здоровье сервисов:
Test-ServiceHealth. - Проанализируйте журналы: события 1000–4999 в Event Viewer.
- Протестируйте бэкап — восстановите хотя бы 1 ящик, а не просто убедитесь, что “задание прошло успешно”.
Последний пункт особенно важен. Очень многие считают наличие backup job доказательством готовности к рискам, но реальная готовность — это подтвержденное восстановление. Пока вы не подняли ящик из резервной копии и не убедились, что данные доступны, бэкап остается лишь гипотезой.
Нюанс: если в инфраструктуре используется DAG (Database Availability Group), миграцию разумнее планировать по базам данных, а не по отдельным ящикам. Это позволяет контролировать репликацию, балансировку нагрузки и предсказуемо управлять очередностью переноса. Типичная ошибка — пытаться переносить всю DAG “одним рывком”. На бумаге это выглядит как ускорение проекта, а на практике легко приводит к downtime 12+ часов, потому что одновременно меняются слишком многие связанные компоненты.
Хороший аудит заканчивается не списком команд, а четким пониманием: что переносим, в каком порядке, что может помешать и где точка безопасного отката.
Шаг 2: Выбор стратегии миграции
После аудита можно переходить к выбору стратегии. И здесь важно не подменять проектирование привычкой. То, что “в прошлый раз делали так”, не означает, что тот же сценарий подходит для текущей инфраструктуры. Выбор должен опираться на версию Exchange, объем ящиков, доступные окна изменений, требования к простоям, лицензирование и готовность команды сопровождать coexistence.
Для Exchange 2016/2019/Online обычно рассматривают три варианта: in-place upgrade, swing migration и hybrid to Online.
- In-place: обновление на месте. Подходит для сравнительно простых сред с 1–2 серверами, где приемлем downtime 2–4 часа и нет сложных интеграций.
- Swing: развертывается новый сервер или новая группа серверов, после чего выполняется постепенный перенос. Для средних компаний это, как правило, самый сбалансированный вариант.
- Hybrid: переход из локальной среды в Microsoft 365 с гибридным сосуществованием. Coexistence может длиться до 6 месяцев и дольше, что удобно для аккуратного перевода пользователей и сервисов.
Таблица сравнения стратегий:
| Стратегия | Downtime | Сложность | Стоимость |
|---|---|---|---|
| In-place | 2–4 ч | Низкая | Низкая |
| Swing | 0 ч | Средняя | Средняя |
| Hybrid | 0 ч | Высокая | Высокая (M365) |
Рекомендация: если цель — безостановочная миграция, чаще всего выигрывает именно swing-подход. Он дает возможность переносить ящики партиями, например по 20% в неделю, параллельно отслеживать поведение пользователей и корректировать маршрут, не затрагивая весь контур сразу. Free/busy в такой схеме обычно синхронизируется через Autodiscover, и именно это позволяет пользователям продолжать работать в смешанной среде без явного разрыва сценариев.
С инженерной точки зрения swing хорош тем, что отделяет новую платформу от старой. Вы не чините конструкцию “на ходу”, а собираете новый рабочий контур, проверяете его и только потом постепенно переключаете нагрузку. Да, это дороже по ресурсам, но значительно безопаснее по управлению рисками.
Ограничение: Exchange 2010 → 2019 напрямую не мигрируется. Понадобится промежуточный шаг через 2013 или 2016. Эту совместимость нужно учитывать заранее, иначе в середине проекта внезапно выяснится, что выбранный маршрут технически не поддерживается, а сроки и бюджет уже зафиксированы.
Шаг 3: Подготовка тестовой среды
Переносить Exchange в production без тестового контура — один из самых дорогих способов “сэкономить время”. По практике именно отказ от лабораторной проверки становится источником до 90% неприятных сюрпризов: неоткрывающийся OWA, сбои в Autodiscover, проблемы с мобильными клиентами, некорректная работа транспортных правил и неожиданные конфликты с защитным ПО.
Тестовая среда нужна не для формальности, а чтобы пройти весь маршрут миграции на уменьшенной, но реалистичной модели. В идеале она должна воспроизводить хотя бы критичные элементы production: версию AD, основные настройки Exchange, схему DNS и характерные типы ящиков.
- Клонируйте production-среду: используйте Veeam или Storage Snapshot.
- Установите новый Exchange в lab:
Setup.exe /Mode:Install /Role:MBX /IAcceptExchangeServerLicenseTerms. - Перенесите 10% тестовых ящиков с помощью
New-MoveRequest. - Проверьте работу OWA, Outlook и мобильного доступа.
Почему именно 10%? Этого обычно достаточно, чтобы охватить разные типы пользователей: сотрудников с большими архивами, мобильных пользователей, shared mailbox, руководителей с делегированием доступа, сервисные ящики и тех, у кого сложные Outlook-профили. Если тестировать только “легкие” ящики, картина получится слишком оптимистичной и бесполезной для реального cutover.
Чек-лист теста:
- Проверьте free/busy между старой и новой средой.
- Отдельно проверьте перенос PST и архивов.
- Убедитесь, что антивирус и защитные агенты не блокируют операции Exchange.
На практике к этому списку полезно добавить еще несколько контрольных точек: прохождение внешней и внутренней почты, работу SMTP relay для приложений и устройств, доступ по ActiveSync, корректность сертификатной цепочки и сценарии авторизации из внешней сети. Нередко основная миграция проходит успешно, а затем обнаруживается, что МФУ, CRM или система уведомлений продолжали отправлять почту через старый сервер.
Ошибка: забыли обновить DNS MX — и входящая почта продолжает идти на старый сервер. Это не всегда приводит к немедленному отказу, но почти гарантированно создает путаницу в маршрутизации, очередях и диагностике. Поэтому DNS-план нужно готовить заранее, с учетом TTL, последовательности переключения и времени распространения записей.
Шаг 4: Этапный план миграции с нулевым downtime
На этом этапе у вас уже должны быть: результаты аудита, выбранная стратегия, подготовленная тестовая среда, подтвержденная схема coexistence и рабочий план отката. Дальше задача — разбить миграцию на понятные фазы по 1–2 недели, чтобы на каждом отрезке были измеримые результаты и возможность остановиться без аварии.
В хорошо спланированном проекте нулевой downtime достигается не тем, что “ничего не выключают”, а тем, что переключения делаются локально, управляемо и в заранее известных точках. Пользователь может даже не заметить миграцию, если за кулисами корректно подготовлены namespace, маршрутизация и клиентский доступ.
Фаза 1: Развертывание новой фермы (1 неделя)
- Установите серверы и настройте DAG.
- Синхронизируйте AD Schema:
Setup.exe /PrepareAD /IAccept.... - Настройте namespace:
autodiscover.newexchange.local.
Именно здесь закладывается основа всей миграции. Если новая ферма развернута “вчерне”, без продуманной схемы имен, сертификатов, сетевых путей и ролей, все последующие этапы будут превращаться в донастройку на ходу. Отдельно проверьте совместимость namespace с существующими клиентами, сертификатами и правилами публикации. Это один из тех элементов, который выглядит второстепенным до первого массового переподключения Outlook.
Фаза 2: Перенос по батчам (2–4 недели)
- Группируйте ящики по отделам или функциональным блокам — это удобно для управления mailbox batches и поддержки пользователей.
New-MoveRequest -Identity user@domain -RemoteHostName oldserver -TargetDatabase newDB -BatchName Batch1- Ведите мониторинг через
Get-MoveRequestStatistics.
Группировка по отделам обычно лучше случайного распределения. Во-первых, проще согласовать окно работ с бизнесом. Во-вторых, если возникнет локальная проблема — например, с календарями или делегированием у конкретной команды, — вы не размазываете инцидент по всей компании. Батч — это не просто технический контейнер, а удобная единица управления риском.
Пошагово для батча:
- Временно заблокируйте OWA для батча.
- Запустите перенос — обычно он занимает 4–8 часов в зависимости от объема и скорости дисковой подсистемы.
- Проверьте клиентские подключения и базовые пользовательские сценарии.
- После подтверждения работоспособности снимите блокировку.
Здесь важно не торопиться с размером батча. Формально можно пытаться переносить больше, но на практике оптимальный объем определяется не теоретической производительностью, а способностью команды быстро проверить результат и поддержать пользователей после завершения партии. Лучше стабильно переносить меньше, но предсказуемо, чем один раз перегрузить окно и получить длинный хвост ручных исправлений.
Фаза 3: Cutover и cleanup (1 неделя)
- Перенаправьте MX и Autodiscover.
- Удалите завершенные move request:
Remove-MoveRequest. - Проводите декомиссию старой среды только после 30 дней карантина.
Cutover — это не момент “выключили старое, включили новое”, а контролируемое завершение сосуществования. К этому времени входящий поток писем, клиентские подключения, календарные сценарии и административные операции уже должны устойчиво работать на новой платформе. 30-дневный карантин перед окончательной декомиссией — разумная практика: за этот период обычно всплывают забытые relay-коннекторы, старые скрипты, служебные ящики и нестандартные интеграции.
Риски и фиксы:
- Проблемы синхронизации free/busy — настраивается через Availability Address Space.
- Клиенты не видят новые ящики — обновите Outlook profiles.
Из практики: именно этап cleanup часто недооценивают. Кажется, что “главное уже сделано”, но остаточные артефакты старой системы могут потом еще долго мешать: старые DNS-записи, неиспользуемые receive connector, лишние сертификаты, висящие move request, забытые права и неактуальные мониторинговые шаблоны. Поэтому завершение проекта — это тоже отдельная фаза, а не формальность.
Шаг 5: Мониторинг, бэкап и откат
Любая миграция без наблюдаемости и плана возврата — это рискованная импровизация. Даже если все предыдущие этапы выполнены аккуратно, в реальной среде остаются внешние факторы: нагрузка, поведение клиентов, задержки сети, нестандартные интеграции, человеческий фактор. Поэтому мониторинг и откат должны быть предусмотрены до первого перенесенного батча, а не после первого инцидента.
Инструменты мониторинга:
- SCOM или Zabbix для контроля метрик Exchange.
- Veeam 12+ для резервного копирования с granular recovery.
Важно наблюдать не только доступность сервисов “в целом”, но и конкретные показатели: длину очередей, состояние баз, задержки репликации, успешность move request, состояние транспортных служб, MAPI-доступность и почтовый поток. Хороший мониторинг показывает не только факт сбоя, но и начало деградации — а это позволяет реагировать до того, как пользователи массово откроют тикеты.
План отката:
- Если сбой затрагивает более 5% объектов или пользователей — приостановите перенос через
Suspend-MoveRequestи возвращайтесь к предыдущему стабильному состоянию. - Используйте snapshot, сделанный до запуска батча, как точку отката.
Критично заранее определить критерии “сбойного батча”. Если этого не сделать, команда до последнего будет пытаться “дожать” проблему в уже нарушенном окне, вместо того чтобы вовремя откатиться. Откат — не признак провала, а нормальный механизм управления риском. Его задача — сохранить устойчивость сервиса.
Статистика из практики: в 15 проектах необходимость отката возникала 2 раза, при этом максимальный downtime составил 1 час. Это хороший показатель не потому, что откаты были редкими, а потому, что они были предусмотрены и выполнялись по понятной процедуре, а не в режиме кризисной импровизации.
Работа с подрядчиками и документацией
Если миграцию выполняет внешний подрядчик, качество проекта во многом определяется не красивой презентацией, а документами и прозрачностью управления. Exchange-проект нельзя принимать “на доверии” — слишком много завязок на инфраструктуру, а цена ошибки слишком высока.
Поэтому с самого начала стоит требовать:
- NDA и SLA, в том числе с формализацией допустимого downtime менее 2 часов.
- Документацию As-Is / To-Be, например схемы в Visio.
- Еженедельные отчеты по ходу проекта.
Документы As-Is и To-Be особенно важны. Первая схема показывает, что именно есть сейчас: серверы, маршруты, зависимости, интеграции, публикация, сертификаты. Вторая — как среда будет выглядеть после миграции. Без этой пары невозможно нормально согласовать этапность, зоны ответственности и критерии завершения работ.
Шаблон контракта: имеет смысл прописать штраф 10% за каждый час downtime сверх согласованного окна. Это не столько способ “наказать подрядчика”, сколько инструмент дисциплины: когда параметры доступности и ответственности формализованы, проектная коммуникация становится заметно взрослее.
Отдельно стоит зафиксировать, кто отвечает за лицензии, DNS, сертификаты, публикацию внешних сервисов, резервное копирование, тестирование и постмиграционную поддержку. Именно на стыках зон ответственности обычно и возникают самые неприятные пробелы.
Типовые ошибки и как их избежать
Даже при хорошем плане есть несколько ошибок, которые повторяются из проекта в проект. Они не всегда выглядят критично на старте, но именно из них потом складываются большие инциденты.
- Игнор сертификатов: заранее подготовьте SAN для обоих серверов или сред. Сертификатная проблема редко останавливает установку, но быстро ломает клиентский доступ и доверие к сервису.
- Неполный перенос прав: проверьте
Get-MailboxPermissionдо миграции. Делегирование, доступ к shared mailbox и сервисные разрешения нужно переносить осознанно, а не “разбираться потом”. - Мобильные устройства: заранее запланируйте wipe и re-provision там, где это требуется политиками или особенностями клиента.
- Архивы более 50 ГБ: лучше заранее разделить и обработать через PST, чем пытаться протащить тяжелый архив в том же ритме, что и обычные ящики.
Каждый из этих пунктов важен по-своему. Сертификаты влияют на доверие клиентов и внешние подключения. Права доступа — на реальную работоспособность команд после миграции. Мобильные устройства — на непрерывность связи руководства и полевых сотрудников. Большие архивы — на длительность батчей и предсказуемость окна.
Кейс: в банковском проекте при переносе 3000 ящиков основной сбой был связан не с базами и не с Exchange как таковым, а с антиспам-контуром. Новые серверы не были своевременно внесены в whitelist, из-за чего часть потока начала задерживаться и маршрутизация стала вести себя нестабильно. Фикс оказался простым — whitelist new servers, — но ценность кейса в другом: самые неприятные ошибки часто лежат не в “ядре миграции”, а на внешнем контуре интеграций.
FAQ: Ответы на частые вопросы по миграции Exchange
Сколько времени займет миграция 1000 ящиков?
Обычно 2–3 недели, если переносить батчами по 100 ящиков в день. Реальный срок зависит от размеров ящиков, архивов, пропускной способности хранилища, качества сети и того, насколько быстро команда проверяет результат после каждого батча.
Можно ли мигрировать без DAG?
Да, можно. Но тогда отказоустойчивость ниже, а часть сценариев придется поддерживать вручную, включая failover. Для небольших сред это допустимо, но риски при любой нештатной ситуации заметно возрастают.
Что с Exchange Online?
Обычно используется Hybrid wizard и модель coexistence, которая может длиться до года. Для такого сценария нужен Azure AD Connect. Гибрид удобен тем, что позволяет переводить пользователей постепенно, не ломая привычные процессы одним движением.
Стоимость для 500 ящиков?
Ориентир — 200–500 тыс. руб. с учетом серверов, лицензий и работ. Разброс большой, потому что многое зависит от текущей инфраструктуры, необходимости промежуточных версий, требований к отказоустойчивости и глубины внешних интеграций.
Как проверить готовность после миграции?
Используйте Test-MAPIConnectivity и Test-Mailflow. Но не ограничивайтесь только этими тестами: дополнительно проверьте OWA, Outlook, мобильный доступ, делегирование, free/busy, транспортные правила, SMTP relay и резервное копирование на новой стороне.
В итоге поэтапная миграция Exchange — это действительно система: аудит → тест → батчи → мониторинг. Когда проект строится именно так, ключевые сервисы не приходится “героически спасать” в последний момент. Они продолжают работать, потому что переход был спроектирован как последовательность совместимых шагов, а не как разовая рискованная операция.
Начинать в таких задачах всегда стоит с аудита. Именно он показывает реальное состояние среды, объем скрытых зависимостей и тот маршрут миграции, который можно пройти без лишних потерь по времени, деньгам и доступности сервиса.