Windows RHEV P2V Cookbook draft 2011-1209
1. Install 32 bit Fedora 16 as a virtual machine or physical host. You will use this
system to
build a .ISO file to burn to CD. Later in the process, you'll boot a source physical
machine from
this CD.
2. Install 64 bit Fedora 16 as another virtual machine or physical host. This will
become your migration
server.
3. On both the 32 and 64 bit F16 systems, cd /etc/yum.repos.d and edit the file named
fedora-updates-testing.repo. Change all lines that say "enabled=0" to
"enabled=1".
4 - Download and install virt-v2v on both the 32 and 64 bit systems. (yum install
virt-v2v). Virt-v2v is a package to migrate virtual machines from one virtual environment
to either libvirt or RHEV. It also includes the P2V extensions. Note that as of
12/9/2011, the latest version is in the fedora-updates-testing repository. That is why
you need the above step to enable the necessary repositories.
5 - Download, install, and run virt-p2v-image-builder (yum install virt-p2v-image-builder)
on the 32 bit
system. virt-p2v-image-builder is a tool that builds a .ISO file for source physical
machines to boot from.
Do this on the 32 bit system so it builds a 32 bit kernel so you can use it to boot 32 bit
hardware. Note that yum list available | grep v2v only shows virt-p2v-image-builder on
the 32 bit system and not on the 64 bit system. For now, run it like this:
virt-p2v-image-builder -a
http://download.fedora.redhat.com/pub/fedora/linux/updates/testing/16/i386
Burn the resulting .ISO file to a CD. You won't need the 32 bit system any more.
All subsequent Fedora operations will happen on the 64 bit system.
6. yum install and/or update libguestfs. This downloads and installs
libguestfs-1.14.2-1.fc16.x86_64 and all
its dependencies. (Much easier than downloading all the RPMs by hand.)
7. Edit /usr/bin/virt-p2v-server and uncomment this line
#$ENV{'LIBGUESTFS_TRACE'} = 1;
This is not strictly necessary for running P2V migrations, but the migration is a complex
process and you will want the diagnostic info in case something goes wrong.
7 - Edit the target profile on the Fedora system (/etc/virt-v2v.conf). This describes the
environment to
migrate into. The .conf file is separated into sections. Copy the appropriate section,
paste it in the
bottom, remove the comment markers, and customize with correct names of objects for this
site.
8 - Take a look at the directory /var/lib/virt-v2v. It should look like this:
[root@Fedora16P2V virt-v2v]# pwd
/var/lib/virt-v2v
[root@Fedora16P2V virt-v2v]# ls -al -R
.:
total 20
drwxr-xr-x. 3 root root 4096 Dec 9 21:30 .
drwxr-xr-x. 49 root root 4096 Nov 19 14:40 ..
drwxr-xr-x. 3 root root 4096 Dec 9 21:30 software
-rw-r--r--. 1 root root 7050 Dec 5 08:46 virt-v2v.db
./software:
total 12
drwxr-xr-x. 3 root root 4096 Dec 9 21:30 .
drwxr-xr-x. 3 root root 4096 Dec 9 21:30 ..
drwxr-xr-x. 2 root root 4096 Dec 9 21:30 windows
./software/windows:
total 80
drwxr-xr-x. 2 root root 4096 Dec 9 21:30 .
drwxr-xr-x. 3 root root 4096 Dec 9 21:30 ..
-rw-r--r--. 1 root root 994 Dec 5 08:46 firstboot.bat
-rw-r--r--. 1 root root 68928 Dec 5 08:46 rhsrvany.exe
[root@Fedora16P2V virt-v2v]#
The firstboot phase of Windows P2V migrations needs these files. If they're missing,
your P2V will run for several hours and then die. Earlier virt-v2v versions also needed a
file named rhev-apt.exe. As of version 0.8.5.1, this is apparently no longer necessary
with P2V migrations using Fedora as a migration server, although firstboot.bat still tries
to run it. I still have a copy of rhev-apt.exe on my conversion server; you can grab a
copy from the latest RHEL 6.n *virt-v2v* RPM if you need it.
9. Now try a P2V. Boot the source Windows system from the CD created earlier, connect to
the Fedora
migration server IP Address, select the profile you made and start the migration. This
should create a
virtual machine and virtual disk images in the RHEV Exports staging area.
10. When the migration finishes, use RHEV Manager to import the newly migrated virtual
machine into the RHEV
environment.