From Fedora Project Wiki
(add kvm device failover feature)
 
(some fixes)
Line 1: Line 1:
{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section.  They are invisible when viewing this page.  To read it, choose the "edit" link.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR FEATURE.'''}}
{{admon/important | Set a Page Watch| Make sure you click ''watch'' on your new page so that you are notified of changes to it by others, including the Feature Wrangler}}
{{admon/note | All sections of this template are required for review by FESCo.  If any sections are empty it will not be reviewed }}
<!-- All fields on this form are required to be accepted by FESCo.
<!-- All fields on this form are required to be accepted by FESCo.
  We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
  We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
Line 118: Line 111:
== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
*
 
Not yet.
Links to related upstream documentation:
 
www.linux-kvm.org/page/Hotadd_pci_devices
https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/DM_Multipath/index.html
unixfoo.blogspot.com/2007/10/yet-to-add.html
 


== Release Notes ==
== Release Notes ==

Revision as of 18:46, 29 January 2013


KVM Device Failover

Summary

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 operation.

Owner

  • Email: mst@redhat.com <your email address so we can contact you, invite you to meetings, etc.>
  • Email: ghammer@redhat.com <your email address so we can contact you, invite you to meetings, etc.>

Current status

  • Targeted release: Fedora 19
  • Last updated: (Jan 29)
  • Percentage of completion: 50%


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.

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.

Benefit to Fedora

Scope

Work left to do:

  • kvm needs to be extended to notify the guest that the two devices are setup in a fallback configuration
  • For networking, udev and/or network manager needs to be extended to detect this and setup bonding
  • For storage, need to setup device-mapper-multipath to autodetect this configuration
  • libvirt has to be extended to specify this configuration
  • libvirt has to be extended to request failover, and ack on guest ack of the failover
  • above covers linux guests
 if possible, guest agent for windows should be extended to add this
 support in windows guests as well


How To Test

Two systems with device assignment (IOMMU) support are required to test this feature. To test the feature, specify an assigned device, start guest and migrate.


User Experience

User will see that they can specify an assigned network or storage device and still migrate the guest seamlessly.

Dependencies

For networking, https://fedoraproject.org/wiki/Features/NetworkManagerBonding


Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Links to related upstream documentation:

www.linux-kvm.org/page/Hotadd_pci_devices https://access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/DM_Multipath/index.html unixfoo.blogspot.com/2007/10/yet-to-add.html


Release Notes

Comments and Discussion