KIDSON
THE
BLOCK
NEW
THEpresented by mike perez
MIKEPEREZsenior developer for DreamHost
cinder core developer
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
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)•Volume types (more later)•Quotas
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
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
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.
HIGHLEVEL
Nova CinderVM Instance
Linux Volume Manager
KVM
ISCSI Initiator
LegendPersistent Volume DataPersistent Volume Control
/dev/hda
/dev/vda
ISCSI Initiator
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
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
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)
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)
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]
Top Related