Libvirt a collection of software that provides a convenient way to manage virtual machines and other virtualization functionality, such as storage and network interface management has reached version 1.0.0. as announced by Daniel Veillard from Red Hat.
These software pieces include an API library, a daemon (libvirtd), and a command line utility (virsh) and is intended to be a building block for higher level management tools and for applications focusing on virtualization of a single node. The projects goal is to to provide a common and stable layer sufficient to securely manage domains on a node, possibly remote. The project is sponsored by Red Hat and started in December 2005.
Libvirt provides the following features:
- Remote management using TLS encryption and x509 certificates
- Remote management authenticating with Kerberos and SASL
- Local access control using PolicyKit
- Zero-conf discovery using Avahi multicast-DNS
- Management of virtual machines, virtual networks and storage
- Portable client API for Linux, Solaris and Windows
Libvirt is used by Eucalyptus, the Infrastructure as a Service (IaaS) provider for example, but also by many other applications, tools and solutions as mentioned on this page.
Libvirt supports the following hypervisors:
- LXC – Linux Containers
- OpenVZ
- QEMU
- Test – Used for testing
- UML – User Mode Linux
- VirtualBox
- VMware ESX
- VMware Workstation/Player
- Xen
- Microsoft Hyper-V
- IBM PowerVM (phyp)
Besides that it supports Virtual networks using bridging, NAT, VEPA and VN-LINK and
Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems.