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!}}
 
   
 
__NOTOC__
 
__NOTOC__
Line 26: Line 24:
 
= Component diagram =
 
= Component diagram =
   
[[Media:CrossPoolMigration$components.pdf]]
+
[http://downloads.xen.org/Wiki/XCP/CrossPoolMigration/CrossPoolMigration$components.pdf Components (PDF)]<br />
 
[[Image:CrossPoolMigration$components.png]]
 
[[Image:CrossPoolMigration$components.png]]
   
 
= Migration sequence =
 
= Migration sequence =
   
[[Media:CrossPoolMigration$migrate.pdf]]
+
[http://downloads.xen.org/Wiki/XCP/CrossPoolMigration/CrossPoolMigration$migrate.pdf Migrate (PDF)]<br />
 
[[Image:CrossPoolMigration$migrate.png]]
 
[[Image:CrossPoolMigration$migrate.png]]
   

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)
CrossPoolMigration$components.png

Migration sequence

Migrate (PDF)
CrossPoolMigration$migrate.png

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.