Если срок переноса серверной системы приближается, неплохо иметь в наличии полнофункциональное и хорошо протестированное решение для превращения физического сервера в виртуальный (P2 V), установленный на специальном мобильном сервере. Решение типа P2 V позволит выполнить такую миграцию без какого-либо воздействия на рабочую сеть или необходимости ее перенастройки. В данной статье я покажу, как использовать набор инструментов для миграции виртуальных серверов под названием Microsoft Virtual Server Migration Toolkit (VSMT) и как настроить мобильный сервер, использующий ADS, для выполнения миграции P2 V.
Напомню, что в статье «Эффективное использование ADS», опубликованной в третьем номере журнала Windows IT Pro/RE за 2007 год, речь шла о том, как построить базовое мобильное решение на базе службы автоматического развертывания Automated Deployment Service (ADS) для миграции системы Windows. Затем в статье «Как вывести мобильную службу ADS на новый уровень» (http://www.osp.ru/win2000/2007/05/4318458/) я показал, как установить VSMT и расширить мобильное решение на базе ADS для переноса системы с физической на виртуальную. Теперь мы рассмотрим, как использовать VSMT для выполнения миграции типа P2 V.
Прежде чем начать
В предыдущих статьях серии было описано, как создать мобильное решение на базе ADS путем сборки из необходимого оборудования передвижного сервера и установки на нем базового программного обеспечения: операционной системы Windows Server 2003 Enterprise Edition, службы Dynamic Host Configuration Protocol (DCHP), службы ADS 1.1, системы виртуальных машин Virtual Server 2005 R2 SP1 и набора инструментов для миграции виртуальных серверов VSMT 1.1 (назовем этот сервер MobileP2 V). Я назвал исходный сервер Testserver и буду исходить из того, что на нем установлена система Windows Server 2003 редакции Enterprise. Для осуществления миграции класса P2 V требуется выполнить 10 шагов, которые я и опишу в этой статье.
Прежде чем начать процесс миграции, необходимо потратить определенное время, чтобы определить, какие из серверов подойдут для преобразования из физических в виртуальные. В некоторых случаях не стоит осуществлять P2 V-миграцию неустойчивого рабочего сервера, так как нестабильность может проявиться в процессе миграции. Если дело обстоит именно так, более правильным решением может оказаться создание виртуального сервера с нуля и перенос данных со старого физического сервера на новый виртуальный. Кроме того, на серверах с предустановленными системными OEM-приложениями нужно предварительно удалить или остановить эти приложения, чтобы гарантировать, что они не будут конфликтовать с виртуальной машиной при первоначальной загрузке.
Итак, допустим, мы выбрали серверы, которые годятся для преобразования P2 V, и готовы начать.
Шаг 1: Подготовка исходной системы
Хотя VSMT не изменяет исходную систему, я рекомендую создать ее резервную копию, прежде чем начинать процесс миграции P2 V. Кроме того, следует отключить любые драйверы или приложения, которые являются специфическими для аппаратных средств исходного сервера, чтобы они не были доступны в среде виртуальной машины.
Шаг 2: Подготовка сервера MobileP2 V
В состав VSMT входит инструмент GatherHW.exe, который собирает информацию об аппаратных средствах исходного сервера и создает файл конфигурации в формате XML. Этот файл можно задействовать для анализа состояния исходного сервера на предмет обнаружения несовместимости аппаратных средств в исходной системе (динамические диски, оперативная память больше чем 3,6 Гбайт, неподдерживаемые устройства и т. д.). Для запуска GatherHW.exe нужно скопировать его в исходную систему. Я рекомендую создать сетевой ресурс VSMT на сервере MobileP2 V в папке, в которой установлен VSMT; по умолчанию это папка C:Program FilesMicrosoft VSMT. Также потребуется место для сохранения XML-файлов, которые создаются программой GatherHW.exe. Для этого можно создать каталог под названием C:P2 VSource на сервере MobileP2 V и предоставить к нему доступ по сети с именем P2 VSource, с разрешением на запись для локального администратора системы.
Краткое описание дисковой конфигурации сервера MobileP2 V: диск C (C: — операционная система), диск D (D: — файлы образов службы ADS) и диск E (E: — дисковое пространство виртуальной машины).
Шаг 3: Сбор информации
После создания общих сетевых папок на сервере MobileP2 V следует зарегистрироваться на сервере Testserver с учетной записью локального администратора. Затем нужно создать папку C:VSMT и подключить сетевой диск к сетевой папке MobileP2 VVSMT. Скопируйте GatherHW.exe в папку C:VSMT. Запустите двойным щелчком мыши программу GatherHW.exe на исходной системе для сбора информации о конфигурации. GatherHW.exe создаст XML-файл с именем, соответствующим имени исходной системы (например, Testserver.xml) в каталоге C:VSMT. Скопируйте полученный XML-файл в сетевую папку MobileP2 VP2 VSource.
Шаг 4: Проверка информации
После сбора информации о конфигурации на сервере Testserver программой GatherHW.exe с помощью VMScript.exe (который был установлен на MobileP2 V в составе VSMT) требуется проверить собранные данные. Для проверки XML-файла программой VMScript.exe следует зарегистрироваться в системе на сервере MobileP2 V и открыть окно командной строки. В окне командной строки нужно перейти в каталог C:Program FilesMicrosoft VSMT. Затем выполните следующую команду:
VMScript.exe/hwvalidate/hwinfofile:”C:P2 VSourceTestserver.xml”
VMScript анализирует файл XML и сообщает о любых ошибках в конфигурации оборудования на исходном сервере. Заметим, что некоторые аппаратные устройства, например специальные платы расширения, USB-устройства и адаптеры Fibre Channel, не будут работать на виртуальных машинах.
Необходимо изучить результат работы VMScript на предмет каких-либо обнаруженных проблем, предупреждений или ошибок. Перед тем как продолжить работу с помощью Vmpatch.exe, следует исправить обнаруженные ошибки и скопировать недостающие системные файлы, пакеты обновлений или исправления. Если вы обнаружите сообщение
Error: Cannot find patch files for the operating system/service pack level in the C:Program FilesMicrosoft VSMTPatchesSource5.2.3790SP2 directory
относительно недостающих файлов из пакета исправлений Service Pack 2 для Windows Server 2003, прочтите врезку «Добавление поддержки Windows Server 2003 SP2 к каталогу исправлений VSMT», чтобы пополнить кэш исправлений драйверами Windows 2003 SP2.
Шаг 5: Создание сценариев миграции
После того, как вы решили все проблемы с конфигурацией системы Testserver и запустили VMScript необходимое количество раз, чтобы не осталось никаких недочетов, препятствующих процессу переноса системы, сгенерируйте сценарии миграции. Эти сценарии управляют созданием дисковых образов, созданием виртуальной машины и развертыванием дисковых образов на ней. Для создания сценария миграции нужно выполнить VMScript со следующими параметрами:
VMScript/hwgeneratep2 v /hwinfofile:”pathSource.xml” /name: vm_name/vmconfigpath:”vm path”/virtualDiskPath:”vm path” /hwdestvs: controller_server
В этом сценарии pathSource.xml — путь к xml-файлу конфигурации (C:P2 VSourceTestServer.xml), vm_name — имя, которое будет назначено виртуальной машине в консоли виртуального сервера (в примере — TESTMIGRATION), vm path — место, где будут размещены файлы .vmc и .vhd (в примере — E:VMs), controller_server — имя сервера, на котором размещена система виртуальных машин (MobileP2 V).
По умолчанию сценарии переноса настроены для создания виртуальных жестких дисков фиксированного размера. Если физические диски на исходной системе имеют много свободного пространства или нежелательно использовать виртуальные жесткие диски фиксированного размера, следует запустить VMScript с параметром/virtualDisk-Dynamic. Этот параметр к тому же ускоряет процесс создания виртуальной машины. Если задействовать параметр/virtualDisk-Dynamic, командная строка будет выглядеть так:
VMScript/hwgeneratep2 v /hwinfofile:”C:P2 VSourceTestServer.xml” / name: TESTMIGRATION/vmconfigpath:”
E: VMs” /virtualDiskPath:” E:VMs”/ hwdestvs: MOBILEP2 V / virtualDiskDynamic
VMScript.exe создает сценарии миграции в подкаталоге C:Program FilesMicrosoft VSMTp2vTESTMIGRATION. Результат выполнения VMScript в окне командной строки показан на экране 1. VMScript создает 12 выходных файлов, которые используются в процессе перемещения. Файл TestMigration_P2 V_Readme.txt содержит информацию о создании сценария и проблемах с драйверами. Три XML-файла содержат информацию о конфигурации жестких дисков и драйверов, используемую во время миграции. Файл TestMigration_boot.ini — копия файла boot.ini исходной машины. В процессе миграции выполняется три сценария: TestMigration_Capture.cmd создает в службе ADS образы исходных жестких дисков, TestMigration_CreateVM.cmd создает целевую виртуальную машину, используя информацию об исходной конфигурации, и TestMigration_DeployVM.cmd переносит образы исходных жестких дисков на диски виртуальной машины.
VMScript также создает подкаталог с именем Patches. В него автоматически заносятся все известные исправления, которые необходимо установить.
Шаг 6: Загрузка необходимых для службы ADS драйверов
Когда сценарий VMScript осуществляет проверку информации о конфигурации исходной системы, он не проверяет, все ли необходимые драйверы установлены в файловом кэше службы ADS. Самый важный драйвер, необходимый для установки, — драйвер сетевой карты исходной системы. Без него невозможно создать образ исходного сервера. Загрузите самые свежие драйверы сетевой карты исходной системы во временную папку на сервере MobileP2 V. Скопируйте драйверы в папку C:Program Files Microsoft ADS NBS Repository
UserPreSystem. Во время копирования драйверов сетевой карты в кэш службы ADS не создавайте никаких подкаталогов и не копируйте файлы вида Txtsetup.oem. Подкаталоги не нужны, потому что драйверы должны быть помещены непосредственно в каталог PreSystem, а файл Txtsetup.oem не используется.
После копирования файлов требуется перезапустить службу ADS Builder, чтобы она нашла новые драйверы. Для этого нужно открыть окно командной строки и ввести команду:
net stop adsbuilder
Затем нажмите клавишу ENTER. После этого введите команду:
net start adsbuilder
Снова нажмите ENTER.
Шаг 7: Создание образа системного диска сервера Testserver
Теперь все готово для создания образов дисков Testserver. При выполнении сценария TestMigration_Capture.cmd ADS последовательно создает образы всех дисков исходного сервера. Необходимо зарегистрироваться на сервере MobileP2 V от имени локального администратора и выполнить следующие шаги для запуска процесса построения образов дисков системы TestServer. Откройте окно командной строки и перейдите в каталог C:Program FilesMicrosoft VSMTp2 vTestMigration. Выполните сценарий TestMigration_capture.cmd. По запросу системы введите учетные данные администратора исходного сервера Testserver, перезагрузите его и задайте режим среды предисполнения PXE.
Служба ADS берет на себя управление исходной системой и загружает ее с помощью агента развертывания Deployment Agent для инициирования создания дискового образа. Для отслеживания процесса построения образа каждого диска можно использовать MMC-оснастку управления службой Automated Deployment Service на управляющем сервере. В оснастке нужно перейти в раздел устройств Devices, затем идут запущенные задания Running Jobs. Дважды щелкните мышью на задании, как показано на экране 2. Время построения образов зависит от размера и количества дисков. Если на сервере установлена достаточно медленная сетевая карта, имеет смысл подумать о ее замене на более быструю, подключенную к более скоростному сетевому порту, для сокращения времени переноса информации. После завершения построения дисковых образов служба ADS завершает работу исходной системы и удаляет ее из базы данных устройств. Последний этап выполнения сценария — изменение атрибутов системных файлов, как показано на экране 3.
Шаг 8: Создание виртуальной машины
Прежде чем начать переносить дисковые образы, нужно создать виртуальную машину и настроить ее с той же конфигурацией памяти, дисков и сети, что и исходную физическую систему. Сценарий TestMigration_CreateVM.cmd (один из сценариев, которые создает VMScript) автоматизирует выполнение этой задачи. Для запуска данного сценария нужно открыть окно командной строки и перейти в каталог C:Program FilesMicrosoft VSMTp2 vTestMigration. Выполните сценарий TestMigration_CreateVM.cmd; он создает файл конфигурации новой виртуальной машины E:VMSTestMigrationTestMigration.vmc, регистрирует виртуальную машину, подключает ее к виртуальной сети по умолчанию VM0, создает и подключает виртуальные жесткие диски (VHDs) и запускает виртуальный флоппи-диск службы удаленной установки Remote Installation Services (RIS) на виртуальном флоппи-дисководе. Если появится такое сообщение об ошибке:
Error: System.IO. FileLoadException: The located assembly’s manifest definition with the name ‘Microsoft.VirtualServer.Interop’ does not match the assembly reference.
значит, на сервере MobileP2 V установлена система виртуальных машин Virtual Server 2005 R2 Service Pack 1 (SP1). VSMT 1.1 совместим с Virtual Server 2005 R2, но не с Virtual Server 2005 R2 SP1. Дополнительную информацию о том, как решить эту проблему, можно найти во врезке «Почему VSMT 1.1 не поддерживает Virtual Server 2005 R2 SP1».
Когда все описанные операции будут выполнены, проверьте базу данных устройств службы ADS, используя MMC-консоль управления ADS. Виртуальная машина должна быть добавлена к базе данных устройств службы ADS и настроена для загрузки с помощью агента развертывания Deployment Agent.
Шаг 9: Развертывание образов дисков службы ADS на виртуальной машине TestMigration
После того, как создана виртуальная машина, необходимо восстановить на ней образы дисков исходного сервера. Этой частью процедуры переноса управляет сценарий TestMigration_DeployVM.cmd. Для восстановления и развертывания образов исходных дисков на виртуальной машине требуется перейти в каталог C:Program FilesMicrosoft VSMTp2 vTestMigration и запустить команду
TestMigration_DeployVM.cmd
Для отслеживания процесса развертывания виртуальной машины можно использовать сайт администрирования системы виртуальных машин Virtual Server 2005 R2 на управляющем сервере. Там вы увидите загрузку агента развертывания на виртуальной машине и восстановление дисковых образов на виртуальные жесткие диски, как показано на экране 4. Аппаратно зависимые системные файлы будут заменены на версии, совместимые с виртуальной машиной, и будут выполнены необходимые настройки операционной системы.
Если открыть MMC-консоль управления службой ADS для проверки базы данных устройств, вы увидите, что виртуальная машина все еще находится в базе данных устройств. Выполнение сценария TestMigration_DeployVM.cmd заканчивается после удаления виртуального флоппи-диска службы RIS из виртуальной машины. Виртуальная машина остается загруженной в состояние работы агента развертывания.
Шаг 10: Завершение процесса миграции
Прежде чем процесс переноса исходной системы на виртуальную машину будет завершен, выполните несколько задач по очистке уже ненужной информации. Виртуальная машина TestMigration все еще работает в состоянии агента развертывания, поэтому ее необходимо перезагрузить: откройте консоль управления ADS, выберите и щелкните правой кнопкой мыши устройство TestMigration, выберите в контекстном меню Run job (выполнить задание). Запустится мастер создания нового задания. Нажмите Next. Выберите создание однократно выполняемого задания, one-time job, и снова нажмите Next. Затем нужно нажать Next для пропуска экрана с описанием задания. Выберите команду Internal и нажмите Next. Выберите перезагрузкуmonitorи снова щелкните Next. Нажмите кнопку Finish для перезагрузки виртуальной машины TestMigration.
После перезагрузки виртуальной машины следует отключить управление устройством и удалить виртуальную машину из базы данных устройств в консоли управления службой ADS. Зарегистрируйтесь в системе на виртуальной машине и установите дополнительные компоненты для виртуальных машин, Virtual Machine Additions, для интеграции клавиатуры и мыши и повышения производительности. Затем необходимо завершить все оставшиеся настройки конфигурации и убедиться, что виртуальная машина нормально работает в сети и что ее производительность находится на ожидаемом уровне. Завершив тестирование виртуальной машины, перенесите TestMigration с системы MobileP2 V на производственный сервер виртуальных машин. По завершении данного этапа можно создать резервную копию дисковых образов исходной системы и удалять их из хранилища службы ADS.
В итоге мы получаем полнофункциональное и проверенное решение на сервере MobileP2 V, которое можно использовать в любом месте организации для осуществления P2 V-миграции. Вперед к виртуализации!
Примечание автора: данные инструкции по миграции были разработаны на основе материалов книги «Ресурсы Virtual Server 2005 R2» (Virtual Server 2005 R2 Resource Kit) издательства Microsoft Press, написанной мною в соавторстве с Джаник Карбоне.
Роберт Ларсон (robert.larson@microsoft.com) — сервисный архитектор компании Microsoft. Адрес его блога: blogs.technet.com/roblarson
Краткое описание решения
Проблема
Необходимо осуществить миграцию в очень сжатые сроки. Как можно быстро начать использовать старые производственные серверы в качестве виртуальных машин без развертывания службы ADS в масштабе целой организации?
Решение
Подготовить мобильное решение на базе службы ADS 1.1 и установить набор инструментов для миграции виртуальных серверов Virtual Server Migration Toolkit 1.1. Теперь можно использовать VSMT для расширения функций службы ADS и выполнения миграции физического сервера на виртуальный (P2 V) в любом месте организации.
Этапы решения задачи:
-
Подготовка исходной системы.
-
Подготовка сервера MobileP2 V.
-
Сбор информации о конфигурации.
-
Проверка информации о конфигурации.
-
Создание сценариев миграции.
-
Загрузка необходимых для службы ADS драйверов.
-
Создание образа системного диска сервера Testserver.
-
Создание виртуальной машины.
-
Развертывание образов дисков службы ADS на виртуальной машине TestMigration.
-
Завершение процесса миграции.
Почему VSMT 1.1 не поддерживает Virtual Server 2005 R2 SP1
сли вы используете набор инструментов для миграции Virtual Server Migration Toolkit версии 1.1 с Windows Server 2003, то можете столкнуться с проблемами, связанными с кэшем исправлений. Дело в том, что VSMT версии 1.1 требует .NET Framework 1.1 сборки Microsoft.VirtualServer.Interop версии 1.465. Virtual Server 2005 R2 с пакетом исправлений SP1 разработан на базе версии 1.603, но проблема даже не в этом. В процессе создания Virtual Server 2005 R2 SP1 группа разработчиков Microsoft перешла на .NET Framework 2.0, таким образом, все версии сборок относятся к .NET Framework 2.0. VSMT 1.1 не может взаимодействовать с новой версией сборки Microsoft.VirtualServer.Interop, так как отсутствует обновленная версия VSMT, скомпилированная на базе .NET Framework 2.0.
Для решения проблемы необходимо на сервере MobileP2 V сохранять Virtual Server 2005 R2 той версии, которая содержит корректную сборку. Это не окажет никакого влияния на созданные виртуальные жесткие диски VHD, если только вы не захотите установить на всех перенесенных виртуальных машинах дополнительные компоненты для виртуальных машин Virtual Machine Additions из выпуска SP1 (build 813).
Добавление поддержки Windows Server 2003 SP2 к каталогу исправлений VSMT
становка по умолчанию VSMT 1.1 не содержит файлов исправлений, входящих в пакет Windows Server 2003 Service Pack 2. Эти файлы необходимы для выполнения завершающих задач развертывания системы, кроме того, их наличие обязательно при выполнении проверок оборудования на исходном сервере с установленным SP2.
Для обновления имеющейся установки VSMT 1.1 файлами Windows Server 2003 SP2 нужно загрузить самораспаковывающийся архив SP2 с сайта www.microsoft.com/downloads. Распакуйте SP2 для Windows 2003 Server в каталог C:TempSP2 с использованием параметра/x в окне командной строки.
Создайте подпапку с именем SP2 в папке C:Program FilesMicrosoft VSMTPatchesSource5.2.3790. Скопируйте все XML-файлы из папки …5.2.3790 в папку …5.2.3790SP2. Скопируйте следующие файлы из папки C:TempSP2, содержащей распакованный SP2 для Windows Server 2003: ntoskrnl.exe, ntkrnlpa.exe, winsrv.dll, ntdll.dll, kernel32.dll, halacpi.dll, HAL.dll, aic78 xx.sys, atapi.sys, intelide.sys, pciide.sys, pciidex.sys, win32 k.sys. Обновите кэш с помощью VMPatch:
VMPatch/s: c: empsp2
Теперь ваша установка VSMT готова к миграции серверов Windows Server 2003 с установленным SP2.