The virt-v2v tool converts virtual machines from foreign hypervisors, including their disk images and metadata, for use with Red Hat Enterprise Linux KVM, Red Hat Virtualization, and Red Hat Enterprise Linux OpenStack Platform. virt-v2v can convert Red Hat Enterprise Linux and Windows guests running on Xen and VMware ESX environments.
This article provides an overview of virtual machine conversions and links to procedures for specific types of conversions.
virt-v2v is included in Red Hat Enterprise Linux 7 and Red Hat Enterprise Linux 8 and is installed with the virt-v2v package. In Red Hat Enterprise Linux 7, virt-v2v is also available from the Red Hat Enterprise Linux OpenStack Platform channel.
Important: virt-v2v is currently only supported on the AMD64 and Intel 64 architecture, also known as x86_64. On other architectures, including IBM Z, IBM POWER, and 64-bit ARM, virt-v2v is not available.
Guest virtual machines running the following operating systems can be converted by virt-v2v to run on KVM:
- Red Hat Enterprise Linux 3.9
- Red Hat Enterprise Linux 4
- Red Hat Enterprise Linux 5
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- SUSE Linux Enterprise Server 11, SP4 and later *1
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15
- SUSE Linux Enterprise Desktop 11, SP4 and later *1
- SUSE Linux Enterprise Desktop 12
- SUSE Linux Enterprise Desktop 15
- Windows XP
- Windows Vista
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10
- Windows Server 2003
- Windows Server 2008
- Windows Server 2008 R2
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
Windows Server 2019
In Red Hat Enterprise Linux 7.4 and later, virt-v2v can also convert virtual machines running Debian and Ubuntu, but these conversions are only available as a Technology Preview and thus are not supported. In addition, converting Debian and Ubuntu VMs currently has the following known issues:
- virt-v2v cannot change the default kernel in the GRUB2 configuration, and the kernel configured in the guest is not changed during the conversion, even if a more optimal version of the kernel is available on the guest.
- After converting a Debian or Ubuntu VMware guest to KVM, the name of the guest's network interface may change, and thus requires manual configuration.
Conversions from following hypervisors are supported:
- Red Hat Enterprise Linux 5 Xen
- VMware vSphere ESX / ESX(i) - versions 3.5, 4.0, 4.1, 5.0, 5.1, 5.5, 6.0, 6.5, 6.7
Note: virt-v2v conversions of any operating system than listed above, as well as conversions from any other hypervisor than listed above, are not supported by Red Hat, even if they may in some cases work. In addition, virtual machines that use the UEFI firmware are currently supported for conversion only to Red Hat Virtualization.
How does the V2V conversion process work?
virt-v2v automatically creates a guest on the target hypervisor for each of the converted virtual machines. To convert a virtual machine:
1. Prepare the destination host:
1a. Install virt-v2v on the host.
1 b. Configure local storage and network interfaces, if needed. For details of the local storage requirements, see the instructions for your specific conversion scenario.
Note: Ensure that the connection between the conversion server and the system with the foreign hypervisor is as fast as possible and has low latency.
2. Prepare the guest:
2a. For Linux guests, ensure that virtio is enabled on the guest. For details, see Enabling virtio.
2b. Ensure the guest is shutdown/offline before conversion.
3. Convert the virtual machine via the command line with input and output options.
3a. For details about specific conversions, see one of the following:
- Converting a VMware vCenter Linux virtual machine to KVM
- Converting a VMware vCenter Windows machine to KVM
- Converting a Linux machine on a Xen hypervisor to KVM
- Export a guest from VMware as an OVA file, and import it into KVM
3b. Verify the new guest's functions completely before deleting it from its original hypervisor.
For information on converting a virtual machine to run on Red Hat Virtualization, see Importing a Virtual Machine from a VMware Provider.
For information on converting a virtual machine to run on Red Hat Enterprise Linux OpenStack Platform, see Converting VMware guests to import to Red Hat Enterprise Linux OpenStack Platform.
For information on converting a physical machine from another hypervisor with virt-v2v and virt-p2v, see Converting physical machines to KVM virtual machines using virt-p2v in RHEL7.
Converting SUSE Linux Enterprise Server and SUSE Linux Enterprise Desktop guest operating systems requires RHEL 7.7 or later, or RHEL 8.
In addition, virtual machines that use X graphics and a SUSE Linux Enterprise Server 11 or SUSE Linux Enterprise Desktop 11 operating system should be re-adjusted after the conversion for the graphics to work properly. To do so, use the sax2 distribution tool in the guest OS after the migration is finished.