Skip to content

Virt-v2v converts guests from foreign hypervisors to run on KVM

License

Notifications You must be signed in to change notification settings

libguestfs/virt-v2v

Folders and files

NameName
Last commit message
Last commit date
Feb 16, 2025
Apr 14, 2020
Feb 19, 2025
Feb 18, 2025
Feb 18, 2025
Nov 21, 2022
Feb 16, 2025
Feb 16, 2025
Feb 16, 2025
Feb 18, 2025
Feb 19, 2025
Feb 16, 2025
Feb 16, 2025
Feb 16, 2025
Feb 16, 2025
Feb 19, 2025
Feb 16, 2025
Apr 12, 2022
Feb 16, 2025
Nov 16, 2023
Dec 5, 2024
Apr 14, 2021
Nov 19, 2019
Feb 17, 2025
Dec 2, 2024
Jul 5, 2022
Feb 16, 2025
Oct 16, 2019
Oct 16, 2019
Dec 2, 2024
Feb 16, 2025
May 20, 2021
Feb 16, 2025
Feb 16, 2025
Dec 12, 2019
Feb 16, 2025
Feb 16, 2025
Feb 16, 2025
Feb 16, 2025

Repository files navigation

Virt-v2v is a program that converts a single guest from a foreign
hypervisor to run on KVM.  It can read Linux and Windows guests
running on VMware, Xen, Hyper-V and some other hypervisors, and
convert them to KVM managed by libvirt, OpenStack, oVirt, Red Hat
Virtualisation (RHV) or several other targets.  It can modify the
guest to make it bootable on KVM and install virtio drivers so it will
run quickly.

There is also a companion front-end called virt-p2v
(https://github.com/libguestfs/virt-p2v) which comes as an ISO, CD or
PXE image that can be booted on physical machines to virtualize those
machines (physical to virtual, or p2v).

Virt-v2v and virt-p2v have been in continuous development since 2007.

For more information about virt-v2v and virt-p2v please read the
respective manual pages.  For virt-v2v, see the docs/ subdirectory in
the source tree.


BUILDING FROM SOURCE
======================================================================

To build from git:

  git submodule update --init
  autoreconf -i
  ./configure
  make

To build from tarball:

  ./configure
  make

You can run virt-v2v without installing it:

  ./run virt-v2v ...

To run the tests:

  make check


REQUIREMENTS
======================================================================

* libguestfs (https://libguestfs.org)

* OCaml bindings for libguestfs

* OCaml bindings for libvirt (https://gitlab.com/libvirt/libvirt-ocaml)

* libnbd >= 1.14 (https://gitlab.com/nbdkit/libnbd)

* The 'nbdinfo' and 'nbdcopy' programs from libnbd.

* OCaml bindings for libnbd

* nbdkit >= 1.27.4 (https://gitlab.com/nbdkit/nbdkit)

* These nbdkit plugins and filters:

  + nbdkit-curl-plugin
  + nbdkit-file-plugin
  + nbdkit-nbd-plugin
  + nbdkit-null-plugin
  + nbdkit-python-plugin
  + nbdkit-ssh-plugin
  + nbdkit-vddk-plugin

  + nbdkit-cacheextents-filter
  + nbdkit-cow-filter
  + nbdkit-multi-conn-filter
  + nbdkit-rate-filter
  + nbdkit-retry-filter

* qemu-nbd

* qemu-img

Optional, for enhancements to the basic program:

* OCaml gettext

* virtio-win (Windows virtio device drivers)

Optional, used by the test suite:

* guestfish

* OCaml oUnit2