Миграция служб печати (Print and Document Services) c Windows Server 2012 R2 на Windows Server 2016 Server Core

Рассмотрим миграцию сервера печати Windows Server 2012 R2 (WS2012R2) на Windows Server 2016 (WS2016) в режиме Server Core. На момент написания статьи самая актуальная документация по миграции сервера печати рассматривает вариант миграции на Windows Server 2012. https://technet.microsoft.com/library/jj134150
Попробуем её применить к нашему сценарию.
Текущая конфигурация: исходный сервер (source server) WS2012R2 с установленной ролью «Службы печати и документов» (Print and Document Services role) и сервер назначения (destination server) WS2016 установленный в режиме Server Core. В рассматриваемом сценарии не используется LPR (Line Printer Remote), IPP (Internet Printing Protocol), WSD (Web Services on Devices)

1. Обзор процесса миграции

Процесс миграции сервера печати выполняется с помощью мастера миграции принтеров, доступ к которому осуществляется через оснастку MMC «Управление печатью» (Print Management) или с помощью консольной утилиты Printbrm.exe. Запустить мастер миграции можно как на самом исходном сервере, если он установлен с графическим интерфейсом, так и на любом другом компьютере с оснасткой Print Management. На Server Core мастер миграции Printbrm.exe недоступен.
Мастер миграции выполняет экспорт всех драйверов, настроек принтеров, очередей печати в файл экспорта, который необходимо импортировать на целевом сервере. Последний шаг — вывести из эксплуатации исходный сервер и присвоить целевому серверу те же имя и IP адрес, которые были у исходного. Т.о. все клиенты продолжат печать без изменения настроек. Прерывание сервиса будет только в момент изменения имени и перезагрузки целевого сервера WS2016.
Если нет возможности назначить целевому серверу те же имя и IP адрес, что у исходного (такое может быть по разным причинам, например совмещение нескольких ролей на исходном сервере), то после миграции необходимо плавно переключить всех клиентов на новый принт-сервер.

2. Подготовка целевого сервера WS2016 Server Core

После установки ОС в режиме Server Core настраиваем всё необходимое для работы с помощью утилиты sconfig:
Sconfig

После настройки всех необходимых параметров открываем PowerShell и устанавливаем Print-Services:

Установка Print-Services

Запускаем службу печати:

Запуск службы печати в Powershell

Включаем правила в брандмауэре для удалённого управления сервером. Не все из них нужны для конкретной задачи миграции, но я обычно включаю их при настройке для дальнейшего удобства администрирования сервера.

Настройка правил брандмауэра для сервера печати

Если целевой сервер должен поддерживать LPR, IPP или WSD, то необходимо установить и настроить соответствующие компоненты. Подробнее здесь: https://technet.microsoft.com/ru-ru/library/jj134179

3. Экспорт данных с помощью мастера миграции

Перед миграцией желательно обновить драйверы на исходном сервере на т.н. Package-Aware драйверы.
Для выполнения процедуры миграции необходимо иметь права локального администратора на целевом и исходном сервере.
В процессе миграции данных важно использовать последнюю версию мастера миграции. Для этого я запущу мастер миграции из консоли Print Management printmanagement.msc в Windows 10 (1607). Общий ресурс Print$ должен быть доступен на обоих серверах.
В моём примере сервер «redprint» — исходный сервер WS2012R2, «print» — целевой сервер WS2016.
Открываем мастер экспорта данных:
Запуск мастера миграции принтеров

Мастер миграции принтеров

Мастер миграции принтеров

Мастер миграции принтеров

Мастер миграции принтеров

Мастер миграции принтеров

Для нагруженных принт-серверов процесс экспорта может занять довольно большое время и итоговый файл получится значительного размера. В моём случае 63 установленных принтера и 80 драйверов экспортировались в файл размером в 1.08 Гб:

4. Импорт данных на целевой сервер WS2016

В оснастке Print Management запускаем мастер миграции:
Запуск мастера миграции принтеров

Мастер миграции принтеров
Мастер миграции принтеров

Мастер миграции принтеров

Мастер миграции принтеров

Мастер миграции принтеров

Поскольку в моём случае принтеры уже опубликованы в Active Directory, то я не буду повторно их публиковать, чтобы избежать создания дублей.
В процессе миграции, возможно, будет ошибка, связанная с недоступностью общей папки Print$ на целевом сервере: Event ID 71, Source PrintBRM. Дело в том, что в процессе установки принт-сервера общая папка print$ не создаётся автоматически. Она создаётся при первой публикации принтера. Можно вручную настроить один принтер и открыть общий доступ к нему — общая папка print$ создастся в процессе публикации принтера.

После завершения импорта мастер предложит изучить ошибки, возникшие в процессе импорта. В моём случае не импортировались принтеры с неупакованными драйверами (not packaged). Возникшие при этом ошибки:
Event ID 22 «The driver in the backup file is for a different processor architecture than the destination computer, and Printbrm.exe (the Printer Migration Wizard or the command-line tool) could not locate and install a native version of the driver. Driver: Xerox WorkCentre 6505N PCL 6. Destination architecture: Windows x64. Error: 0x80070057. Install a native version of the driver on the destination computer and then retry importing the print queues.»
Event ID 26 «Printbrm.exe (the Printer Migration Wizard or the command-line tool) could not restore driver «имя драйвера» (Windows x64) from files.  Error reported: 0x80070BCB. This can occur if the driver requires a file that Printbrm.exe did not back up or if the user does not have permission to install drivers on the destination computer.»
Event ID 81
«Printbrm.exe (the Printer Migration Wizard or the command-line tool) failed to restore print queue «имя очереди». The restore process will continue, skipping this queue. Error: 0x80070705.»

Решить эти проблемы можно сменив драйверы на исходном сервере на драйверы нового типа Package-Aware. Либо установить проблемные принтеры на целевом сервере вручную.

4. Переключение пользователей на новый сервер

После настройки всех принтеров на целевом сервере, можно переименовать исходный сервер и целевой. Но перед тем, как переименовать исходный, нужно удалить публикации принтеров в Active Directory:

Переименовываем исходный сервер, чтобы присвоить его имя новому серверу.

Присваиваем имя исходного сервера новому целевому и публикуем принтеры нового целевого сервера в Active Directory:

На этом процесс миграции завершён.

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