The Magic of the Libvirt Driver – What to Do When You Invariably Hit "No Valid Host"
summary
Libvirt (QEMU/KVM) is feature‑rich but causes the infamous scheduler “no valid host” when placement, filters and the driver disagree—examples: pinned CPUs used to be silently shared during live migration until Train introduced pcpus to keep pinned and unpinned pools separate; memory with huge pages disables swap and overcommit and often fails late in scheduling; PCI passthrough is racy and drops devices under concurrent boots. Use Train/Rocky or newer, prefer homogeneous hosts or host aggregates, test small and expect to add logging and patches.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:23Overview
- 1:32Openstack Nova
- 6:03The Libvirt Driver
- 9:33Wires
- 10:51Placement
- 12:39CPU Policies
- 17:28Memory Policies
- 23:52Filters
- 27:00PCI Passthrough
- 29:14Conclusion
related talks
22mQEMU/KVM Upgrade Test (Stable Guest ABI and in Place Upgrade)
20mEnhance the Performance of QEMU RVV Load/Store Implementation
26mVirtio-Loopback Status and Next Steps
38mVirtio-loopback: The AGL Hardware Abstraction Layer for Non-Virtualized Environme...
10mEnabling VIED Compatibility on SEAPATH: The SSC600SW Integration Jou...
37mPodman 5 & Long-Term Software Maintenance
12mAccelerating Software Development for High Performance Chiplet...
55mProtected Execution Facility On Power
