Generated by GPT-5-mini| libvirt | |
|---|---|
| Name | libvirt |
| Developer | Red Hat, QEMU Project, Linux Foundation contributors |
| Released | 2005 |
| Operating system | Linux, BSD, macOS, Windows (partial) |
| Genre | Virtualization management |
| License | LGPL |
libvirt is a toolkit providing an API for managing virtualization platforms and virtual machines. It offers a uniform interface to control hypervisors and orchestration systems used by organizations such as Red Hat, Canonical (company), SUSE, IBM, and Google. libvirt integrates with projects and products including QEMU, KVM, Xen (hypervisor), oVirt, and OpenStack to provide programmatic and CLI-based management for compute infrastructure.
libvirt abstracts hypervisor-specific details to present a common API consumed by system software and cloud orchestration layers. It is used by virtualization stacks in distributions like Fedora, Debian, Ubuntu, and SUSE Linux Enterprise Server, and by cloud platforms such as OpenStack, CloudStack, and oVirt Project. The project is driven by contributors from corporations including Red Hat, Intel, IBM, Oracle Corporation, and SUSE and integrates with ecosystem tools like Ansible (software), Kubernetes, Terraform, and SaltStack.
The architecture centers on a daemon that exposes a C ABI and bindings for languages including Python (programming language), Go (programming language), Perl, Ruby, Java, C#, Haskell, and Rust (programming language). The daemon communicates with backends implementing drivers for hypervisors such as QEMU, KVM, Xen (hypervisor), VirtualBox, Hyper-V, and LXC. Storage and networking integration involves projects like Ceph, GlusterFS, iSCSI, NFS, Open vSwitch, and Linux Bridge. The API model includes concepts of domains, networks, pools, and interfaces mapped to implementations in libvirt-daemon and client libraries used by management tools like virsh and graphical GUIs such as virt-manager.
libvirt provides lifecycle operations (create, destroy, pause, resume, migrate), resource management, snapshot control, and live migration with toolchains commonly employed by VMware, Inc., Microsoft, and cloud providers. It supports storage pool and volume management intersecting with LVM, ZFS, and enterprise storage arrays from vendors like NetApp and Dell EMC. Networking features cover virtual network creation, NAT, bridging, and integration with software-defined networking controllers such as OpenDaylight and Contrail (Juniper); it also cooperates with projects like NetworkManager and systemd. Monitoring and telemetry integration channels feed into systems including Prometheus, Grafana, Collectd, and Zabbix.
User-facing tools include the command-line utility virsh and graphical tools like virt-manager and integrations with orchestration systems such as OpenStack Nova, oVirt, and Foreman. Language bindings enable automation via Python (programming language) libraries used by Ansible (software), provisioning via Puppet (software), and configuration management in Chef (software). Continuous integration and testing use infrastructure from Jenkins, GitLab, GitHub, and Travis CI; documentation and design discussions occur on mailing lists and platforms like GitHub and the Linux Foundation events.
Backends include mature drivers for KVM, QEMU, Xen Project, Oracle VM VirtualBox, Microsoft Hyper-V, and container-based runtimes such as LXC (Linux Containers) and Docker (software). Platform support ranges across distributions including Red Hat Enterprise Linux, CentOS, Ubuntu, SUSE Linux Enterprise Server, Debian, and BSD variants like FreeBSD. Integrations enable cloud providers and vendors such as Amazon Web Services, Google Cloud Platform, Microsoft Azure, Alibaba Cloud, and virtualization products from VMware to interoperate with management layers built upon libvirt.
The project follows open-source development practices with contributions from individuals and corporations, using code review, continuous integration, and release management often coordinated by maintainers affiliated with Red Hat and upstream projects like QEMU. Governance aligns with community processes similar to those in Linux kernel and other foundation-backed projects; contributors collaborate via mailing lists, issue trackers on GitHub, and governance meetings at conferences like KVM Forum, OpenStack Summit, and Linux Foundation events. Licensing is primarily LGPL, enabling adoption by both open-source and proprietary stacks; major contributors have included engineers from Intel Corporation, IBM, Oracle Corporation, SUSE, and independent developers.
Security posture leverages Linux kernel features including SELinux, AppArmor, namespaces and cgroups as used in systemd, alongside hypervisor-level isolation provided by KVM and Xen (hypervisor). libvirt integrates with security tools and auditing frameworks like Audit (software), OpenSCAP, and Lynis to support compliance profiles such as DISA STIG and PCI DSS. Hardening practices involve secure defaults, TLS for remote connections, SASL authentication used by Cyrus SASL, and integration with certificate management systems and identity providers including FreeIPA and LDAP services. Vulnerability disclosure and patching track processes similar to those used by OpenSSL and other critical infrastructure projects, with advisories communicated through vendor channels and distribution security teams.
Category:Virtualization software