27
Sajid Akhtar TME – OpenSource Cloud Solution @mail2fashion Storage as a Service and OpenStack 1

Storage as a service OpenStack

Embed Size (px)

Citation preview

Page 1: Storage as a service OpenStack

1

Sajid Akhtar

TME – OpenSource Cloud Solution

@mail2fashion

Storage as a Service and OpenStack

Page 2: Storage as a service OpenStack

Cloud storage subscription growth statistics are huge

2

Page 3: Storage as a service OpenStack

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

Page 4: Storage as a service OpenStack

What Is OpenStack?

Global collaboration Developers Cloud computing technologists

4

Open source cloud computing platform- Public clouds- Private clouds

Solutions for all types of cloudsSimple to implementMassively scalableFeature rich

Page 5: Storage as a service OpenStack

Quick OpenStack Overview

An 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

Page 6: Storage as a service OpenStack

OpenStack Services diagram

6

Page 7: Storage as a service OpenStack

7

Page 8: Storage as a service OpenStack

8

Page 9: Storage as a service OpenStack

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 disk

For desktop user PC's internal disk drives are ephemeral; persistent storage can be considered similar to an external USB drive.

9

Page 10: Storage as a service OpenStack

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:

– http://swift.openstack.org/overview_architecture.html

Page 11: Storage as a service OpenStack

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.

Page 12: Storage as a service OpenStack

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"

Page 13: Storage as a service OpenStack

OpenStack Cinder

13

Database Queue

Cinder Vol

Cinder Vol

Cinder Vol

Cinder API

C-scheduler

iSCSI NFS

Page 14: Storage as a service OpenStack

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.

Page 15: Storage as a service OpenStack

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 )

Page 16: Storage as a service OpenStack

OpenStack Cinder

16

Page 17: Storage as a service OpenStack

Filesystem as a service – basic idea

NAS shares to share data across VM instances– Brings the benefits of shared storage to

OpenStackSimple and widely accepted protocols

– NFS and CIFS

17

Page 18: Storage as a service OpenStack

Filesystem as a service

18

Hypervisor

VM1 VM2

S1 S2

Storage Controller

Page 19: Storage as a service OpenStack

Why filesystems?

NAS – built to share storage– CIFS/NFS– In-built locking, sharing and permissions– Metadata stored with data

Cheap!Legacy applicationsApplications in scalable compute

19

Page 20: Storage as a service OpenStack

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

Page 21: Storage as a service OpenStack

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

Page 22: Storage as a service OpenStack

Current implementation

Separate service inside CinderShares API

– Share create/delete– Share Snapshot create/delete– Allow/Deny access– Publish capabilities to scheduler

22

Page 23: Storage as a service OpenStack

Filesystem inside Cinder

23

Database Queue

Cinder Vol

Cinder Share

Cinder Share

Cinder API++

C-scheduler

iSCSI NFSCIFS

Page 24: Storage as a service OpenStack

Quick references for Cinder

Source code: https://github.com/openstack/cinder

Bug tracker: https://bugs.launchpad.net/cinder

Blueprints: https://blueprints.launchpad.net/cinder

Developer doc: http://docs.openstack.org/developer/cinder/

API complete reference: http://api.openstack.org/api-ref.html

Page 25: Storage as a service OpenStack

How to start contributing ?

• Become a member and create profile : https://www.openstack.org/join

• Sign User license

• Create launchpad account and review the projects

.

• Openstack Wiki : http://wiki.openstack.org/

• Join IRC channel and register to OpenStack mailing list.

25

Page 26: Storage as a service OpenStack

We are everywhere !!!!

26

Page 27: Storage as a service OpenStack

Questions?

27