Skip to navigationSkip to content
libvirtd docs
Commands

Manual nav

Search `/` or jump with `g` / `G`.

Portal

  • Home manual
  • Command explorer
Foundations6 sections
  • Overview1
  • Installation2
  • Platform1
  • Concepts5
  • Domains2
  • Domain XML2
Subsystems9 sections
  • Identity1
  • Automation2
  • Daemons3
  • virsh3
  • Networking5
  • Storage4
  • Security3
  • Observability2
  • Remote Access1
Operations6 sections
  • Migration2
  • Backup2
  • Performance3
  • Recovery1
  • Troubleshooting2
  • References2

/ search · g top · G quickstart

guideconceptsReviewed March 6, 2026

Modular daemons context

Libvirt split the historical all in one daemon into smaller services so each subsystem could be isolated, restarted, and permissioned more cleanly. Why libvirt split the daemon The monolithic daemon handled many unrelate

modular daemonsvirtqemudvirtproxydsockets

Libvirt split the historical all-in-one daemon into smaller services so each subsystem could be isolated, restarted, and permissioned more cleanly.

Why libvirt split the daemon

The monolithic daemon handled many unrelated jobs: domain management, networking, storage, node devices, secrets, and remote access. Splitting that work reduces blast radius and makes failures easier to localize.

Common daemons

For a QEMU/KVM-focused host, these names matter most:

  • virtqemud: domain operations for QEMU guests.
  • virtproxyd: compatibility proxy for clients that still expect the older socket layout.
  • virtnetworkd: virtual networks, bridges, DHCP, and related XML definitions.
  • virtstoraged: pools and volumes.

Practical operator rule

When a command fails, identify which daemon owns the subsystem before reading logs.

BASH
journalctl -u virtqemud -n 100
journalctl -u virtnetworkd -n 100
journalctl -u virtstoraged -n 100

That habit is faster than tailing everything and hoping the right message appears.

Migration mindset

Many fleets contain both models at once. Standardize on these questions during triage:

  1. Which socket did the client connect to?
  2. Which daemon owns the failing subsystem?
  3. Is the host using socket activation?
  4. Is virtproxyd translating older expectations for the client?

Related

  • libvirtd overview and the compatibility daemon
  • Socket activation versus traditional daemon mode
  • virtqemud and virtproxyd roles

On this page

  • Why libvirt split the daemon
  • Common daemons
  • Practical operator rule
  • Migration mindset