{{Lowercase}} {{short description|Management tool}} {{Infobox software | name = libvirt | logo = Libvirt logo.svg | screenshot = <!-- name is enough--> | caption = | collapsible = | author = | developer = Red Hat | released = {{start date and age|2005|12|19}}<ref>{{cite web|url=https://libvirt.org/news-2005.html|title=0.0.1: Dec 19 2005|website=libvirt|date=2017-06-16|access-date=2017-06-16|archive-date=2020-02-20|archive-url=https://web.archive.org/web/20200220100525/https://libvirt.org/news-2005.html|url-status=dead}}</ref> | discontinued = | latest release version = {{wikidata|property|reference|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}} | latest preview version = | latest preview date = | status = | programming language = C | operating system = Linux, FreeBSD, Windows, macOS<ref name="homepage">{{cite web|url=https://libvirt.org|title=libvirt home page description}}</ref> | platform = | size = | language = | genre = Library | license = GNU Lesser General Public License | logo_size = 250px | frequently updated = }}

'''libvirt''' is an open-source API, daemon and management tool for managing platform virtualization.<ref name="homepage"/> 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.

==Internals== [[File:Libvirt support.svg|thumb|300px|libvirt supports several Hypervisors and is supported by several management solutions]]

libvirt is a C library with bindings in other languages, notably in Python,<ref>{{ cite web | url=https://libvirt.org/python.html | title=Python bindings }}</ref> Perl,<ref>{{ cite web | url=https://metacpan.org/module/Sys::Virt | title=Perl bindings }}</ref> OCaml,<ref>{{ cite web | url=https://libvirt.org/ocaml/ | title=OCaml bindings }}</ref> Ruby,<ref>{{ cite web | url=https://libvirt.org/ruby/ | title=Ruby bindings }}</ref> Java,<ref>{{ cite web | url=https://www.libvirt.org/java.html | title=Java bindings }}</ref> JavaScript (via Node.js)<ref>{{ cite web | url=https://www.npmjs.com/package/libvirt | title=Node.js module | date=9 January 2017 }}</ref> and PHP.<ref>{{ cite web | url=https://libvirt.org/php/ | title=PHP bindings }}</ref> 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.

===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<ref>{{Cite web|url=http://dtrace.org/blogs/bmc/2011/08/15/kvm-on-illumos/|title=The Observation Deck » KVM on illumos|date=15 August 2011 }}</ref> * 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 <!-- * Parallels Workstation – hypervisor for Mac by Parallels IP Holdings GmbH --> * Bhyve – hypervisor for FreeBSD 10+<ref>{{Cite web|url=https://wiki.freebsd.org/bhyve#line-19|title=bhyve - FreeBSD Wiki|website=wiki.freebsd.org}}</ref> (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.<ref>{{ cite web | url=https://press.redhat.com/2008/06/18/more-on-red-hat’s-virtualization-news/ | title=oVirt Virtualization Management Platform }}</ref>

==Corporate== Development of libvirt is backed by Red Hat,<ref>{{ cite web | url=https://press.redhat.com/2009/09/02/innovation-without-disruption-red-hat-enterprise-linux-5-4-now-available/ | title=Innovation Without Disruption: Red Hat Enterprise Linux 5.4 Now Available }}</ref> with significant contributions by other organisations and individuals. libvirt is available on most Linux distributions; remote servers are also accessible from Apple {{nowrap|Mac OS X}} and Microsoft Windows clients.<ref>{{ cite web | url=https://libvirt.org/windows.html | title=Windows availability }}</ref>

==See also== {{Portal|Free and open-source software}}

* SPICE * libguestfs * {{section link|Linux range of use|Virtualizing}}

==References== {{Reflist|2}}

==Books== * {{cite book | last1 = Warnke | first1 = Robert | last2 = Ritzau | first2 = Thomas | title = qemu-kvm & libvirt | language = de | publisher = Books on Demand | location = Norderstedt, Germany | isbn = 978-3-8370-0876-0}}

==External links== * {{Official website}} * [https://libvirt.org/contact.html Mailing lists]

Category:Free software programmed in C Category:Free virtualization software Category:Hardware virtualization Category:Linux APIs Category:Red Hat software Category:Software that uses Meson Category:Virtualization software for Linux