Jump to: navigation, search

Difference between revisions of "Cinder/HuaweiSDSHypervisorDriver"

(Benefits of this driver)
(Related blueprints)
Line 3: Line 3:
 
=== Related blueprints ===
 
=== Related blueprints ===
 
https://blueprints.launchpad.net/cinder/+spec/huawei-sdshypervisor-driver
 
https://blueprints.launchpad.net/cinder/+spec/huawei-sdshypervisor-driver
 +
https://blueprints.launchpad.net/nova/+spec/huawei-sdshypervisor-volume-driver
  
 
=== Related spec ===
 
=== Related spec ===

Revision as of 03:31, 26 June 2014

Add Huawei SDSHypervisor Driver to Cinder

Related blueprints

https://blueprints.launchpad.net/cinder/+spec/huawei-sdshypervisor-driver https://blueprints.launchpad.net/nova/+spec/huawei-sdshypervisor-volume-driver

Related spec

https://review.openstack.org/#/c/101688/5

Overview

Huawei SDSHypervisor is a software defined storage product, is a software running in host, and virtualizes heterogeneous SAN device to provide virtual block device based user's QoS, while providing advanced features such as snapshot, clone, cache, thin provision, QoS and so on.

The purpose of this blue print is to add Huawei SDSHypervisor Driver to Cinder.

Benefits of this driver

Currently there are many heterogeneous storage devices in user product environment which may not have driver in cinder and is low-level device without advance feature, e.g. snapshot, clone, cache, thin provision, QoS. So adding the SDShypervisor driver will bring the following advantages:

  • Enable cinder to access more storage device without specific cinder storage driver.
  • Better I/O performance using SDSHypervisor cache feature when there is SSD in host.
  • Patch advance feature to storage device via SDSHypervisor, e.g. snapshot, clone, cache, thin provision, QoS

Deployment

Hypervisor SSD.JPG


  • Attach Lun from heterogeneous SAN to host
  • Install SDShypervisor in these host, and config Lun which will be controlled
  • Config and run cinder volume using SDSHypervisor driver
  • Install other openstack service, and use QEMU/KVM as a hypervisor (via libvirt compute driver)

Work Item

Cinder

Add new driver in /cinder/volume/drivers path that uses socket API interact with Huawei SDShypervisor storage., and realize cinder driver minimum features:

  • Volume Create/Delete
  • Volume Attach/Detach
  • Snapshot Create/Delete
  • Create Volume from Snapshot
  • Get Volume Stats
  • Copy Image to Volume
  • Copy Volume to Image
  • Clone Volume
  • Extend Volume

SDShypervisor data panel using private Key value protocal, so add a new connector in cinder/brick/initiator path to realize attach/detach volume, and realize abstract connector methods:

  • connect_volume
  • disconnect_volume

Nova

Also add a new volume driver in nova/virt/libvirt/volume.py file to realize attach/detach volume to qemu-kvm instance, and realize abstract volume dirver methods:

  • connect_volume
  • disconnect_volume