Proposed F19 Feature: KVM Device Failover

Jaroslav Reznik jreznik at
Thu Jan 31 08:50:11 UTC 2013

= Features/Virt Device Failover =

Feature owner(s): Michael S. Tsirkin <mst at>, Gal Hammer 
<hammer at>, Cole Robinson <crobinso at>, Laine Stump
<laine at>

Support for transparent failover between an assigned and an emulated device, 
allows enabling the migration and overcommit dynamically, while still gaining 
the performance benefits of device assignment and without disrupting the guest 

== Detailed description ==
For virtual machines, device assignment is the best
option for performance. However, when a device is assigned to a VM, both
migration and memory overcommit are currently disabled.

This feature aims at removing the performance/features tradeoff,
by switching to an emulated device in a way that is almost
transparent to users, for configurations where both host
and guest are Fedora.

Fedora should detect that the emulated device serves as a failover
for the assigned device. When requested by the hypervisor,
it will stop and eject the assigned device, switching to failover.
After this point, migration and memory overcommit are possible,
while device configuration is preserved. Once e.g. migration
completes, the reverse switch can take place.

Thus the device is controlled by:
* before migration: device specific driver loaded in guest
* during migration: driver loaded in host,  virtio or emulated device driver 
loaded in guest
* after migration: device specific driver loaded in guest

At the kernel level, for networking, this can be done by  and creating
a bond in a failover configuration, and for storage, using multipath,
on top of both the assigned and the emulated device.

More information about the devel-announce mailing list