Live migrating virtual machines is an interesting ongoing topic for virtualization: guests keep getting bigger (more vCPUs, more RAM), and demands on the uptime for guests keep getting stricter (no long pauses between a VM migrating from one host to another).
This discussion will go through the simple design from the early days of live migration in the QEMU/KVM hypervisor, how it has been tweaked and optimized to where it is now, and where we’re going in the future. It will discuss how live migration actually works, the constraints within which it all has to work, and how the design keeps needing new thought to cover the latest requirements.
The discussion will also cover known unknowns, i.e TODO items, for interested people to step up.
This article is based on a presentation I recently delivered at the devconf.cz conference. The PDF version of slides are available here, but you won’t need them to follow this post. The format followed for this article is: a textual representation of the slides, followed by a description of the content, roughly corresponding to what I would say during the presentation.
Continue reading “Live Migrating QEMU-KVM Virtual Machines”