Features/Migration: Difference between revisions

From QEMU
mNo edit summary
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Summary ==
== Documentations ==


Migration roadmap.
You can find the latest migration documentation here:


== Owner ==
  https://qemu.org/docs/master/devel/migration


* '''Name:''' Juan Quintela
== TODO List ==
* '''Email:''' quintela@redhat.com


== Detailed Summary ==
If you're looking for something to work on for migration, please have a look at:


Migration and live migration have several parts that are suboptimal. This describes way to improve it.
  https://wiki.qemu.org/ToDo/LiveMigration


== Status ==
== Other references ==


This is the roadmap, features are integrated upstream as they are done.
* http://www.linux-kvm.org/page/KVM_Forum
* http://developerblog.redhat.com/2015/03/24/live-migrating-qemu-kvm-virtual-machines/


== TODO Short Term ==
== Contact ==


* split migration in its own thread/subroutine. This allows several improments:
If you have any question or want to reach out, feel free to contact:
 
** monitor can be used on migration target
** vcpus/iothreads can work while live migration part is working
** we can remove several layers of buffering (due to the mainloop design, we are forced to have several layers of buffering).


* split foo_live_migration_calls() onto its parts.  Other devices that don't have live migration also need the setup part (iwhm, device assignment).
* qemu-devel@nongnu
** foo_setup()    (was stage 1)
* Peter Xu <peterx@redhat.com>
** foo_save_live() (was stage 2)
* Fabiano Rosas <farosas@suse.de>
** foo_save_rest() (was stage 3, better name needed)
** foo_cancel()    (was stage -1)


* Once previous split is done, we can create the setup of live handlers for the ones that really exit, not for the rest of them.
== Credits ==


* fix migration while using a cdrom (cdrom is not opened correctly on target)
This is a place we want to show special thanks to to the old good migration maintainers.


* fix migration during reboot (haven't triaged what data is missing)
* Juan Quintela
 
* Dr. David Alan Gilbert
* port rest of devices to VMState (several of them are already done, but they are on my local tree and not upstream).
* Amit Shah
 
== TODO Long Term ==
 
* Add size + checksum to sections.  This is one incompatible change and needs further thought.
* Make embedded sections real sections, with headers.  This will allow us to version internal state.
* Unit testing.  In colaboration with qdev, allow devices to be tested alone with old/new migration versions/subsections.
* define target machine from the monitor.  This will allow us to migrate the configuration of the machine from source to destination, instead of having to had an identical command line in both places.
 
== Code ==
 
The code still not merged is currently kept in several branches of this git repository:
 
* http://repo.or.cz/w/qemu/quintela.git

Latest revision as of 03:22, 10 January 2024

Documentations

You can find the latest migration documentation here:

 https://qemu.org/docs/master/devel/migration

TODO List

If you're looking for something to work on for migration, please have a look at:

 https://wiki.qemu.org/ToDo/LiveMigration

Other references

Contact

If you have any question or want to reach out, feel free to contact:

  • qemu-devel@nongnu
  • Peter Xu <peterx@redhat.com>
  • Fabiano Rosas <farosas@suse.de>

Credits

This is a place we want to show special thanks to to the old good migration maintainers.

  • Juan Quintela
  • Dr. David Alan Gilbert
  • Amit Shah