There haven’t been too many updates around here for a while, and that’s for a very good reason: I’ve been “heads down” writing the new versions of virt-v2v and virt-p2v, our tools for converting VMware and Xen virtual machines, or physical machines, to run on KVM.
The new virt-v2v [manual page] can slurp in a guest from a local disk image, local Xen, VMware vCenter, or (soon) an OVA file — convert it to run on KVM — and write it out to RHEV-M, OpenStack Glance, local libvirt or as a plain disk image.
It’s easy to use too. Unlike the old virt-v2v there are no hairy configuration files to edit or complicated preparations. You simply do:
$ virt-v2v -i disk xen_disk.img -o local -os /tmp
That command (which doesn’t need root, naturally) takes the Xen disk image, which could be any supported Windows or Enterprise Linux distro, converts it to run on KVM (eg. installing virtio drivers, adjusting dozens of configuration files), and writes it out to
To connect to a VMware vCenter server, change the
-i options to:
$ virt-v2v -ic vpx://vcenter/Datacenter/esxi "esx guest name" [-o ...]
To output the converted disk image to OpenStack glance, change the
-o options to:
$ virt-v2v [-i ...] -o glance [-on glance_image_name]
Coming up: The new technology we’ve used to make virt-v2v much faster.
20 responses to “New in libguestfs 1.27.34 – virt-v2v and virt-p2v”
This = awesome. Having used the old virt-v2v at a previous job, it greatly helped our migration effort. Thank you for the hard work!
Why I’m getting wile try to execute virt-v2v with -o local parameter ?
virt-v2v: local is not a valid output method
[root@ntnx-kvm-1 ~]# virt-v2v –version
any ideas ?
You’re using the old version. Try virt-v2v 1.27, in Fedora ≥ 21 and RHEL and CentOS ≥ 7.1.
thanks, I can download only RHEL and CentOS in version7.0. Where can I get 7.1 version from ?
thank you again, i’m new blog subscriber 🙂
sorry for next dummy question but after installation libguestfs-RHEL-7.1-preview on my CentOS 7.0 I have no virt-v2v tools at all. Am I missing something ? Shell install them on RHEL 7.0 ?
Did you install the right package?
I’m getting this error while trying to install virt-v2v on my KVM
–> Finished Dependency Resolution
Error: Package: 10:qemu-kvm-rhev-2.1.0-3.rwmj3.el7.x86_64 (libguestfs-RHEL-7.1-preview)
Requires: seabios-bin >= 1.7.5-1
Installed: seabios-bin-184.108.40.206-12.el7.x86_64 (@anaconda)
seabios-bin = 220.127.116.11-12.el7
Available: seabios-bin-18.104.22.168-12.el7_0.1.x86_64 (updates)
seabios-bin = 22.214.171.124-12.el7_0.1
My KVM is nested on VMware workstation – could it be root cause of the problem ?
now I see it 🙂
let me install seabios in required version
I think that’s a bug in the repository. I’ll include the seabios package in a little while.
after seabios installation, all virt-v2v process went well
Is there a new installation process? The repo in the email is offline and I can’t seem to find virt-v2v in yum. I am running Centos 7.1.1503.
Take a look at the two emails here for packages that will run on RHEL 7.1. You will still need to find qemu-kvm-rhev (I hope CentOS ships that).
Is it still possible to do p2v on a RHEL 7.4 machine and run it virtually on a RHEL 8.4 ? Thanks!
Yes. Did you try it and find a problem?
Hi Rich, not yet but will be trying soon. Thanks.
Does p2v have any limitation with a LUKS encrypted drive? if so are there work arounds?
One more question. I have installed libguestfs and libguestfs-tools successfully via sudo yum but don’t seem to have the virt-p2v-make-disk. Any ideas? I have RHEL 7.9 if that matters.
To be honest I can’t remember about LUKS support. We’re actually hiring someone to work on virt-p2v at the moment so expect things to pick up in future. RHEL 7 doesn’t have virt-p2v-make-disk because we ship the virt-p2v ISO in RHN directly (search for virt-p2v in the portal). If you want to build the virt-p2v ISO then you’d need to use Fedora directly. You might find better support on the mailing list or our IRC channel #libguestfs on Libera.