Jump to: navigation, search

Difference between revisions of "Xenapi-sm-volume-driver"

Line 6: Line 6:
  
 
== Summary ==
 
== Summary ==
Design and implement a new driver for Nova-Volume, based on XenAPI Storage Manager, that will sit along side drivers already developed like AoE and iSCSI (both running on commodity boxes running Linux). This will provide basic storage functionality (like volume creation, and destruction) on a number of different storage back-ends, but it will enable the capability of using more sophisticated storage back-ends for operations like cloning/snapshotting etc. This becomes premium value for service provider clouds or may become differentiator for enterprise private clouds. To have an idea of the benefits of using XenAPI SM to provide back-end storage services, the list below shows some of the storage plugins already supported in [[XenServer]]/XCP:
+
Design and implement a new driver for Nova-Volume, based on XenAPI Storage Manager, that will sit along side drivers already developed like AoE and iSCSI (both running on commodity boxes running Linux). This will provide basic storage functionality (like volume creation, and destruction) on a number of different storage back-ends, but it will enable the capability of using more sophisticated storage back-ends for operations like cloning/snapshotting etc. To have an idea of the benefits of using XenAPI SM to provide back-end storage services, the list below shows some of the storage plugins already supported in [[XenServer]]/XCP:
  
 
* NFS VHD: SR plugin which stores disks as VHD files on a remote NFS filesystem
 
* NFS VHD: SR plugin which stores disks as VHD files on a remote NFS filesystem
Line 22: Line 22:
  
 
== Rationale ==
 
== Rationale ==
 +
 +
This becomes premium value for service provider clouds or may become differentiator for enterprise private clouds.
  
 
== User stories ==
 
== User stories ==
 +
 +
TBD
 +
 
== Assumptions ==
 
== Assumptions ==
 +
 +
For the design and implementation of the new Nova-Volume driver, XenAPI for [[XenServer]]/XCP is going to be used.
 +
 
== Design ==
 
== Design ==
 +
 
By Leveraging Storage Manager plugins for [[XenServer]]/XCP, more drivers can be provided to support sophisticated operations like cloning and snapshotting. The idea is that along side drivers like AoE, and iSCSI, a new driver will be added to
 
By Leveraging Storage Manager plugins for [[XenServer]]/XCP, more drivers can be provided to support sophisticated operations like cloning and snapshotting. The idea is that along side drivers like AoE, and iSCSI, a new driver will be added to
  
 
== Implementation ==
 
== Implementation ==
 +
 
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
 
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
  
 
=== UI Changes ===
 
=== UI Changes ===
Should cover changes required to the UI, or specific UI that is required to implement this
+
 
 +
There should be no visible changes to the end users, all this work will be behind the API servers.
  
 
=== Code Changes ===
 
=== Code Changes ===
Code changes should include an overview of what needs to change, and in some cases even the specific details.
+
Most of the changes will be on top of the current code, however there is a possibility where some changes to Nova-Volume Manager are required to make it more general and accommodate the use of XenAPI SM. More when the actual implementation starts.
  
 
=== Migration ===
 
=== Migration ===
Include:
+
This new driver may require changes to the database schema, more to follow once the actual implementation starts. However procedures to migrate DB schema will be provided.
  
* data migration, if any
+
== Test/Demo Plan ==
* redirects from old URLs to new ones, if any
 
* how users will be pointed to the new way of doing things, if necessary.
 
  
== Test/Demo Plan ==
+
Unit tests will be provided as code is developed.  
This need not be added or completed until the specification is nearing beta.
 
  
 
== Unresolved issues ==
 
== Unresolved issues ==
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
+
 
 +
None
  
 
== BoF agenda and discussion ==
 
== BoF agenda and discussion ==
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.
+
 
 +
None
  
 
----
 
----
 
[[Category:Spec]]
 
[[Category:Spec]]

Revision as of 18:40, 10 March 2011

  • Launchpad Entry: NovaSpec:xenapi-sm-support
  • Created: 1 February 2011
  • Contributors: Armando Migliaccio

Summary

Design and implement a new driver for Nova-Volume, based on XenAPI Storage Manager, that will sit along side drivers already developed like AoE and iSCSI (both running on commodity boxes running Linux). This will provide basic storage functionality (like volume creation, and destruction) on a number of different storage back-ends, but it will enable the capability of using more sophisticated storage back-ends for operations like cloning/snapshotting etc. To have an idea of the benefits of using XenAPI SM to provide back-end storage services, the list below shows some of the storage plugins already supported in XenServer/XCP:

  • NFS VHD: SR plugin which stores disks as VHD files on a remote NFS filesystem
  • Local VHD on LVM: SR plugin which represents disks as VHD disks on Logical Volumes within a locally-attached Volume Group
  • HBA LUN-per-VDI driver: SR plugin which represents LUNs as VDIs sourced by hardware HBA adapters, e.g. hardware-based iSCSI or FC support
  • NetApp: SR driver for mapping of LUNs to VDIs on a NETAPP server, providing use of fast snapshot and clone features on the filer
  • LVHD over FC: SR plugin which represents disks as VHDs on Logical Volumes within a Volume Group created on an HBA LUN, e.g. hardware-based iSCSI or FC support
  • iSCSI: Base ISCSI SR driver, provides a LUN-per-VDI. Does not support creation of VDIs but accesses existing LUNs on a target.
  • LVHD over iSCSI: SR plugin which represents disks as Logical Volumes within a Volume Group created on an iSCSI LUN
  • EqualLogic: SR driver for mapping of LUNs to VDIs on a EQUALLOGIC array group, providing use of fast snapshot and clone features on the array

Release Note

No direct impact on user consuming the external HTTP API services. This blueprint enables the use of several storage back-ends by writing a single nova-volume driver, rather than several ones, as many as the specific storage back-ends required to be supported are needed. In due course, leveraging capabilities of specific back-ends, will enable operations like volume snapshotting, cloning, etc. that can be exposed via official API.

Rationale

This becomes premium value for service provider clouds or may become differentiator for enterprise private clouds.

User stories

TBD

Assumptions

For the design and implementation of the new Nova-Volume driver, XenAPI for XenServer/XCP is going to be used.

Design

By Leveraging Storage Manager plugins for XenServer/XCP, more drivers can be provided to support sophisticated operations like cloning and snapshotting. The idea is that along side drivers like AoE, and iSCSI, a new driver will be added to

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

There should be no visible changes to the end users, all this work will be behind the API servers.

Code Changes

Most of the changes will be on top of the current code, however there is a possibility where some changes to Nova-Volume Manager are required to make it more general and accommodate the use of XenAPI SM. More when the actual implementation starts.

Migration

This new driver may require changes to the database schema, more to follow once the actual implementation starts. However procedures to migrate DB schema will be provided.

Test/Demo Plan

Unit tests will be provided as code is developed.

Unresolved issues

None

BoF agenda and discussion

None