Cinder: The new kids on the block

16
KIDS ON THE BLOCK NEW THE presented by mike perez

description

This is an overview Cinder as of the Grizzly release. These slides were presented at the OpenStack Atlanta Meetup. Thanks to Avishay Traegar for letting me steal bullet points from his slides.

Transcript of Cinder: The new kids on the block

Page 1: Cinder: The new kids on the block

KIDSON

THE

BLOCK

NEW

THEpresented by mike perez

Page 2: Cinder: The new kids on the block

MIKEPEREZsenior developer for DreamHost

cinder core developer

Page 3: Cinder: The new kids on the block

WHAT

http://www.flickr.com/photos/neilhinchley/294337822/

• 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• boot from volume

• volumes have a lifecycle independent of VM instance

Page 4: Cinder: The new kids on the block

VOLUMETYPES

•Admin can create tiers of storage. e.g. two LVM backends, one with SSD’s and the other with HDD’s.

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

Page 5: Cinder: The new kids on the block

ARCHITECTURALOVERVIEW

Cinder Client

Cinder API

Cinder Volume Cinder BackupCinder Scheduler

SQL DB

AMPQAMPQ

AMPQ

Page 6: Cinder: The new kids on the block

CINDERAPI•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)•Volume types (more later)•Quotas

Page 7: Cinder: The new kids on the block

CINDERSCHEDULER•Chooses which back-end to place a new volume on

•Configurable plugins for schedulers

•Filter scheduler has plugins for filters and weights: chance, simple and filter.

•Filter scheduler Flow Example:

•Starts with list of all back-ends

•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

Page 8: Cinder: The new kids on the block

CINDERVOLUME•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•As of Grizzly, one cinder-volume instance can manage multiple back-ends•Each back-end driver is generally configured to interact with one storage pool•Multi-threading

Page 9: Cinder: The new kids on the block

CINDERBACKUP

•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.

Page 10: Cinder: The new kids on the block

HIGHLEVEL

Nova CinderVM Instance

Linux Volume Manager

KVM

ISCSI Initiator

LegendPersistent Volume DataPersistent Volume Control

/dev/hda

/dev/vda

ISCSI Initiator

Page 11: Cinder: The new kids on the block

ATTACHTHAT• Nova calls Cinder via its API, passing connection information.

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

• 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 WWPN.

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

• Nova passes the volume device/file to the hypervisor.

VOLUME

Page 12: Cinder: The new kids on the block

THEGRID

Page 13: Cinder: The new kids on the block

DRIVERREQUIREMENTS• 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

Page 14: Cinder: The new kids on the block

CURRENTDRIVERS

•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)

Page 15: Cinder: The new kids on the block

HAVANABOUNDGeneral Features

•Code cleanup and reorganization

•Attach volume to multiple hosts

•Read-only volumes

•Disk encryption

•FC SAN Zone / Access Control management

•Transfer volume ownership

•Volume Migration

•Work towards locality between instances and volumes

•State machine

•Volume rate limiting

New Drivers:

•IBM GPFS

•IBM zVM

•EMC Isilon (iSCSI)

•Local disk partitions

•Hitachi HUS (DF850) (iSCSI)

•Dell Equalogic

•Violin Memory v6000 (iSCSI)

Page 16: Cinder: The new kids on the block

THANKYOU!•Get started with Cinder:•https://wiki.openstack.org/wiki/Cinder

•Source Code:•http://github.com/openstack/cinder

•REST API Docs:•http://docs.openstack.org/api/openstack-block-storage/2.0

•Thanks Avishay Traeger from IBM for letting me copy things out of his slides.

Twitter: @thingeeIRC: thingee

email: [email protected]