XAPI VM Migration: Difference between revisions

From Xen
Jump to navigationJump to search
No edit summary
m (Link to the code which is authoritative)
 
(One intermediate revision 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"
{| class="prettytable"
| '''Receiver'''
! '''Receiver'''
|
|-
|-
| * attach the VDIs
| attach the VDIs
|
|-
|-
| * create the domain
| create the domain
|-
|-
| * restore the devices (unless we must delay until after VDI activation)
| restore the devices (unless we must delay until after VDI activation)
|-
|-
| * send handshake to transmitter
| send handshake to transmitter
|-
|-
| '''''Synchronisation point 1'''''
| '''''Synchronisation point 1'''''
|
|-
|-
| * restore the domain, deserialising it from the transmitter
| restore the domain, deserialising it from the transmitter
|
|-
|-
|
|
|
|-
|-
| '''''Synchronisation point 2'''''
| '''''Synchronisation point 2'''''
|
|-
|-
| * receive handshake from transmitter
| receive handshake from transmitter
|
|-
|-
|
|
|-
|
|
|
|-
|-
| '''''Synchronisation point 3'''''
| '''''Synchronisation point 3'''''
|
|-
|-
| * activate VDIs (unless it's a localhost migrate)
| activate VDIs (unless it's a localhost migrate)
|
|-
|-
| * restore the devices (unless done already)
| restore the devices (unless done already)
|
|-
|-
| * unpause the domain
| unpause the domain
|
|-
|-
| * plug PCI devices
| plug PCI devices
|
|-
|-
| * send handshake to transmitter
| send handshake to transmitter
|-
|-
| '''''Synchronisation point 4'''''
| '''''Synchronisation point 4'''''
|
|-
|-
|
|
|
|}
|}
Line 77: Line 49:
[[Category:XAPI Devel]]
[[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