Storage as a service OpenStack


Published on

Published in: Technology, Business

Storage as a service OpenStack

  1. 1. Storage as a Service andOpenStackSajid AkhtarTME – OpenSource CloudSolution@mail2fashion 1
  2. 2. Cloud storage subscription growth statistics are huge 2
  3. 3. Storage as a Service CAPEX to OPEX based business model. Manage storage by well-defined set of remotely Accessible APIs Abstracts the actual storage implementation This service offers specialized functions: DR, backup, document sharing, etc.Using Storage as a Service Object Block File Ephemeral 3
  4. 4. What Is OpenStack?Global collaboration Developers Cloud computing technologists Open source cloud computing platform - Public clouds - Private clouds Solutions for all types of clouds Simple to implement Massively scalable Feature rich 4
  5. 5. Quick OpenStack OverviewAn Open Source Cloud Computing Platform Provides for all types of clouds – Simple – Scalable – Feature rich Total cloud infrastructure solution – Combination of interrelated projects Open source software around 3 years old OpenStack Foundation established 2012 Over 700+ organizations contributing to development Established and growing number of production deployments 5
  6. 6. OpenStack Services diagram 6
  7. 7. 7
  8. 8. 8
  9. 9. Type of storage available on OpenStackEphemeral(On-instance) :-Used for running Operating System and scratch space-Persists until VM is terminated-Access associated with a VM-Implemented as a filesystem underlying OpenStack Compute-Administrator configures size setting, based on flavors-Example: 10GB first disk, 30GB/core second diskFor desktop user PCs internal disk drives are ephemeral;persistent storage can be considered similar to an externalUSB drive. 9
  10. 10. OpenStack Object Storage (Swift)What Is It? Object Storage is ideal for cost effective, scale-out storage. It provides a fully distributed, API-accessible storage platform that can be integrated directly into applications or used for backup, archiving and data retention. Highly available & distributed object / blob store(known as a binary large object, collection of binary data stored as a single entity in a database management system. Blobs are typically images, audio or other multimedia objects) – Ring architecture In production today – Rackspace’s Cloud Files, Internap, Wikimedia Foundation Architectural overview: –
  11. 11. OpenStack Block Storage (Cinder)What Is It? Block Storage allows block devices to be exposed and connected to compute instances for expanded storage, better performance and integration with enterprise storage platforms. This persistent block level storage devices can be exposed to applications as well. The block storage system manages the creation, attaching and detaching of the block devices to servers. Block storage volumes are fully integrated into OpenStack Compute and the Dashboard allowing for cloud users to manage their own storage needs.
  12. 12. Contd.. This is block storage (or volumes) and currently there are blueprints for filesystems like NFS or CIFS share Persists until deleted Mounted via OpenStack Block-Storage controlled protocol (for example, iSCSI, LVM) Sizings based on need Example: 1TB "extra hard drive"
  13. 13. OpenStack CinderDatabase Cinder API Queue C-scheduler Cinder Vol Cinder Vol Cinder Vol iSCSI NFS 13
  14. 14. Cinder (Contd.) cinder-api accepts API requests and routes them to cinder-volume for action. cinder-volume acts upon the requests by reading or writing to the Cinder database to maintain state, interacting with other processes (like cinder-scheduler) through a message queue and directly upon block storage providing hardware or software. It can interact with a variety of storage providers through a driver architecture. Currently, there are drivers for IBM, SolidFire, NetApp, Nexenta, Zadara, linux iSCSI and other storage providers. Much like nova-scheduler, the cinder-scheduler daemon picks the optimal block storage provider node to create the volume on. Cinder deployments will also make use of a messaging queue to route information between the cinder processes as well as a database to store volume state.
  15. 15. Minimum Driver Features In order to be accepted for a given milestone release, Cinder driver must implement the following features Grizzly Release: – Volume Create/Delete – Volume Attach/Detach – Snapshot Create/Delete – Create Volume from Snapshot – Get Volume Stats (driver_version/ free_capacity_gb /reserved_percentage /storage_protocol /total_capacity_gb /vendor_name /volume_backend_name )
  16. 16. OpenStack Cinder 16
  17. 17. Filesystem as a service – basic idea NAS shares to share data across VM instances – Brings the benefits of shared storage to OpenStack Simple and widely accepted protocols – NFS and CIFS 17
  18. 18. Filesystem as a service Storage Controller S1 S2 VM1 VM2 Hypervisor 18
  19. 19. Why filesystems? NAS – built to share storage – CIFS/NFS – In-built locking, sharing and permissions – Metadata stored with data Cheap! Legacy applications Applications in scalable compute 19
  20. 20. Use case Simple: sharing data across VMs – Can use as isolated disk too! Migration – VM crashes doesn’t affect stored data Scalable compute with shared storage – Parallel compilation of large C/C++ projects – Rendering pipelines for animation studios and electronic chip design workloads 20
  21. 21. OpenStack Massively scalable, open source cloud operating systems – Compute (Nova) – Object Storage (Swift) – Block Storage + File Storage? (Cinder) – Imaging service (Glance) – Dashboard (Horizon) – Network (Quantum) – File Storage (New project) ? 21
  22. 22. Current implementation Separate service inside Cinder Shares API – Share create/delete – Share Snapshot create/delete – Allow/Deny access – Publish capabilities to scheduler 22
  23. 23. Filesystem inside CinderDatabase Cinder API++ Queue C-scheduler Cinder Cinder Vol Share Cinder Share iSCSI NFS CIFS 23
  24. 24. Quick references for Cinder Source code: Bug tracker: Blueprints: Developer doc: API complete reference:
  25. 25. How to start contributing ?• Become a member and create profile :• Sign User license• Create launchpad account and review the projects .• Openstack Wiki :• Join IRC channel and register to OpenStack mailing list. 25
  26. 26. We are everywhere !!!! 26
  27. 27. Questions? 27