2. 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
3. Why libvirt?
● Long term API/ABI/XML back-compact
● Portable between various HVs
● Hides complex interfaces of HV
● Hides HV's API changes
● Available on Linux, Solaris, Windows & OS-X
● Secure access (TLS, SASL, SSH, PolicyKit)
● Open, LGPLv2+ license
21. 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..
22. How libguestfs works
Appliance
client
qemu
guestfsd
libguestfs
Linux kernel
Device or
Disk image
23. virt-v2v
● Convert VMs on XEN/ESX to RH virt stack
● Support guests of RHEL, Fedora, Windows
● Based on libguestfs and libvirt
24. 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
25. 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
26. 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
27. 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/hypervior's capabilities
● Etc...