The popular free and open-source virtualization API Libvirt 10.0 was released with major improvements.
Libvirt, the robust virtualization API/toolkit developed by Red Hat for Linux for openvz, KVM, qemu, VirtualBox, xen,etc, has recently released its latest major version, 10.0. Packed with an array of new features, improvements, and bug fixes, this update focuses particularly on enhancing QEMU support, making virtualization management even more efficient and flexible.
If you have used virt-manager or other tools, you must have used libvirt under the hood. It powers most of the virtualization in Linux.
Let’s quickly round up the key highlights of this release.
libvirt 10.0: Key features
One of the standout features of Libvirt 10.0 is the introduction of the postcopy-preempt migration capability for QEMU. This enhancement ensures that post-copy migrations are initiated with the preempt capability enabled, optimizing the migration process by facilitating quicker transfer of memory pages.
QEMU now supports the mapping of multiple I/O threads to a single virtio-blk device and allows users to map them to specific virtqueues. Libvirt complements this by introducing the <iothreads>
subelement in the <disk>
<driver>
element, enabling users to configure this mapping effortlessly.
Libvirt introduces the VIR_DOMAIN_BLOCK_RESIZE_CAPACITY
flag for virDomainBlockResize
, allowing seamless resizing of block-device-backed raw disks without specifying the full size. This automation simplifies the process of adjusting disk sizes for virtual machines.
When a device is assigned to a guest using VFIO with <hostdev managed='yes'>
, Libvirt now dynamically searches the kernel’s modules.alias file for the most specific VFIO driver, offering improved flexibility and compatibility.
Libvirt introduces a runtime configuration option for nbdkit, making it possible to build with nbdkit support for remote disks but disable it at runtime. This control, managed through the storage_use_nbdkit
option in the qemu driver configuration file, enhances compatibility with varying system configurations.
Additional updates
Apart from the new features, Libvirt 10.0 brings several improvements and bug fixes:
- Enhanced migration XML usage for persisting VM on destination, accommodating custom migration XMLs.
- Simplified non-shared storage migration to raw block devices, overcoming size discrepancies.
- Hotplug/hotunplug support for PCI devices in the test driver.
- Various bug fixes and debuggability improvements for migration in QEMU.
- Restored default bus setting for input devices.
- Improved flexibility for cold plugging virtio-mem memory devices.
- Addressed regression in channel source path dropping introduced in 9.7.0.
Download and update
The libvirt package should arrive within a few days to all the major distribution’s stable channels. Arch Linux already have the latest version.
Simply update your Linux distribution to get this version.
If you want the source to package for yourself, visit this page.