Поточная замена XP: Sysprep, USMT и WDS - как переехать 80 машин за три недели
Отрабатываем методику массовой миграции с Windows XP на Windows 7: Sysprep-образ, USMT для профилей, WDS-сервер. Реальный опыт без простоев.
Массовая миграция корпоративных парков с Windows XP на Windows 7 в преддверии конца поддержки 8 апреля 2014
В январе мы инвентаризировали, расставляли приоритеты и договаривались с клиентами. Теперь - практика. Один из клиентов дал добро на полную замену парка: около восьмидесяти машин, преимущественно офисные рабочие места, срок - три недели. Задача понятная, но объём такой, что «переставить руками» без методики означает либо овертайм для всей команды, либо несогласованные простои для пользователей. Ни то ни другое нас не устраивало.
Решение - поточная замена по конвейерному принципу. Образ готовим один раз, профили переносим инструментом, деплоим по сети. Звучит очевидно, но дьявол в деталях.
Образ: Sysprep и не надо изобретать велосипед
Базовый образ Windows 7 Professional x64 мы собрали через стандартный Sysprep с файлом ответов. Внутри - корпоративный антивирус, офисный пакет, базовый набор утилит. Ничего лишнего: специализированное ПО для конкретных ролей ставится отдельным шагом, потому что у бухгалтера и у менеджера по продажам оно разное.
Несколько вещей, которые сэкономили время:
- Настройки через групповые политики, не в образ. Всё, что можно регулировать через AD и GPO - туда. Образ остаётся максимально чистым, его не надо пересобирать при смене корпоративных настроек.
- Драйверы в пул, не в образ. WDS поддерживает Driver Packages - добавляем драйверы под конкретное железо в репозиторий, при деплое система сама тянет нужные. Парк у клиента неоднородный: HP и Dell нескольких поколений.
- Имя машины и AD-джойн - через MDT. Microsoft Deployment Toolkit поверх WDS даёт нормальный task sequence: имя берём по барcode стикера на корпусе, джойним в домен автоматически. Без этого каждую машину пришлось бы трогать руками дважды.
USMT: перенос профилей без боли (почти)
User State Migration Tool - инструмент старый, надёжный и незаслуженно забытый на фоне «а давайте просто попросим пользователей сохранить всё на сетевой диск». Пользователи не сохраняют. Проверено многократно.
USMT мы запускали в два этапа:
-
ScanState на старой машине под XP - сохраняем профиль в сетевую шару. Документы, Desktop, Favourites, подписи Outlook, настройки браузера. Специфичные состояния приложений - по ситуации: Outlook PST переносится, настройки некоторых специализированных систем - нет, их проще настроить руками.
-
LoadState на новой Windows 7 после деплоя - разворачиваем профиль. Пользователь видит свои файлы на привычных местах. Это снимает процентов семьдесят вопросов в духе «а где мои папки».
Есть нюансы с совместимостью: часть настроек реестра из XP в Windows 7 не переносится корректно, особенно если приложение работало в режиме совместимости. Мы прогнали USMT сначала на десятке пилотных машин, нашли несколько проблемных паттернов и скорректировали конфиг MigXML заранее. Без пилота это вылезло бы в продакшне.
WDS и скорость деплоя
Windows Deployment Services у клиента уже стоял - мы его подняли ещё в рамках первичной настройки инфраструктуры. PXE-загрузка, TFTP, WIM-образ на TFTP-сервере. Деплой одной машины - от подключения сетевого кабеля до логина пользователя - занимает около сорока минут при нормальном гигабитном канале до коммутатора. При этом одновременно можно катить несколько машин - узкое место тут сеть и дисковая подсистема WDS-сервера, а не наши руки.
Фактически схема такая: один инженер утром запускает ScanState на машинах следующей волны, параллельно деплоятся машины текущей волны, пока пользователи ещё не пришли. К девяти утра машины готовы, LoadState уже выполнен, пользователь садится и работает. Если что-то не так - мы рядом первый час. Потом уходим на следующий участок.
Что не пошло по плану
Без этого никуда. На части машин обнаружились кастомные USB-девайсы: специфические сканеры, подписанные ЭЦП-токены с драйверами только под XP. Для таких машин план изменился: ставим Windows 7, проверяем совместимость, если нет - оставляем в списке «разобраться с вендором».
Ещё один момент: несколько пользователей хранили рабочие файлы прямо в корне диска C, не в профиле. USMT такое не подбирает по умолчанию. Часть удалось спасти через ScanState с расширенными путями, часть пришлось копировать руками. Это добавило времени, но ничего не потеряли.
Где сейчас
Две недели прошло, темп держим. Машины идут волнами, пользователи почти не замечают переезда - что и было целью. До 8 апреля успеем, хотя несколько машин со сложным специализированным ПО уйдут в отдельный трек с изоляцией через VLAN - об этом отдельно. Managed-сопровождение в таких историях сильно упрощает работу: мы знаем парк, знаем пользователей, знаем, у кого что болит. Незнакомая инфраструктура потребовала бы на инвентаризацию недели, которых нет.