The libvirt virtualization stack, from daemon to guest.
This manual is about virtualization: libvirtd and the modular libvirt daemons, virsh, QEMU/KVM domains, XML, virtual networking, storage, remote access, migration, security, performance, backup, and troubleshooting.
Guided routes
Choose a virtualization task
Understand libvirtd
Start with the monolithic daemon, modular daemons, sockets, connection URIs, and the QEMU/KVM request path.
client -> socket -> daemon -> driverPATH 02Prepare a KVM host
Verify virtualization support, install libvirt, inspect daemon ownership, and validate the first system connection.
KVM -> libvirt -> qemu:///systemPATH 03Operate virtual machines
Use virsh to inspect, define, start, stop, console into, and troubleshoot libvirt domains.
inspect -> change -> verifyPATH 04Build virtual networks and storage
Work with libvirt bridges, NAT, DHCP, storage pools, volumes, qcow2 images, and guest attachments.
network + storage -> domainPATH 05Secure, migrate, and recover guests
Apply sVirt and access controls, validate migration compatibility, protect guest data, and diagnose failed operations.
policy -> movement -> recoveryVirtualization index
Read libvirt by layer
Layer 01
Daemon & architecture
Understand libvirtd, modular daemons, KVM/QEMU, sockets, drivers, and connection models.
4 sections / 12 entries
Layer 01
Daemon & architecture
Understand libvirtd, modular daemons, KVM/QEMU, sockets, drivers, and connection models.
libvirtd Overview
What libvirtd is, where libvirt sits in the virtualization stack, and how the daemon model evolved.
Host & Installation
KVM readiness, libvirt packages, virtualization capabilities, socket units, and first validation.
Architecture & Concepts
Libvirt APIs, drivers, connection URIs, sockets, QEMU/KVM boundaries, and system versus session mode.
Daemons
Classic libvirtd plus modular daemons including virtqemud, virtproxyd, virtnetworkd, and virtstoraged.
Layer 02
Virtual machines
Manage domains through virsh and persistent XML definitions.
3 sections / 7 entries
Layer 02
Virtual machines
Manage domains through virsh and persistent XML definitions.
virsh
Connection handling, domain lifecycle, inspection, console access, and day-to-day libvirt commands.
Domains
Virtual-machine definitions, lifecycle states, autostart, consoles, snapshots, and guest-agent behavior.
Domain XML
CPU, memory, disks, interfaces, firmware, devices, metadata, validation, and safe persistent edits.
Layer 03
Virtual resources
Configure the networks, storage, security boundaries, and remote transports used by libvirt guests.
4 sections / 13 entries
Layer 03
Virtual resources
Configure the networks, storage, security boundaries, and remote transports used by libvirt guests.
Virtual Networking
Libvirt NAT, bridges, routed and isolated networks, DHCP, forwarding, and network diagnostics.
Virtual Storage
Storage pools, volumes, qcow2/raw images, backends, attachment, allocation, and storage diagnostics.
Virtualization Security
sVirt, SELinux/AppArmor, polkit, DAC ownership, secrets, TLS, and libvirt access-control boundaries.
Remote libvirt
Remote connection URIs, SSH, TLS, TCP listeners, authentication, virtproxyd, and transport diagnostics.
Layer 04
Guest lifecycle operations
Move, protect, tune, and troubleshoot virtual machines and their libvirt-managed resources.
5 sections / 11 entries
Layer 04
Guest lifecycle operations
Move, protect, tune, and troubleshoot virtual machines and their libvirt-managed resources.
Migration
Live and offline guest migration, compatibility preflight, storage constraints, transport, and rollback.
Snapshots & Backup
External snapshots, block jobs, guest quiescing, backup chains, restore testing, and recovery points.
Performance
vCPU topology, NUMA, huge pages, virtio, I/O tuning, memory behavior, and virtualization contention.
Troubleshooting
Socket failures, domain startup errors, QEMU logs, networking, storage, permissions, and diagnostic order.
Reference
libvirtd options, service units, socket paths, configuration files, command lookup, and related manuals.