NEW
KIDS
ON
THE
BLOCK
MIKE
PEREZ
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
ARCHITECTURAL
OVERVIEW
Cinder Client
Cinder API
SQL DB
AMPQ
Cinder Scheduler
AMPQ
AMPQ
Cinder Volume
AMPQ
Cinder Backup
CINDER
BACKUP
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 creates the connection to the storage using the returned information.
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
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:
Volume retype
Cinder API can run on multiple
processes
Ceilometer notifications
TSM Backup Driver
Import/export backup metadata
Juno
BOUND
General Features
New Drivers:
THANK
YOU!
Web: http://thing.ee
Github: thingee
Twitter: @thingee
IRC on Freenode: thingee
Email: thingee@gmail.com