/etc/libvirt — Libvirt Configuration Directory
The /etc/libvirt directory holds system-wide configuration files for the libvirt daemon (libvirtd) and associated virtualization drivers (like QEMU/KVM, LXC, Xen, etc.). These configs define how virtualization services behave, how domains are defined, and how networking/storage pools are managed.
Key Subdirectories and Files
1. /etc/libvirt/qemu/
/etc/libvirt/qemu/Contains XML configs for persistent QEMU/KVM virtual machines.
Files:
*.xml→ One XML file per VM.autostart/→ Symbolic links for VMs that autostart at boot.
/etc/libvirt/qemu/ubuntu-vm.xml
/etc/libvirt/qemu/autostart/ubuntu-vm.xml2. /etc/libvirt/qemu/networks/
/etc/libvirt/qemu/networks/Stores virtual network definitions.
Files:
default.xml→ Default NAT network.autostart/→ Symlinks for networks that should autostart.
/etc/libvirt/qemu/networks/default.xml
/etc/libvirt/qemu/networks/autostart/default.xml3. /etc/libvirt/storage/
/etc/libvirt/storage/Persistent storage pool definitions.
Used by
virsh pool-*andvirsh vol-*commands.
4. /etc/libvirt/libvirtd.conf
/etc/libvirt/libvirtd.confMain configuration file for the
libvirtddaemon (deprecated inlibvirt >=9.0.0, replaced byvirtproxyd).Controls:
Listening interfaces (
unix,tcp,tls)Authentication mechanisms
Logging and group permissions
5. /etc/libvirt/libvirt.conf
/etc/libvirt/libvirt.confUser-specific settings for libvirt clients like
virsh.Affects remote connections and auth behavior (e.g.,
qemu+ssh).
Autostart Mechanism
When a domain, network, or storage pool is marked to autostart, libvirt creates a symlink in the respective autostart/ directory:
/etc/libvirt/qemu/autostart/vm-name.xml -> ../vm-name.xmlYou can manage autostart via:
virsh autostart vm-name
virsh net-autostart defaultSecurity Contexts
If SELinux or AppArmor is enabled, libvirt uses security labels defined here:
/etc/libvirt/qemu.conf: SELinux/AppArmor settings for QEMU/KVMExample: Enable dynamic labels (
dynamic_ownership = 1)
Backup and Version Control
To back up all persistent VMs, virtual networks, and storage definitions:
cp -r /etc/libvirt /backup/libvirt-$(date +%F)To track changes over time:
git init /etc/libvirt
git commit -am "Initial libvirt configs"Summary
/etc/libvirt/qemu/*.xml
Persistent VM definitions
/etc/libvirt/qemu/networks/*.xml
Virtual network definitions
/etc/libvirt/storage/*.xml
Storage pool definitions
/etc/libvirt/libvirtd.conf
Daemon settings (deprecated for newer)
/etc/libvirt/libvirt.conf
Client-side settings
*/autostart/
Symlinks for auto-started resources
Let me know if you want visuals, config examples, or comparisons with /var/lib/libvirt and other runtime paths.
Last updated