Anda di halaman 1dari 21

THE

NEW
KIDS
ON
THE
BLOCK

presented by mike perez

MIKE
PEREZ

senior developer for Datera


cinder core developer

Joined the community

October 2010

Wrote the start of Cinder V2
API

Cinder API documentation

Cinder API references

Compatibility hammer

More code reviews than I
know what to do with

http://www.flickr.com/photos/nooccar/5844185400

WHAT
project exists since Folsom release,
spun off Nova-volume

cinder manages block storage

not object storage

not file level storage

volumes attach to VM Instances

Instances can boot from volume

volumes have a lifecycle
independent of VM instance
http://www.flickr.com/photos/neilhinchley/294337822/

ARCHITECTURAL
OVERVIEW
Cinder Client

Cinder API

SQL DB
AMPQ

Cinder Scheduler

AMPQ

AMPQ

Cinder Volume

AMPQ

Cinder Backup

CINDER
API
Volume create/delete/list/show

Create from image, snapshot

Snapshot create/delete/list/show

Backups create/restore/list/delete/show

Volume attach/detach (called by Nova)

Manage quotas

Volume extend

Volume migrate

Transfer volumes from tenant to tenant

ARCHITECTURAL
OVERVIEW
Cinder Client

Cinder API

SQL DB
AMPQ

Cinder Scheduler

AMPQ

AMPQ

Cinder Volume

AMPQ

Cinder Backup

CINDER
VOLUME
Drivers: Called by Manager, contains back-end-specific code
to communicate with various storage types (e.g., Linux LVM,
storage controllers from various vendors, distributed file
systems, etc.)

Admin can run multiple cinder-volume instances, each with
its own configuration file describing settings and the storage
back-end

Each backend driver is configured to interact with one
storage pool

ARCHITECTURAL
OVERVIEW
Cinder Client

Cinder API

SQL DB
AMPQ

Cinder Scheduler

AMPQ

AMPQ

Cinder Volume

AMPQ

Cinder Backup

CINDER
SCHEDULER
Chooses which back-end to place a new volume on

Configurable plugins for schedulers

Filter scheduler has filters and weighers

Filter scheduler Flow Example:

Starts with list of all cinder volume hosts

Filters according to capabilities

Drivers report capabilities and state (e.g., free space)

Default filters

Volume types

Sorts according to weights e.g., available free space

Returns best candidate

VOLUME
TYPES

Admin can create tiers of storage. e.g. two LVM


backends, one with SSDs and the other with HDDs.

Users can specify a tier they want when creating a
volume.

ARCHITECTURAL
OVERVIEW
Cinder Client

Cinder API

SQL DB
AMPQ

Cinder Scheduler

AMPQ

AMPQ

Cinder Volume

AMPQ

Cinder Backup

CINDER
BACKUP

A backup is an archived copy of a Volume stored in a


object store.

A backup is just the data that was written, unlike a
snapshot which is the entire block.

Use Swift, Ceph, or IBM Tivoli Storage Manager

HIGH
LEVEL
Nova
VM Instance
/dev/vda

Legend
Persistent Volume Data
Persistent Volume Control

Cinder
Linux Volume
Manager

KVM
ISCSI
Initiator

Target

/dev/hda

ATTACH
THAT
VOLUME

Nova calls Cinder via its API, passing connection information.


e.g., host name, iSCSI initiator name, FC WWNNs

Cinder API passes message to Cinder Volume.

Manager does initial error checking and calls volume driver.

Volume driver does any necessary preparation to allow the connection.


e.g., give the nova host permissions to access the volume.

Volume driver returns connection information, which is passed to Nova.


e.g., iSCSI iqn and portal, FC WWNN.

Nova creates the connection to the storage using the returned information.

Nova passes the volume device/file to the hypervisor.

THE

GRID

DRIVER

REQUIREMENTS
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

DRIVER

CERTIFICATION

Driver certification test exists in devstack today.



Wrapper around OpenStack integration tests
Tempest.

Requires driver maintainers in EACH release to
provide results from running Tempest against
Cinder with their driver as a backend.

CURRENT
DRIVERS
Coraid (AoE)

EMC VMAX/VNX (iSCSI)

GlusterFS (GlusterFS)

HP 3PAR (iSCSI/FC)

HP LeftHand (iSCSI)

Huawei T-series/Dorado (iSCSI)

IBM Storwize family/SVC (iSCSI/FC)

IBM XIV (iSCSI), LVM (iSCSI)

NetApp (iSCSI/NFS)

Nexenta (iSCSI)

NFS (NFS)

RBD (Ceph)

Scality SOFS (scality)

Sheepdog (sheepdog)

Solaris (iSCSI)

SolidFire (iSCSI)

Windows Server 2012 (iSCSI)

Zadara (iSCSI)

Dell EqualLogic

VMware VMDK

IBM General Parallel File System (GPFS)

ICEHOUSE
RELEASE
General Features

New Drivers:

FC SAN Zone / Access Control


management

Volume retype

Cinder API can run on multiple
processes

Ceilometer notifications

TSM Backup Driver

Import/export backup metadata

HP Lefthand array iSCSI



HP MSA 2040

IBM SONAS

IBM Storwize V7000

EMC VNX Direct

293 bug fixes!

Juno
BOUND
General Features

Create volume on same compute host



Project quotas

Support Accept-Langauge header in API

Rollback volume to snapshot

Volume replication

New Drivers:

Generic ZFS ISCSI



Astute NFS

Fusion-io ISCSI

ProphetStor Federator

Nimble ISCSI

X-IO ISE ISCSI and FC

THANK
YOU!

Web: http://thing.ee

Github: thingee

Twitter: @thingee

IRC on Freenode: thingee

Email: thingee@gmail.com

Get started with Cinder:



https://wiki.openstack.org/wiki/Cinder

Source Code:

http://github.com/openstack/cinder

REST API Docs:

http://bit.ly/1ebzbMZ

Anda mungkin juga menyukai