Upload
subbarao-appanabhotla
View
48
Download
0
Embed Size (px)
DESCRIPTION
openstack icehouse
Citation preview
KIDSON
THE
BLOCK
NEW
THEpresented by mike perez
MIKEPEREZ
senior developer for DreamHost•Maintain Cinder setup.
•Maintain interactions between Nova and Cinder.
•Working with 900 Ceph OSD setup comes out to around 4 petabytes.
•Contribute fixes upstream.
http://www.flickr.com/photos/nooccar/5844185400
cinder core developer
MIKEPEREZ
•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
WHAT
http://www.flickr.com/photos/neilhinchley/294337822/
• 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
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.
ARCHITECTURALOVERVIEW
Cinder Client
Cinder API
Cinder Volume Cinder BackupCinder Scheduler
SQL DB
AMPQAMPQ
AMPQ
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) •Manage volume types •Manage quotas •Volume extend •Volume migrate •Transfer volumes from tenant to tenant
CINDERSCHEDULER•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 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
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 •One cinder-volume instance can manage multiple back-ends •Each back-end driver is generally configured to interact with one storage pool •“Multi-threading”
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.
•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.
VOLUME
HIGHLEVEL
Nova CinderVM Instance
Linux Volume Manager
KVM
ISCSI Initiator
LegendPersistent Volume DataPersistent Volume Control
/dev/hda
/dev/vda
Target
THEGRID
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 • Extend Volume
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)
•Dell EqualLogic
•VMware VMDK
•IBM General Parallel File System (GPFS)
ICEHOUSEBOUNDGeneral Features
•FC SAN Zone / Access Control management
•State machine
•Volume retype
•Volume Replication
•Multiprocess API
•Disaster recovery
New Drivers:
•Federator Storage
•ProphetStor
•Generic ZFS ISCSI
•HP Lefthand array iSCSI
•HP MSA 2040
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.
Web: http://thing.ee Github: thingee
Twitter: @thingee IRC: thingee
Email: [email protected]