Difference between revisions of "CrossPoolMigrationv2"

From Xen
m (Links)
Line 4: Line 4:
<!-- Page revision: 00000005 -->
<!-- Page revision: 00000005 -->
<!-- Original date: Mon Jul 18 15:07:12 2011 (1311001632000000) -->
<!-- Original date: Mon Jul 18 15:07:12 2011 (1311001632000000) -->
{{TODO|Images and other attachments are missing!}}
Line 26: Line 24:
= Component diagram =
= Component diagram =
[http://downloads.xen.org/Wiki/XCP/CrossPoolMigration/CrossPoolMigration$components.pdf Components (PDF)]<br />
= Migration sequence =
= Migration sequence =
[http://downloads.xen.org/Wiki/XCP/CrossPoolMigration/CrossPoolMigration$migrate.pdf Migrate (PDF)]<br />

Revision as of 12:36, 1 December 2011

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:

  1. tapdisk log-dirty is used to build an efficient continuous disk copy program
    • this is storage-format agnostic: it doesn't require .vhd
  2. the SM on one host can generate URIs which can be used by other SMs to access disks over iSCSI on the storage network
  3. 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
  4. a single codepath is used in xapi, making testing easier
    • this replaces the existing migration API
  5. a simple RESTful API makes the whole thing quite easy to test, prod etc.
  6. the xapi pieces and the SM pieces can be developed and tested independently and integrated at the end

Component diagram

Components (PDF)

Migration sequence

Migrate (PDF)

Proposed milestones and task list

The following milestones are proposed:

Milestone number

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


The iscsi-target-manager is a simple python program which wraps the "tgtadm" commands used to configure an iSCSI target.