Presentation on theme: "OpenStack Block Storage"— Presentation transcript:
1 OpenStack Block Storage OpenStack Storage and Cinder an Interactive Discussion!!!Aaron Delp, Director of Solutions, OpenStack
2 Who is this guy? John Griffith, Senior Software engineer at SolidFire Inc based out of BoulderColorado.Former PTL for the OpenStack Block StorageProject (Cinder) and member of the OpenStackTechnical Committee
3 Quick Poll: How many of you are end-users of OpenStack? How many of you are OpenStack Operators?How many of you contribute to OpenStack?How many of you work for Vendor Organizations that contribute to OpenStack?How many are “all of the above”?How many just heard there was free Pizza?
5 Number of different types of Storage in OpenStack, each serving a different use case EphemeralNon-PersistentLife Cycle coincides with an InstanceUsually local FS/QCOW fileObjectManages data as.. well, an ObjectThink photos, mp4’s etcTypically “cheap and deep”Commonly SWIFTShared FSWe all know and love NFSSoon to be ManilaBlockFoundation for the other typesThink raw diskTypically higher performanceCinder
6 Most common question, difference between Object and Block? Cinder / Block StorageSwift / Object StorageObjectivesStorage for running VM disk volumes on a hostIdeal for performance sensitive appsEnables Amazon EBS-like serviceIdeal for cost effective, scale-out storageFully distributed, API-accessibleWell suited for backup, archiving, data retentionEnables Dropbox-like serviceUse CasesProduction ApplicationsTraditional IT SystemsDatabase Driven AppsMessaging / CollaborationDev / Test SystemsVM TemplatesISO ImagesDisk Volume SnapshotsBackup / ArchiveImage / Video RepositoryWorkloadsHigh Change ContentSmaller, Random R/WHigher / “Bursty” IOTypically More Static ContentLarger, Sequential R/WLower IOPS
8 Cinder Mission Statement To implement services and libraries to provide on demand, self-service access to Block Storage resources. Provide Software Defined Block Storage via abstraction and automation on top of various traditional backend block storage devices.To put it another way...Virtualize various Block Storage devices and abstract them in to an easy self serve offering to allow end users to allocated and deploy storage resources on their own quickly and efficiently.
9 Huh?So it’s simply allowing you to dynamically create/attach/detach disks to your Nova Instance. Those are the basics, much more advanced capabilities (see demo/questions section).
12 Plugin architecture, use your own vendors backend(s) or use the default Backend devices invisible to end-userConsistent API regardless of backendFilter Scheduler let’s you get get fancyexpose differentiating features via custom volume-types and extra-specsHow it works
13 Reference Implementation Included Includes code to provide a base implementation using LVMJust add disksGreat for POC and getting startedSometimes good enoughMight be lacking for your performance, H/A and Scaling needs (it all depends)Can Scale by adding NodesCinder-Volume Node utilizes it’s local disks (allocate by creating an LVM VG)Cinder Volumes are LVM Logical Volumes, with an iSCSI target created for eachTypical max size recommendations per VG/Cinder-Volume backend ~ 5 TBNo Redundancy (yet)
15 Sometimes LVM Isn’t Enough Plugin Architecture gives you choices (maybe too many) and you can mix them together:* datera* fujitsu_eternus* fusionio* hitachi-hbsd* hauwei* nimble* prophetstor* pure* zfssa* New as of Juno Releasecoraidemc-vmaxemc-xtremioeqlxglusterfchdsibm-gpfsibm-xivlvmnetappnexentanfsCeph RBDHP-3ParHP-LeftHandscalitysheepdogsmbfssolidfirevmware-vmdkwindow-hypervzadara
17 Conf file entries #Append to /etc/cinder.conf enabled_backends=lvm,solidfire[lvm]volume_group=cinder_volumesvolume_driver=cinder.volume.drivers.lvm.LVMISCSIDrivervolume_backend_name=LVM_iSCSI[solidfire]volume_driver=cinder.volume.drivers.solidfire.SolidFiresan_ip=san_login=adminsan_password=solidfirevolume_backend_name=SolidFire
18 Speaking of Juno!!! Just wrapped up the fifth release of Cinder!!!! Major emphasis on testing and compatibilityRunning Third Party CI on Vendors gear in their own labs against each Cinder commitManage/Unmanage (or Import/Export) of Volumes widely availableIntroduced support for Pools for those devices that still have that conceptIntroduced support for ReplicationIntroduced support for Consistency GroupsContinued improvements to Cinder-Backup making way towards incrementals
19 Preview for Kilo It’s all about QUALITY Technical debt De-emphasizing new features (ie finish the ones we have and make them rock solid)Redundancy for base LVM implementationRolling Upgrades!!
21 Making choices can be the HARDEST part! Each has their own meritsSome excel at specific use casesMaybe you already own the gearTCO, TCO, TCOAsk yourself:Does it scale?Is the architecture a good fit?Is it tested, will it really work in OpenStack?Support?What about performance and noisy neighbors?Third party CI testing?Active in the OpenStack Community?DIY, Services, both/neither (SolidFire AI, Fuel, JuJu, Nebula….)Making choices can be the HARDEST part!
23 SolidFire’s Scale-Out Block Storage System Designed from the start for OpenStack and other cloud platformsMulti-Tenant architectureDesigned for “Cloud-Scale” DeploymentsLinear non-disruptive platform growthAutomation top priority in API designBuilt to deploy in an OpenStack environmentNot an afterthoughtExtreme fault tolerance
24 SolidFire led the creation of Cinder (break out from Nova) Founding Cinder PTL (2.5 years)OpenStack Technical Committee MemberFull SolidFire driver integration with latest OpenStack releaseSet and maintain true QoS levels on a per-volume basisCreate, snapshot, clone and manage SolidFire volumes using OpenStack clients and APIsBootable SolidFire VolumesWeb-based API exposing all cluster functionalitySolidFire integration with OpenStack Cinder can be configured in less than a minuteSeamless scaling after initial configurationFull multi-tenant isolationSolidFire & OpenStackLet’s move on to specific cloud orchestration projects. First up we have OpenStack. SolidFire has created a driver for OpenStack Cinder (the block storage project). This driver fully supports ALL the base Cinder requirements and is completely functional to Cinder specs. In addition, we have added a number of features to better integrate OpenStack with SolidFire storage. Specifically, we added SF QoS integration, multi-tenancy, bootable volumes, as well as cloning and snapshot offloading.
25 SolidFire & CinderFull SolidFire driver integration with latest OpenStack software releaseSet and maintain true QoS levels on a per- volume basisCreate, snapshot, clone, extend and manage SolidFire volumes using OpenStack clients and APIsRun instances on a SolidFire volumeWeb-based API exposing all cluster functionalitySolidFire integration with Cinder can be configured in less than a minute all you need is network connectivity, everything else is in OpenStack packages.
26 Related Resources OpenStack Solution Page Blogs OpenStack Solution BriefSolidFire/Cinder Reference ArchitectureOpenStack Configuration GuideSolidFire/Rackspace Private Cloud Implementation GuideVideo: Configuring OpenStack Block Storage w/SolidFireBlogsOpenStack Summit Recap: Mindshare Achieved, Market Share Must FollowSeparating from the PackWhy OpenStack Matters
28 Creating types and extra-specs cinder type create super| ID | Name || c506230f-eb08-4d4e-82e2-7a88eb779bda | super |cinder type create super-dooper| ID | Name || 918cf343-1f3d-4508-bb69-cd0e668ae297 | super-dooper |cinder type-key super set volume_backend_name=LVM_iSCSIcinder type-key super-dooper set volume_backend_name=SolidFire \ qos:minIOPS=400 qos:maxIOPS=1000 qos:burstIOPS=2000
29 End users perspective griff@stack-1: cinder type-list | ID | Name || 918cf343-1f3d-4508-bb69-cd0e668ae297 | super-dooper || c506230f-eb08-4d4e-82e2-7a88eb779bda | super |cinder create --volume-type super-dooper ……
30 How to get involved? It’s Easy, Start Here Any questions? https://wiki.openstack.org/wiki/How_To_Contrib uteAny questions?@aarondelp