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

 

Часто перед системным администратором стоит задача по перемещению данных. Это может быть связано с заменой компьютера или переустановка ОС. Обычно транспортировке подлежит профиль пользователя вместе с файлами и ярлыками рабочего стола, всевозможные наработки с других дисков, сетевые подключения. Сложности в этом случае добавляют беспорядочное складирование файлов на машине сотрудника, но месторасположение их в новой системе должно остаться неизменным. Данная работа часто выполняется вручную, копируя содержимое от источника получателю по сети или через накопитель. Помимо миграции файлов ещё и требуется перенести программы, а, следовательно, и все их настройки, затрачивая на это не мало времени. Поэтому ИТ-специалисты больше склоняются к применению средств автоматизации данного процесса. Одни используют перемещаемые профили, перенаправляемые папки, другие - Microsoft Deployment Toolkit (MDT) [http://www.xakep.ru/magazine/xa/130/110/1.asp, http://www.techdays.ru/videos/6718.html] в связке с User State Migration Tool (USMT) [http://www.winline.ru/soft/reviews/Sredstvo_migratsii_polzovatelskoy_sredy_USMT.php]. В нашем случае уже имеется установленный Configuration Manager 2012 SP1, поэтому рассмотрим его возможности в этом направлении [http://technet.microsoft.com/en-us/library/hh397289.aspx].

Применение SCCM является более удобным средством для автоматического процесса миграции клиентских данных за счёт расширенного функционала, чем другие решения. Например, запуск процедуры не только системным администратором, но и сотрудником компании, а также проведение работ при выключенном ПК. С помощью Configuration Manager клонирование пользовательской среды с переустановкой операционной системы на один новый компьютер затрачивается около 45 минут. При задействованных 10 машинах одновременно время увеличивается не значительно, примерно на 10 минут каждая.

Задача. В максимально сжатые сроки сотрудникам нескольких отделов (около 40 машин) установить более новые компьютеры и более современную версию ОС (вместо Windows XP - Windows 7), а также мигрировать все необходимые данные для продолжения работы без простоев. При этом не нужно транспортировать информацию (медиаконтент), не относящуюся к прямым должностным обязанностям специалистов. 

 

Планирование

В первую очередь нужно всё тщательно спланировать, чтобы подготовить для работы нужные инструменты и ресурсы, а значит провести аудит инфраструктуры пользователей по следующим составляющим:

  • версии операционных систем;   
  • аппаратные комплектующие компьютеров, а также приложения, особенно при переходе на другую версию Windows;
  • файлы;
  • профили пользователей;
  • пропускная способность канала, которая очень важна при больших объёмах информации; 
  • драйверы;
  • свободное дисковое пространство;

Помимо этого, нужно выяснить наиболее подходящее время для выполнения работ. Например, для более загруженных сотрудников процесс миграции можно осуществить по окончании трудового дня, используя функцию пробуждения выключенного компьютера Wake-On-Lan.

 

Процесс миграции в SCCM

Сначала производятся подготовительные мероприятия, которые заключаются в создании эталонного образа, Task Sequence (Последовательность задач), организации связи (ассоциации) между исходным и конечным компьютерами. Весь процесс миграции можно разделить на 3 этапа.

Первый этап включает в себя действия, относящиеся к исходному ПК. Это запись состояний пользователя, запрос о месторасположении хранилища, получение ключа шифрования и списка доступных State Migration Point (SMP, Точка миграции состояний). После того, как компьютер-источник находит SMP с достаточным дисковым пространством, он получает расположение файлового ресурса для сохранения данных. Затем конечный ПК подключается к SMP, запускается средство миграции пользовательских данных, чтобы собрать, сжать, зашифровать и записать их в хранилище. Впоследствии SMP предоставляет доступ только конечной машине.

Второй этап – это набор последовательных операций относительно развёртывания операционной системы.

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

 

Типы миграций

Существует несколько сценариев миграций [http://technet.microsoft.com/ru-ru/library/hh825180.aspx], но все их можно разбить на 2-а типа:

  • PC refresh (Обновление ПК) – это миграция внутри одного компьютера (см. рис.1). Запускаются утилиты в соответствии с заданными правилами, которые вытаскивают все документы и конфигурации системы, а затем помещают их в хранилище (локальный компьютер) для дальнейшего переноса. Затем происходит переустановка операционной системы. После чего всё собранное “добро” возвращается обратно на свои места. Обычно для сценариев, применяемых к данному типу, определяются hard link (жёсткие связи), и весь процесс миграции занимает гораздо меньше времени, нежели следующий;
  • PC replacement (Замена ПК) – означает, что с одного компьютера необходимо перенести данные на другой при этом используется внешнее промежуточное хранилище, например, носитель или файловый сервер (см. рис. 1). Этот тип обычно применяется, когда старая машина выводится из эксплуатации.

                  

Рисунок 1. Типы миграций.  

Относительно наших требований мы выбираем второй вариант миграции.

Configuration Manager не имеет собственного функционала по управлению пользовательской средой. Он использует уже готовое решение USMT, которое нужно предварительно инсталлировать. Установка USMT производится из комплекта средств развёртывания и оценки Windows - Assessment and Deployment Kit (ADK) [http://msdn.microsoft.com/ru-ru/library/windows/hardware/hh825420.aspx].

 

USMT

USMT – набор утилит, который позволяет автоматизировать и упростить процесс миграции пользовательской среды во время развёртывания Windows. USMT содержит и конфигурационные файлы, в которых описаны правила переноса. Рассмотрим подробнее, что в себя включает [http://technet.microsoft.com/en-us/library/dd560755%28v=ws.10%29.aspx, http://kovalenko.techfaq.ru/2010/03/30/способы-миграции-пользовательских-н] “стержень” миграции данных:

  • Утилита usmtutils.exe упаковывает собранные данные в mig-файл и производит его проверку на предмет повреждения, управляет параметрами шифрования, извлекает файлы из сжатого хранилища переноса, помогает удалять файлы из хранилища с жёсткой связью. Для запуска утилиты требуется указание некоторых параметров. Один из вариантов выглядит так: usmtutils.exe /verify d:Migrationmigration.mig.
  • Утилита scanstate.exe сканирует компьютер в соответствии с заданными требованиями, создаёт хранилище, а также занимается сбором пользовательских профилей и учётных записей, параметров приложений и ОС, файлов и ключей реестра и прочих данных. Утилита запускается с указанием нескольких ключей, например, scanstate.exe serv03SCCMXML /i:migapp.xml /i:migdocs.xml /o /nocompress, что означает указание использования определенных конфигурационных файлов, перезапись всех существующих данных в хранилище и не использовать сжатие.
  • Утилита loadstate.exe возвращает (распаковывает) все ранее полученные элементы на конечный компьютер. Она имеет ряд параметров для запуска, один из примеров может выглядеть следующим образом: loadstate.exe serv03SCCMXML /i:migapp.xml /i:migdocs.xml /v:13, где v:13 означает максимальный уровень журналирования.

Стоит отметить, что перенос всех данных осуществляется с сохранением NTFS-прав.

Помимо утилит в USMT входит и ряд таких конфигурационных файлов, как:

  • MigApp.xml – имеет правила перемещения параметров и файлов приложений. Применяется вместе с одним из последующих файлов;
  • MigUser.xml – включает инструкции для транспортировки файлов из стандартных папок профилей, а также файлов с заданными расширениями. Используется, когда мы чётко знаем, какие данные нам нужно мигрировать;
  • MigDocs.xml – содержит указания для переноса файлов в зависимости от места расположения. Он задействуется, когда системный администратор не имеет чётких понятий о расположении клиентских файлов и мигрирует всю информацию. Данный файл не применяется вместе с MigUser.xml, потому как будет происходить дублирование информации;
  • Config.xml – список всех компонентов ОС, приложений и документов пользователей. При необходимости какой-то компонент системы в нём можно отключить, например, тему рабочего стола, принтеры и факсы и так далее. Создание данного файла производится на рабочей станции, выполнив в командной строке следующую команду: scanstate.exe /genconfig:config.xml /i:migdocs.xml /i:migapp.xml. Затем Config.xml нужно переписать на сервер SCCM в папку USMT (для систем х86 это C:Program Files (x86)Windows Kits8.0Assessment and Deployment KitUser State Migration Toolx86);
  • Custom.xml – используется для описания специфических потребностей (миграция бизнес-приложений, перенаправление файлов и так далее). Например, чтобы не включать такие лишние файлы, как .mp3, .mp4, .vob, .avi, .flv, можно создать исключения:

 

<?xml version=”1.0” encoding=”UTF-8”?>

<migration urlid=”http://www.microsoft.com/migration/1.0/migxmlext/excludefiles”>

<component type=”Documents” context=”UserAndSystem”>

<displayName>Excluding media files</displayName>

<role role=”Data”>

<rules>

<unconditionalExclude>

<objectSet>

<script>MigXMLHelper.GenerateDrivePatternsv (“* [*.mp3]”,   “Fixed” )</script>

<script>MigXMLHelper.GenerateDrivePatternsv (“* [*.mp4]”,   “Fixed” )</script>

<script>MigXMLHelper.GenerateDrivePatternsv (“* [*.vob]”,   “Fixed” )</script>

<script>MigXMLHelper.GenerateDrivePatternsv (“* [*.avi]”,   “Fixed” )</script>

</objectSet>

</unconditionalExclude>

</rules>

</role>

</component>

</migration>

     

Продолжение следует...