Look into libvirt Osier Yang <email@example.com>
Status● First release on Dec 19 2005● 1.0.0 in two weeks. (Finally)● 25 maitainers/commiters.● 200 ~ 300 patches per release● Less than 300 APIs
Why libvirt?● Long term API/ABI/XML back-compact● Portable between various HVs● Hides complex interfaces of HV● Hides HVs API changes● Available on Linux, Solaris, Windows & OS-X● Secure access (TLS, SASL, SSH, PolicyKit)● Open, LGPLv2+ license
libguestfs● For accessing and modifying virtual machine (VM) disk images● View and edit files inside guests● Scripting changes to VM● Monitoring disk used/free statistics● P2V, V2V● Performing partial backups● Cloning VMs, etc..
How libguestfs works Appliance client qemu guestfsdlibguestfs Linux kernel Device or Disk image
virt-v2v● Convert VMs on XEN/ESX to RH virt stack● Support guests of RHEL, Fedora, Windows● Based on libguestfs and libvirt
How virt-v2v works● Shutdown guest on source host● Use libvirt to get domain XML config● Copy storage● Convert storage and modify XML● Use libvirt to define and start the domain on dest host
The conversion - RHEL/FC● Remove XEN/ESX specific stuffs (E.g. xenpv kernel/drivers, VMWare tools)● Install or update kernel, try best to let it support virtio● Update block and network drivers
Ongoing or TODO● Snapshot improvements● Storage driver improvements (glusterfs, job, inotify)● LXC driver improvements● Persistent vHBA● Migration with NPIV● Associate storage with domain● Improve device hotplug
Ongoing or TODO● Lifecycle events for all objects● Role based access control on all public APIs● Isolate QEMU process with Linux Container namespaces.● APIs to expose host/hyperviors capabilities● Etc...
http://libvirt.org firstname.lastname@example.org@redhat.com #virt on OFTC