Difference between revisions of "Proposal: Disk import/export"

From Xen
(Created page with "== Proposal to improve disk import/export == There are various ways to move a disk into or out of a system via the XenAPI, both "official" (ie. via an API) and "unofficial" (ie.…")
 
(What do we currently have?)
Line 6: Line 6:
  
 
=== What do we currently have? ===
 
=== What do we currently have? ===
 +
 +
The following sections describe the current mechanisms, who is known to use them, advantages and disadvantages of each.
 +
 +
==== HTTP PUT raw disk contents ====
 +
 +
==== HTTP PUT with 'chunked' encoding ====
 +
 +
==== Network Block Device (NBD) access ====
 +
 +
==== VM import/export ====
 +
 +
==== HTTP BITS via transfer VM ====
 +
 +
==== vhd manipulation through plugins ====
  
 
=== Desired use-cases ===
 
=== Desired use-cases ===

Revision as of 10:51, 24 September 2013

Proposal to improve disk import/export

There are various ways to move a disk into or out of a system via the XenAPI, both "official" (ie. via an API) and "unofficial" (ie. by working around missing APIs). Many of the "official" ways to move disks around use non-standard and poorly-documented protocols and formats, which inhibits interoperability with other services such as CloudStack and OpenStack. The "unofficial" ways are often risky since they potentially conflict with running operations (e.g. vhd coalesce).

This document starts with an overview of what we currently have; followed by an analysis of use-cases we'd like to support (or improve our support for); followed by a set of principles to govern our designs; and finally by a proposed set of APIs and CLI commands.

What do we currently have?

The following sections describe the current mechanisms, who is known to use them, advantages and disadvantages of each.

HTTP PUT raw disk contents

HTTP PUT with 'chunked' encoding

Network Block Device (NBD) access

VM import/export

HTTP BITS via transfer VM

vhd manipulation through plugins

Desired use-cases

Principles

API changes