CrossPoolMigrationv2
From Xen
Jump to navigationJump to search
This page describes a possible design for Cross-pool migration (which also works for within-pool migration with and without shared storage).
This is an alternative design to CrossPoolMigrationV2
This design has the following features:
- tapdisk log-dirty is used to build an efficient continuous disk copy program
- this is storage-format agnostic: it doesn't require .vhd
- the SM on one host can generate URIs which can be used by other SMs to access disks over iSCSI on the storage network
- handling of iSCSI endpoints (both initiators and targets) is abstracted by an iSCSI service
- this is expected to simplify the current code and prevent (eg) a bug in one SM plugin from interfering with another SM plugin
- a single codepath is used in xapi, making testing easier
- this replaces the existing migration API
- a simple RESTful API makes the whole thing quite easy to test, prod etc.
- the xapi pieces and the SM pieces can be developed and tested independently and integrated at the end
Component diagram
Migration sequence
Proposed milestones and task list
The following milestones are proposed:
Milestone number |
1 |
2 |
3 |
4 |
The following tasks are proposed:
Task | Status |
Forward-port blktap1 log dirty mode to tapdisk2 | |
Implement an iSCSI service in dom0 | Completed |
Modify VDI.deactivate to finish any pending copies | |
Implement xapi HTTP operations | |
Create a continuous copy program (use sparse_dd?) | |
Implement SMAPI VDI.copy | |
Implement SMAPI VDI.get_url | |
Implement XenAPI VM.migrate, VM.receive | |
Implement xapi HTTP heartbeat |
Links
The iscsi-target-manager is a simple python program which wraps the "tgtadm" commands used to configure an iSCSI target.