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

minger0/virt-v2v

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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
======================================================================

Install dependencies
  sudo apt install build-essential ca-certificates gcc make automake libtool libguestfs-tools libguestfs-dev libnbd-dev gettext libpcre2-dev libvirt-dev libxml2-dev libjansson-dev libosinfo-1.0-dev ocaml-findlib libvirt-ocaml-dev libguestfs-ocaml-dev libnbd-ocaml-dev

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.9.3 (https://gitlab.com/nbdkit/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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 56.8%
  • Shell 14.0%
  • Makefile 8.9%
  • C 8.1%
  • Python 4.9%
  • Perl 3.7%
  • Other 3.6%