Brussels / 3 & 4 February 2018


Live Block Device Operations in QEMU

QEMU is an open source machine emulator and virtualizer when used in combination with hypervisors such as Xen or KVM, the Linux Kernel-based Virtual Machine.

This talk will focus on QEMU's Block Layer, and in particular it will examine the four main types of (potentially long-running) live block operations: 'stream', 'commit', 'mirror', and 'backup' in detail. After setting some context, we will see what they are, where they're used, and how they can be invoked via the QMP (QEMU Machine Protocol) interface or the libvirt API.

We will also see how these can be combined with other QEMU features like its built-in Network Block Device (NBD) server or the "Dirty Bitmaps" infrastructure to provide neat solutions like live migration with non-shared storage, incremental backups, and so forth.

Why should you care? The QEMU Block Layer is the bedrock of modern storage virtualization features that we now take for granted -- a robust QCOW2 file format, point-in-time snapshots, advanced disk configuration, complex image backing chains, and much more. Although some of these features are accessible via the libvirt API or high-level management software like OpenStack, it is instructive to look under the hood.

Audience: This session is geared towards anyone using or developing open source virtualization software, specifically in the KVM, Xen, QEMU and libvirt ecosystem. The talk will be set in context such that operators of higher-level software such as OpenStack might also gain an appreciation for the details.


Photo of Kashyap Chamarthy Kashyap Chamarthy