Difference between revisions of "XAPI VM Migration"
From Xen
Lars.kurth (talk | contribs) (Created page with "<!-- MoinMoin name: XAPI_VM_Migration --> <!-- Comment: --> <!-- WikiMedia name: XAPI VM Migration --> <!-- Page revision: 00000002 --> <!-- Original date: Wed Jul 13 …") |
Dave.scott (talk | contribs) m (Link to the code which is authoritative) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | Note: this description has been out of date for a while. To see how migration works, it is best to read the code starting from here: https://github.com/xapi-project/xen-api/blob/a232a3db5e51bf21eed2680386e4de79dcf4c70e/ocaml/xapi/message_forwarding.ml#L1638 |
||
− | <!-- MoinMoin name: XAPI_VM_Migration --> |
||
+ | |||
− | <!-- Comment: --> |
||
− | <!-- WikiMedia name: XAPI VM Migration --> |
||
− | <!-- Page revision: 00000002 --> |
||
− | <!-- Original date: Wed Jul 13 13:05:57 2011 (1310562357000000) --> |
||
− | __NOTOC__ |
||
− | <!-- ## Please edit system and help pages ONLY in the moinmaster wiki! For more --> |
||
− | <!-- ## information, please see [[MoinMaster]]:[[MoinPagesEditorGroup]]. --> |
||
− | <!-- ##master-page:[[Category:Template]] --> |
||
− | <!-- ##master-date:Unknown-Date --> |
||
− | <!-- #format wiki --> |
||
− | <!-- #language en --> |
||
== XAPI VM Migration == |
== XAPI VM Migration == |
||
Here's an overview of how xapi does migration of VMs. The code can be found in '''api.hg/ocaml/xapi/xapi_vm_migrate.ml'''. |
Here's an overview of how xapi does migration of VMs. The code can be found in '''api.hg/ocaml/xapi/xapi_vm_migrate.ml'''. |
||
+ | {| class="prettytable" |
||
− | {| border="1" cellpadding="2" cellspacing="0" |
||
− | + | ! '''Receiver''' |
|
− | | |
||
|- |
|- |
||
− | | |
+ | | attach the VDIs |
− | | |
||
|- |
|- |
||
− | | |
+ | | create the domain |
|- |
|- |
||
− | | |
+ | | restore the devices (unless we must delay until after VDI activation) |
|- |
|- |
||
− | | |
+ | | send handshake to transmitter |
|- |
|- |
||
| '''''Synchronisation point 1''''' |
| '''''Synchronisation point 1''''' |
||
− | | |
||
|- |
|- |
||
− | | |
+ | | restore the domain, deserialising it from the transmitter |
− | | |
||
|- |
|- |
||
− | | |
||
| |
| |
||
|- |
|- |
||
| '''''Synchronisation point 2''''' |
| '''''Synchronisation point 2''''' |
||
− | | |
||
|- |
|- |
||
− | | |
+ | | receive handshake from transmitter |
− | | |
||
|- |
|- |
||
− | | |
||
− | | |
||
− | |- |
||
− | | |
||
| |
| |
||
|- |
|- |
||
| '''''Synchronisation point 3''''' |
| '''''Synchronisation point 3''''' |
||
− | | |
||
|- |
|- |
||
− | | |
+ | | activate VDIs (unless it's a localhost migrate) |
− | | |
||
|- |
|- |
||
− | | |
+ | | restore the devices (unless done already) |
− | | |
||
|- |
|- |
||
− | | |
+ | | unpause the domain |
− | | |
||
|- |
|- |
||
− | | |
+ | | plug PCI devices |
− | | |
||
|- |
|- |
||
− | | |
+ | | send handshake to transmitter |
|- |
|- |
||
| '''''Synchronisation point 4''''' |
| '''''Synchronisation point 4''''' |
||
− | | |
||
|- |
|- |
||
− | | |
||
| |
| |
||
|} |
|} |
||
Line 75: | Line 47: | ||
You may be interested in a proposal for [[CrossPoolMigration]] |
You may be interested in a proposal for [[CrossPoolMigration]] |
||
− | [[Category: |
+ | [[Category:XAPI Devel]] |
[[Category:Design Document]] |
[[Category:Design Document]] |
||
− | [[Category:Developers]] |
Latest revision as of 21:21, 20 January 2015
Note: this description has been out of date for a while. To see how migration works, it is best to read the code starting from here: https://github.com/xapi-project/xen-api/blob/a232a3db5e51bf21eed2680386e4de79dcf4c70e/ocaml/xapi/message_forwarding.ml#L1638
XAPI VM Migration
Here's an overview of how xapi does migration of VMs. The code can be found in api.hg/ocaml/xapi/xapi_vm_migrate.ml.
Receiver |
---|
attach the VDIs |
create the domain |
restore the devices (unless we must delay until after VDI activation) |
send handshake to transmitter |
Synchronisation point 1 |
restore the domain, deserialising it from the transmitter |
Synchronisation point 2 |
receive handshake from transmitter |
Synchronisation point 3 |
activate VDIs (unless it's a localhost migrate) |
restore the devices (unless done already) |
unpause the domain |
plug PCI devices |
send handshake to transmitter |
Synchronisation point 4 |
You may be interested in a proposal for CrossPoolMigration