From empty host to production control plane.
This manual explains what libvirt is, how its daemons and drivers cooperate, how to build with it, and how to recover it under pressure. Start with a path or enter by subsystem.
Guided routes
Choose an operating objective
Build the first host
Prepare KVM, install libvirt, validate acceleration, define a guest, and understand the control path.
host -> daemon -> domainPATH 02Operate the fleet
Use virsh safely, inspect state, automate definitions, observe drift, and establish daily checks.
inspect -> change -> verifyPATH 03Design the data plane
Choose network modes, storage backends, bridges, pools, volumes, and guest device models.
uplink -> bridge -> guestPATH 04Harden and recover
Apply sVirt, SELinux, least privilege, backup boundaries, migration preflight, and incident order.
prevent -> detect -> restoreSubsystem index
Read the stack by layer
Layer 01
Foundations
Start with the host, control plane, domains, and declarative guest model.
6 sections / 13 entries
Layer 01
Foundations
Start with the host, control plane, domains, and declarative guest model.
Overview
High-level orientation, daemon history, and where libvirt fits in the stack.
Installation
Packages, capabilities, host preparation, first validation, and a clean KVM baseline.
Platform
RHEL-family baselines, package discipline, systemd behavior, and host operating standards.
Concepts
Control-plane model, sockets, URIs, privilege boundaries, and mental models.
Domains
Guest lifecycle, persistent definitions, autostart, snapshots, consoles, and state transitions.
Domain XML
The declarative guest model: CPU, memory, disks, interfaces, devices, metadata, and safe edits.
Layer 02
Subsystems
Enter by daemon, command surface, network, storage, identity, or policy boundary.
9 sections / 24 entries
Layer 02
Subsystems
Enter by daemon, command surface, network, storage, identity, or policy boundary.
Identity
FreeIPA, SCIM, lifecycle authority, enrollment boundaries, and Linux access control.
Automation
Puppet, Foreman, Satellite, drift control, and repeatable control loops.
Daemons
Classic libvirtd and the modular daemon split such as virtqemud and virtproxyd.
virsh
Connection URIs, lifecycle operations, inspection commands, and daily workflows.
Networking
NAT, bridges, routed networks, isolated networks, and diagnostics.
Storage
Pools, volumes, backends, and the commands that attach storage to guests.
Security
SELinux, AppArmor, sVirt, and the policy knobs that commonly block guests.
Observability
Activity capture, telemetry surfaces, operator evidence, and system visibility.
Remote Access
SSH, TLS, TCP listeners, authentication, and proxying remote libvirt APIs.
Layer 03
Operations
Plan movement, protection, performance, recovery, and incident diagnosis.
6 sections / 12 entries
Layer 03
Operations
Plan movement, protection, performance, recovery, and incident diagnosis.
Migration
Preflight checks, live and offline moves, shared storage, transport, and rollback boundaries.
Backup
Quiescing, external snapshots, block jobs, restore testing, and recovery-point design.
Performance
CPU topology, NUMA, huge pages, I/O tuning, virtio, measurement, and contention control.
Recovery
Incident order, out-of-band access, storage recovery, and operator regain-of-control patterns.
Troubleshooting
Failure patterns, permissions, polkit, sockets, certificates, and recovery flow.
References
Service units, files, socket paths, and other operator lookup material.