[Libguestfs] Updated Windows P2V migration recipe 2011-1209

Greg Scott GregScott at Infrasupport.com
Sat Dec 10 04:12:51 UTC 2011


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 at Fedora16P2V virt-v2v]# pwd
/var/lib/virt-v2v
[root at 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 at 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.





More information about the Libguestfs mailing list