Intro to Openstack Cinder and Icehouse Bound
Embed Size (px)
Transcript of Intro to Openstack Cinder and Icehouse Bound
THEpresented by mike perez
senior developer for DreamHostMaintain Cinder setup.
Maintain interactions between Nova and Cinder.
Working with 900 Ceph OSD setup comes out to around 4 petabytes.
Contribute fixes upstream.
cinder core developer
Wrote the start of Cinder V2 API
Cinder API documentation
Cinder API references
More code reviews than I know what to do with
project exists since Folsom release, spun off Nova-volume
cinder manages block storage
not an object storage
not a file level storage
volumes attach to VM Instances
boot from volume
volumes have a lifecycle independent of VM instance
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.
Cinder Volume Cinder BackupCinder Scheduler
Create from image, snapshot
Volume attach/detach (called by Nova)
Manage volume types
Transfer volumes from tenant to tenant
CINDERSCHEDULERChooses 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 back-ends
Filters according to capabilities
Drivers report capabilities and state (e.g., free space)
Sorts according to weights e.g., available free space
Returns best candidate
CINDERVOLUMEDrivers: 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
One cinder-volume instance can manage multiple back-ends
Each back-end driver is generally configured to interact with one storage pool
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
ATTACHTHAT 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.
Nova CinderVM Instance
Linux Volume Manager
LegendPersistent Volume DataPersistent Volume Control
DRIVERREQUIREMENTS Volume Create/Delete
Create Volume from Snapshot
Get Volume Stats
Copy Image to Volume
Copy Volume to Image
EMC VMAX/VNX (iSCSI)
HP 3PAR (iSCSI/FC)
HP LeftHand (iSCSI)
Huawei T-series/Dorado (iSCSI)
IBM Storwize family/SVC (iSCSI/FC)
IBM XIV (iSCSI), LVM (iSCSI)
Scality SOFS (scality)
Windows Server 2012 (iSCSI)
IBM General Parallel File System (GPFS)
FC SAN Zone / Access Control management
Generic ZFS ISCSI
HP Lefthand array iSCSI
HP MSA 2040
THANKYOU!Get started with Cinder:
REST API Docs:
Thanks Avishay Traeger from IBM for letting me copy things out of his slides.