MIKEPEREZsenior developer for DreamHostcinder core developer
WHAThttp://www.ﬂickr.com/photos/neilhinchley/294337822/• project exists since Folsomrelease, spun off Nova-volume• cinder manages block storage• not object storage• not ﬁle level storage• volumes attach toVM Instances• boot from volume• volumes have a lifecycleindependent ofVM instance
VOLUMETYPES•Admin can create tiers of storage. e.g. two LVMbackends, one with SSD’s and the other with HDD’s.•Users can specify a tier they want when creating avolume.
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
CINDERSCHEDULER•Chooses which back-end to place a new volume on•Conﬁgurable plugins for schedulers•Filter scheduler has plugins for ﬁlters and weights: chance, simple and ﬁlter.•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 ﬁlters•Volume types•Sorts according to weights e.g., available free space•Returns best candidate
CINDERVOLUME•Drivers: Called by Manager, contains back-end-speciﬁc codeto communicate with various storage types (e.g., Linux LVM,storage controllers from various vendors, distributed ﬁlesystems, etc.)•Admin can run multiple cinder-volume instances, each withits own conﬁguration ﬁle describing settings and the storageback-end•As of Grizzly, one cinder-volume instance can managemultiple back-ends•Each back-end driver is generally conﬁgured to interact withone storage pool•Multi-threading
CINDERBACKUP•A backup is an archived copy of aVolume stored in aobject store.•A backup is just the data that was written, unlike asnapshot which is the entire 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
HAVANABOUNDGeneral Features•Code cleanup and reorganization•Attach volume to multiple hosts•Read-only volumes•Disk encryption•FC SAN Zone / Access Controlmanagement•Transfer volume ownership•Volume Migration•Work towards locality betweeninstances and volumes•State machine•Volume rate limitingNew Drivers:•IBM GPFS•IBM zVM•EMC Isilon (iSCSI)•Local disk partitions•Hitachi HUS (DF850) (iSCSI)•Dell Equalogic•Violin Memory v6000 (iSCSI)
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 mecopy things out of his slides.Twitter: @thingeeIRC: thingeeemail: firstname.lastname@example.org