Download - Cinder: The new kids on the block

Transcript
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]