libvirt
libvirt is an open-source API, daemon and management tool for managing platform virtualization.[3] It can be used to manage KVM, Xen, VMware ESXi, QEMU and other virtualization technologies. These APIs are widely used in the orchestration layer of hypervisors in the development of a cloud-based solution.
Developer(s) | Red Hat |
---|---|
Initial release | December 19, 2005[1] |
Stable release | 9.8.0[2]
/ 2 October 2023 |
Repository | |
Written in | C |
Operating system | Linux, FreeBSD, Windows, macOS[3] |
Type | Library |
License | GNU Lesser General Public License |
Website | libvirt |
Internals
libvirt is a C library with bindings in other languages, notably in Python,[4] Perl,[5] OCaml,[6] Ruby,[7] Java,[8] JavaScript (via Node.js)[9] and PHP.[10] libvirt for these programming languages is composed of wrappers around another class/package called libvirtmod. libvirtmod's implementation is closely associated with its counterpart in C/C++ in syntax and functionality.[11]
Supported Hypervisors
- LXC – lightweight Linux container system
- OpenVZ – lightweight Linux container system
- Kernel-based Virtual Machine/QEMU (KVM) – open-source hypervisor for Linux and SmartOS[12]
- Xen – bare-metal hypervisor
- User-mode Linux (UML) – paravirtualized kernel
- VirtualBox – hypervisor by Oracle (formerly by Sun) for Windows, Linux, macOS, and Solaris
- VMware ESXi and GSX – hypervisors for Intel hardware
- VMware Workstation and Player – hypervisors for Windows and Linux
- Hyper-V – hypervisor for Windows by Microsoft
- PowerVM – hypervisor by IBM for AIX, Linux and IBM i
- Bhyve – hypervisor for FreeBSD 10+[13] (support added with libvirt 1.2.2)
User Interfaces
Various virtualization programs and platforms use libvirt. Virtual Machine Manager, GNOME Boxes and others provide graphical interfaces. The most popular command line interface is virsh, and higher level tools such as oVirt.[14]
Corporate
Development of libvirt is backed by Red Hat,[15] with significant contributions by other organisations and individuals. libvirt is available on most Linux distributions; remote servers are also accessible from Apple Mac OS X and Microsoft Windows clients.[16]
References
- "0.0.1: Dec 19 2005". libvirt. 2017-06-16. Archived from the original on 2020-02-20. Retrieved 2017-06-16.
- Jiri Denemark (2 October 2023). "Release of libvirt-9.8.0". Retrieved 3 October 2023.
- "libvirt home page description". Archived from the original on 2016-01-18. Retrieved 2016-01-17.
- "Python bindings". Archived from the original on 2019-12-25. Retrieved 2019-12-25.
- "Perl bindings". Archived from the original on 2019-10-18. Retrieved 2013-09-16.
- "OCaml bindings". Archived from the original on 2019-12-25. Retrieved 2019-12-25.
- "Ruby bindings". Archived from the original on 2019-08-05. Retrieved 2019-12-25.
- "Java bindings". Archived from the original on 2019-12-25. Retrieved 2019-12-25.
- "Node.js module". Archived from the original on 2019-02-14. Retrieved 2016-08-16.
- "PHP bindings". Archived from the original on 2019-08-06. Retrieved 2019-12-25.
- "Open Source | Clusterlogics | Software Solutions for Your Business". ClusterLogics. Archived from the original on 2023-05-30. Retrieved 2023-08-09.
- "The Observation Deck » KVM on illumos". Archived from the original on 2019-05-18. Retrieved 2016-01-20.
- "bhyve - FreeBSD Wiki". wiki.freebsd.org. Archived from the original on 2021-01-28. Retrieved 2016-01-20.
- "oVirt Virtualization Management Platform". Archived from the original on 2010-06-05. Retrieved 2019-12-25.
- "Innovation Without Disruption: Red Hat Enterprise Linux 5.4 Now Available". Archived from the original on 2023-08-10. Retrieved 2019-12-25.
- "Windows availability". Archived from the original on 2019-12-25. Retrieved 2019-12-25.
Books
- Warnke, Robert; Ritzau, Thomas (2009). qemu-kvm & libvirt (in German). Norderstedt, Germany: Books on Demand. ISBN 978-3-8370-0876-0.