Proposed F19 Feature: KVM Device Failover
jreznik at redhat.com
Thu Jan 31 08:50:11 UTC 2013
= Features/Virt Device Failover =
Feature owner(s): Michael S. Tsirkin <mst at redhat.com>, Gal Hammer
<hammer at redhat.com>, Cole Robinson <crobinso at redhat.com>, Laine Stump
<laine at redhat.com>
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