|
|
(15 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: |
|
| |
|
| This page describes what are the changes planned for migration and who is supposed to do each of the changes.
| | 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 == |
|
| |
|
| * use TLS for communication (Orit)
| | If you have any question or want to reach out, feel free to contact: |
|
| |
|
| Right now all migration communication are done through clear channels. If you need to encrypt the channel, you need to use an external program. The problem with this is the performance loss. We need to transfer all data to another program, and then to the network.
| | * qemu-devel@nongnu |
| | * Peter Xu <peterx@redhat.com> |
| | * Fabiano Rosas <farosas@suse.de> |
|
| |
|
| * Improve migration bitmap handling (Juan)
| | == Credits == |
|
| |
|
| We have a dirty bitmap that has 8 bits for each page. But we only use three of them (MIGRATION, VGA and CODE). CODE is only needed for TCG, KVM only cares about MIGRATION, and VGA only is needed for VGA frame bufferes. Idea is to split this bitmap in three smaller ones that are only used/allocated when needed. This is specially important when the RAM size of the guest is very big.
| | This is a place we want to show special thanks to to the old good migration maintainers. |
|
| |
|
| * Improvements in migration performance (Juan, Paolo) | | * Juan Quintela |
| | | * Dr. David Alan Gilbert |
| Remove last performance problems. Migration code has already moved to a thread. We are removing all the extra copies.
| | * Amit Shah |
| | |
| * Migration native over infiniband?
| |
| | |
| Study.
| |
| | |
| == TODO Long Term ==
| |
| | |
| * Finish conversion to VMState. Pending things are:
| |
| ** send generated fields
| |
| ** rebase cpu ports to latest (need previous one)
| |
| ** virtio: exist very old version (very old means as of more than 1 year ago). Problem is how to describe lists easily in VMState
| |
| ** slirp: some patches exist, same previous problem, how to handle easily lists. Slirp is basically list of lists of lists. | |
| ** misc devices: almost all of them don't work on a migrated platform, so we could change them.
| |
| | |
| * Protocol changes
| |
| | |
| ** 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.
| |
| | |
| * Improve testing
| |
| ** How to be sure that ideas we are compatible (or not) with previous versions
| |
| An automated way of detecting this is needed.
| |
| | |
| | |
| * Define target machine in the monitor
| |
| This would allow us to sent the configuration through the migration channel. This needs very big changes in qemu, but we are heading on that direction.
| |
| | |
| == Code ==
| |
| | |
| The code still not merged is currently kept in several branches of this git repository:
| |
| | |
| * http://repo.or.cz/w/qemu/quintela.git
| |