Executive Summary:
Save your organization time and server space by performing a physical to virtual (P2V) migration using the Virtual Server Migration Toolkit (VSMT) and Mobile Automated Services (ADS). This mobile P2V solution gives you the flexibility to handle migrations anywhere in the organization.
|
If you’re up against a tight OS migration
deadline, you’ll be a hero if you have a
fully functional and tested physical to
virtual (P2V) solution on a server that
you can take anywhere in your organization.
A P2V solution lets you perform
a migration with no impact on or reconfiguration
of your production network. I’ll explain the inner
workings of the Microsoft Virtual Server Migration
Toolkit (VSMT) and demonstrate how to
configure a mobile server using ADS for the P2V
migration.
I’ll pick up where I left off in this series. In
“ADS Unplugged” (October 2006, InstantDoc
ID 93625), I showed how to build a basic mobile
ADS solution for Windows OS migrations. Then,
in the Web-exclusive article, “Kick Your Mobile
ADS Solution Up a Notch” (February 2007,
InstantDoc ID 94982), I went over how to install
VSMT to extend the mobile ADS solution to perform
physical machine to virtual machine migrations.
Now I’ll demonstrate how to use VSMT to
perform a P2V machine migration.
Before You Begin
Using this series of articles, you’ve seen how to
create a mobile ADS solution by assembling
the necessary hardware on a movable cart and
installing the basic software: Windows Server
2003 Enterprise Edition, Dynamic Host Configuration
Protocol (DCHP) Server, ADS 1.1,
Virtual Server 2005 R2 SP1, and VSMT 1.1. I call
the source server Testserver, and I assume it’s
running Windows Server 2003, Enterprise. To
perform a P2V migration, you need to follow 10
steps, as I’ll show in this article.
Before you begin, put some time into deciding
whether your servers are good candidates
for a P2V conversion. Sometimes it’s not worth
it to perform a P2V migration on an unstable
production server because the instability issue
just comes along during the migration. If this is
the case, it might be better to rebuild the virtual
machine from scratch and move the data from
the old physical server to the new virtual server.
In addition for servers that have OEM system
applications, you should uninstall or disable
them before you attempt a P2V migration to
ensure that they will not interfere with the virtual
machine on first boot.
Are your servers are good candidates for a P2V
conversion? If so, you’re ready to get started.
Step 1: Prepare the Source System
Although VSMT doesn’t modify the source system,
I recommend that you follow the best practice
of backing up the source system before you start the P2V migration process. In addition, disable
any drivers or applications that are specific to the
physical hardware and that won’t be available in the
virtual machine environment.
Step 2: Prepare the MobileP2V Server
VSMT includes a tool called GatherHW.exe that collects
the physical hardware information on the source
server and creates an XML configuration file you can
use to analyze the source server for any known hardware
incompatibilities in the source system (dynamic
disks, more than 3.6 GB RAM, unsupported devices,
and so forth). To run GatherHW.exe, you must copy
it to the source system. I recommend creating a share
called VSMT on the MobileP2V server in the VSMT
installation folder, which is by default C:\Program
Files\Microsoft VSMT. You’ll also need a place to
store the XML files that GatherHW.exe produces, so
create a directory called C:\P2VSource on MobileP2V
and share it as P2VSource, specifying local administrator
write permissions.
Here’s quick summary of the MobileP2V server
drive configurations you’ll be using: C drive (C: -
operating system), D drive (D: - ADS image files), and
E drive (E: - virtual machine storage).
Step 3: Gather the Configuration Information
Once you’ve created the shares on the MobileP2V
server, log on to Testserver as the local administrator.
Then, create a directory called C:\VSMT, and
map a network drive to \\MobileP2V\VSMT. Copy
GatherHW.exe to C:\VSMT. Double-click GatherHW
.exe on the source system to collect the configuration
information. GatherHW.exe creates an XML file with
the name of the source system (e.g., Testserver.xml)
in the directory. Copy the XML file to \\MobileP2V P2VSource.
Step 4: Validate the
Configuration Information
After collecting the configuration information from
Testserver with GatherHW.exe, use VMScript.exe
(which was installed on Mobile P2V as part of VSMT)
to validate the data. To run VMScript.exe against the
XML file, log on to the MobileP2V server and open a
command prompt. Change directory to C:\Program
Files\Microsoft VSMT. In the command window,
execute the VMScript by typing:
VMScript.exe /hwvalidate /hwinfofile:”C: P2VSource\Testserver.xml”
VMScript analyzes the XML file and reports any
errors or configuration issues with the source hardware.
(Note that some server hardware such as special
add-in boards, USB-attached devices, and other
devices—such fiber channel host bus adapters—
won’t work on virtual machines.)
Examine the VMScript output for any issues,
warnings, or errors. Use Vmpatch.exe to correct any
issues and copy any missing system files, service
packs, or hotfix files before continuing. If you receive the following error regarding missing Windows
Server 2003 Service Pack 2 (SP2) files,
see the sidebar, “Adding Windows Server
2003 SP2 Support to the VSMT Patch Directory,”
for how to update the patch cache with
Windows 2003 SP2 drivers.
Error: Cannot find patch files for the operating
system/service pack level in the C: Program Files\Microsoft VSMT\Patches Source\5.2.3790\SP2 directory.
Continued on page 2
Step 5: Generate the
Migration Scripts
After you’ve resolved any issues with the
Testserver configuration and you’ve rerun
VMScript until there are no blocking issues,
generate the migration scripts. These scripts
control disk image capture, virtual machine
creation, and disk image deployment to
the virtual machine. To generate the migration
script, run VMScript with the following
syntax:
VMScript /hwgeneratep2v /
hwinfofile:”path\Source.xml” /
name:vm_name /vmconfigpath:”vm
path” /virtualDiskPath:”vm path” /
hwdestvs:controller_server
In this script, path\Source.xml is the path
to the xml configuration file (C:\P2VSource TestServer.xml), vm_name is the name to
assign to the virtual machine in the Virtual
Server console (TESTMIGRATION), vm path
is the location where you want the .vmc and
the .vhd files to be stored on the specified
host (E:\VMs), and controller_server is the
name of the Virtual Server host
(MobileP2V).
By default, the migration
scripts are configured to create
fixed-size virtual hard disks.
If the physical disks on the
source system have an extensive
amount of unallocated free
space or you don’t want to use
fixed-size virtual hard disks,
execute VMScript with the /
virtualDisk-Dynamic option.
This option also speeds up the
virtual machine creation process.
If you use /virtualDisk-
Dynamic the command line
looks like:
VMScript /hwgeneratep2v /hwinfofile:”C: P2VSource\TestServer.xml” /
name:TESTMIGRATION /vmconfigpath:”E: VMs” /virtualDiskPath:” E:\VMs” /
hwdestvs:MOBILEP2V /virtualDiskDynamic
VMScript.exe generates the migration
scripts in a subdirectory, C:\Program Files Microsoft VSMT\p2v\TESTMIGRATION.
Execute the VMScript command line, and
you’ll see the output shown in Figure 1.
VMScript creates 12 output files that are
used during the migration process. The
readme file, TestMigration_P2V_Readme
.txt, provides information about script creation
and driver issues. The three XML
files contain information used during the
migration about the hard disk and
driver configuration. The TestMigration_
boot.ini file is a copy of
the boot.ini information from the
source machine. You’ll execute
three scripts directly during the
migration process: TestMigration_
Capture.cmd captures the source
disk drives into ADS images, Test-
Migration_CreateVM.cmd creates
the target virtual machine
using the source configuration
information, and TestMigration_
DeployVM.cmd images the captured
source disk images to the
target VM drives.
VMScript also creates a subdirectory
called Patches. It is automatically
populated with known patches
that you’ll need to install.
Step 6: Load the
Required Drivers into ADS
When VMScript validates the source system
configuration information, it doesn’t
validate that all the required drivers are
installed in the ADS file cache. The most
important driver to install is the source system
network card. Without this driver, the
source server can’t be captured. Download
the latest network interface card drivers for
the source system to a temporary directory
on MobileP2V. Copy the driver files into
C:\Program Files\Microsoft ADS\NBS Repository\User\PreSystem. When you
copy the network interface card driver files
into the ADS file cache, don’t create any
subdirectories or include Txtsetup.oem files.
The subdirectories aren’t needed because
the driver files must be placed directly in the
PreSystem directory, and the Txtsetup.oem
file isn’t used.
After you’ve copied the files, restart the
ADS Builder service so that it finds the new
drivers. Open a command window and type
net stop adsbuilder
Then press Enter. Type
net start adsbuilder
Then press Enter.
Step 7: Capture the
Testserver System Disk
Now you’re ready to capture the Testserver
system disk images. The TestMigration_Capture.
cmd migration script executes and
leverages ADS to capture each disk image
sequentially. Log on to MobileP2V as local
administrator and follow these steps to start
the disk image capture process of TestServer.
Open a command window and change directories
to C:\Program Files\Microsoft VSMT p2v\TestMigration. Execute the TestMigration_
capture.cmd script. When prompted,
log on to the source server, Testserver, restart
it, and boot it to the Pre-execution Environment
(PXE) interface.
ADS takes control of the source system
and boots it into the Deployment Agent to
initiate the disk image capture. To follow
the progress of each disk image capture, you
can use the Automated Deployment Service
MMC snap-in on the Controller server. In
the MMC snap-in, go to Devices, Running
Jobs, then double-click on the running
job, as shown in Figure 2. Image captures
can take awhile depending on the size and
number of the disks. If the server has a slow
network interface, consider updating the
interface card to a faster card connected to a
faster port to reduce the transfer time. When
the image captures are complete, ADS shuts
down and removes the source system from
the device database. The last task before the script terminates is changing system file
attributes, as shown in Figure 3.
Step 8: Create the Virtual Machine
Before you migrate the captured disk images,
you must create the virtual machine and
configure it with the same memory, disk,
and network configuration as the physical
machine. The TestMigration_CreateVM.cmd
script (one of the scripts that VMScript generates)
automates this for you. To launch the
script, open a command window and change
directories to C:\Program Files\Microsoft
VSMT\p2v\TestMigration. Execute the Test-
Migration_CreateVM.cmd script. The script
creates a new virtual machine configuration
file E:\VMS\TestMigration\TestMigration
.vmc, registers the virtual machine, connects
the virtual machine to the default virtual
network VM0, creates and attaches the virtual
hard disks (VHDs) to the virtual machine,
and attaches a Remote Installation Services
(RIS) virtual floppy disk to the virtual floppy
drive. If you get this error
Error:System.IO.FileLoadException: The
located assembly’s manifest definition with the
name ‘Microsoft.VirtualServer.Interop’ does
not match the assembly reference.
then the MobileP2V server is running Virtual
Server 2005 R2 Service Pack 1(SP1). VSMT
1.1 is compatible with Virtual Server 2005 R2
but not Virtual Server 2005 R2 SP1, Refer to
the sidebar, “Why VSMT 1.1 Doesn’t Support Virtual Server 2005 R2 SP1,” for more
information on how to resolve this issue.
When all these tasks are complete, check
the ADS device database using the ADS MMC
snap-in. The virtual machine should have
been added to the ADS device database and
set to boot to the Deployment Agent.
Continued on page 3
Step 9: Deploy the
ADS Disk Images to the TestMigration Virtual Machine
After the virtual machine is created, the
source server disk images must be restored.
TestMigration_DeployVM.cmd controls
this part of the migration procedure. To
restore the source disk images and deploy
the virtual machine, go to C:\Program
Files\Microsoft VSMT\p2v\TestMigration
and execute
TestMigration_DeployVM.cmd
To follow the progress of the virtual
machine deployment, you can use the Virtual
Server 2005 R2 Administration Website
on the Controller server. You’ll see the
virtual machine boot into the Deployment
Agent and the disk images restore to the
virtual hard disks, as shown in Figure 4. The
hardware-dependent system files are then
swapped for virtual machine-compatible
versions, and required operating system
configuration settings are applied.
If you use the MMC snap-in to check
the ADS device database, you’ll see that the
virtual machine is still in the device database. The TestMigration_DeployVM.cmd script
terminates after removing the RIS virtual
floppy disk from the virtual machine. The virtual
machine remains booted in the Deployment
Agent.
Step 10: Complete
the Migration Process
Before you complete the source system to
virtual machine migration process, perform
a few final cleanup tasks. The TestMigration
virtual machine is still booted into the
Deployment Agent, so you need to reboot
it: Open the ADS MMC snap-in, select and
right-click the TestMigration device, then
select run job. A New Job wizard launches.
Click Next. Select to create a one-time job,
and click Next. Then click Next to skip the
description screen. Select Internal command,
and click Next. Select \bmonitor reboot, and click Next. Click Finish to reboot
the TestMigration VM.
Once the machine is rebooted, release
control of the device, and delete the virtual
machine from the device database. Log on
to the virtual machine, and install the Virtual
Machine Additions to get keyboard and mouse
integration and better performance. Complete
any remaining configuration modifications,
and test the virtual machine connectivity and
performance to ensure that it’s running as
expected. Once the virtual machine testing
is complete, migrate TestMigration from the
MobileP2V solution to the production Virtual
Server host. Once you do that, you can back up
and delete the source system disk images from
the ADS image store.
Now you have a fully functional and
tested MobileP2V solution that you can take
to any part of your organization and perform
a P2V migration. So go virtualize!
Author’s Note: The instructions for the migration
have been adapted from the Virtual Server
2005 R2 Resource Kit from Microsoft Press
co-authored by Janique Carbone and me.