Tag Archives: virt-v2v

Please don’t do this (v2v and p2v requests that are wrong)

Using v2p to get around Oracle support contracts

Problem: Oracle won’t support the database in a virtualized environment. If you report a bug, they’ll ask you to reproduce it on a supported (ie. physical) machine.

Wrong solution: We’ll run Oracle in a VM. When we run into trouble, we’ll use a V2P tool to convert the virtual machine to a physical machine!

Why this is wrong: Conversion involves copying the disks, ripping out device drivers, adding new device drivers, fiddling with configuration files, doing resize ops on filesystems, and reinstalling the boot loader. These are (a) slow, (b) very intrusive, and (c) liable to break. This is all a recipe for turning a small disaster (ie. my database is down) into a very big disaster (my database is still down and the hairy support “solution” took 6 hours and didn’t work).

Good solution: Oracle are probably right that you shouldn’t try to run your database virtualized. But assuming you want to ignore that advice, put your database and its files onto a separate SAN LUN. When you need support, detach the LUN from the virtual machine and reattach it to a physical machine. This operation should be instantaneous and doesn’t involve any modification of the data.

Using p2v and v2p to test upgrades

Problem: It’s not easy to test an upgrade on a production physical machine.

Wrong solution: Virtual machines let you snapshot, test your upgrade on the snapshot, and if it’s bad you just throw away the snapshot. Therefore to test our upgrade, we’ll convert the physical machine to virtual (P2V), do the test, and if it works we’ll convert it back to a physical machine (V2P)!

Why this is wrong: Conversion involves a slow disk copy and a very intrusive set of modifications to the configuration. P2V followed by V2P is not a symmetric operation that leaves you with an identical machine. More than likely it’ll simply break the machine, and if it doesn’t, then drivers could be less than optimal after the conversion. Plus (unlike with virtualized environments) your physical machine is a one-of-a-kind system, and if you break it with a hairy set of P2V and V2P operations you can’t just roll back to a previous snapshot.

Good solution: Virtualize your workloads! If you don’t want to do that, use a filesystem like btrfs/ZFS that lets you do cheap snapshots, or use the snapshot feature of your SAN. In any case, always arrange your production environment so that you have a staging mirror on which to do tests before you deploy anything to production, and have a tested back-out plan.

Using multiple v2v steps

Problem: We don’t have a conversion tool that can do (eg.) Citrix Xen to KVM in one step.

Wrong solution: We found something on the web that can do Citrix to VMware, and Red Hat have a great tool for doing VMware to KVM, so we’ll just run one after the other!

Why this is wrong: Conversion involves a large set of intrusive changes on the guest such as installing device drivers for the particular target hypervisor. Doing this in two steps means you go through two rounds of intrusive changes to your guest, and it’s unlikely that anyone has tested both together. Most likely it’ll break, or leave your guest with conflicting device drivers.

Good solution: Sorry, but at the moment there isn’t a good solution, but that doesn’t mean you should use the bad solution. It could be your best bet is to reinstall the guest from scratch on the target VM.

1 Comment

Filed under Uncategorized

P2V and V2V: new release

Matt has just released virt-p2v and virt-v2v 0.8.5. Packages will be available in Fedora 16 updates-testing shortly. Read this for the full instructions:



Filed under Uncategorized

virt-p2v, virt-v2v in Fedora 14+

I have built latest virt-p2v and virt-v2v packages for Fedora 14, 15, 16 and Rawhide. These are highly experimental and may not work, but please help us to try them out.

virt-p2v Rawhide
virt-p2v F16
virt-p2v F15
virt-p2v F14

virt-v2v Rawhide
virt-v2v F16
virt-v2v F15
virt-v2v F14

For virt-p2v you have to run virt-p2v-image-builder. For more details see the virt-p2v and virt-v2v home page.

If you find problems, join us on #libguestfs on FreeNode, or post to the virt-tools mailing list.


Filed under Uncategorized

New virt-p2v and virt-v2v page

I’ve added a virt-p2v and virt-v2v page describing the new version and where to get all the sources etc.


Filed under Uncategorized

libguestfs, virt tools, virt-v2v, virt-p2v Summit video

The video is up here. It’s only available to Red Hat subscribers. You’ll need an RHN account of some sort for access.

The handouts which go with the talk are here.

Thanks to Sean Huck who did a good job editing the video into shape.

Leave a comment

Filed under Uncategorized

Red Hat Summit: hand-outs for our talk

Thanks to everyone who came to our Summit talk this year. We must have had over 200 people there.

There will be a video — it’s not up yet.

In the meantime, here are the hand-outs which contain background, documentation and worked examples. Both are PDFs:


Filed under Uncategorized

Reminder: Summit talk on libguestfs, virt-v2v

Anyone who’s coming to the Red Hat Summit next week (Boston USA, May 3-6), please remember to drop in at our talk on libguestfs, the virt tools, virt-v2v and virt-p2v. It’s on Wednesday morning at 11.30am.

I will be live demonstrating guestfish, virt-resize and more. Matt will be showing us virt-v2v and the new version of virt-p2v that he has written.

To head off the expected question: Will the slides be available after the talk? Mine won’t because I don’t really “do” slides. However there will be a handout available (either on this blog or on the summit web pages or both) which covers all the background material and contains additional worked examples and exercises. We are hoping the talk will also be videoed like last year.

Leave a comment

Filed under Uncategorized

New virt-p2v screenshot


Filed under Uncategorized

Guest post: Converting VMware guests to libvirt/KVM guests

This is a guest post by Marko Myllynen.

VMware guests can be converted as Libvirt/QEMU/KVM guests without any need for proprietary VMware tools. There are two ways to do the conversion, use the one appropriate for your environment.

Converting On-Disk VMware Guests to Libvirt Guests

This method is suitable if you have locally the VMDK image file (e.g., the Virtual XP image from local Service Desk).

First, install needed packages:

# yum install qemu-img libguestfs-tools libguestfs-winsupport virsh

[RWMJ notes: libguestfs-winsupport package is only needed on RHEL 6 hosts]

Then, you’ll need to acquire the Windows registry entries described in Microsoft KB article 314082 and adjust them for use with virt-win-reg (that is, replace all CurrentControlSet instances with ControlSet001 and make sure the file is properly encoded – see the virt-win-reg(1) manual page for details). The resulting file is also available here. The steps below expect that the entries are available in the file named ./mergeide.reg.

Also, you’ll need to create a domain XML definition file for your new libvirt guest. Please download this file as ./virtual-xp.xml and adjust the following fields as needed:

  • name
  • uuid
  • memory / currentMemory
  • arch
  • mac address

Note: you *must* set the full path of the virtual image inside the XML (look for the source file definition).

Finally, the actual conversation can be done in three steps:

# qemu-img convert virtual-xp.vmdk virtual-xp.img
# virt-win-reg --merge virtual-xp.img mergeide.reg
# virsh --connect qemu:///system define virtual-xp.xml

After this you should see your new XP VM in your virt-manager display.

Converting VMware Guests from ESX Server to Libvirt Guests

This method is suitable if your VMware guests are on an ESX server. Please install virt-v2v and see the manual page virt-v2v(1) for details.

Thanks Marko for this excellent tip!


Filed under Uncategorized

Red Hat Summit video online

I’m working to get this in a more usable format, but at the moment if you have flash you can watch Matt and I presenting virt-v2v and libguestfs at the URL below.

Click “Red Hat Summit”, then “V2V VMWare/Xen”.

Matt does the first 30 minutes, then I take over at almost exactly the 30’00 mark in the video.



Filed under Uncategorized