openstack storage overview

22
OpenStack Storage Overview Feb 2015 Bharat Kumar Kobagana

Upload: bharath-kobagana

Post on 15-Jul-2015

272 views

Category:

Engineering


7 download

TRANSCRIPT

Page 1: OpenStack Storage Overview

OpenStack Storage Overview

Feb 2015

Bharat Kumar Kobagana

Page 2: OpenStack Storage Overview

OpenStack

Gnunify OpenStack Mini Conference 2015

Page 3: OpenStack Storage Overview

OpenStack

Gnunify OpenStack Mini Conference 2015

Page 4: OpenStack Storage Overview

Ephemeral Storage

● Disappear when a virtual machine is terminated

● Comes with OpenStack Compute Service (Nova)

Persistent Storage

● Always available, regardless of the status of virtual machine

● OpenStack support two types of persistent storage

● Object Storage

● Block Storage

● Shared Filesystem as Service

Introduction to OpenStack Storage

Gnunify OpenStack Mini Conference 2015

Page 5: OpenStack Storage Overview

Introduction to OpenStack Storage Cont…

Gnunify OpenStack Mini Conference 2015

BLOCK FILE OBJECT

Low level I/O

Tracks & Sectors

No metadata

SCSI, SATA, ATA

SAN

Directories & Files

NFS, Local FS

Simplicity

NAS

Rigid Metadata

Containers / Buckets

Data, Metadata &

Identifier

HTTP

Abstracted

Cinder Manila Swift

?

Page 6: OpenStack Storage Overview

What is Cinder

Swift Overview

Cinder Components

Cinder Architecture

Cinder Features

Backend Drivers

GlusterFS as a Backend

What’s next?

Agenda

Gnunify OpenStack Mini Conference 2015

Page 7: OpenStack Storage Overview

Swift is a highly available, distributed, eventually consistent object store.

Object is {Data + Metadata + Identifier}

Alternative to Amazon S3

Decoupled / Independent from OpenStack

Unstructured data

Scales horizontally

But you can’t..

Mount it

Have file hierarchies

Swift

Gnunify OpenStack Mini Conference 2015

Hierarchy and Namespace

Account -> Containers -> Objectsc

Page 8: OpenStack Storage Overview

Swift Cntd…

Gnunify OpenStack Mini Conference 2015

Page 9: OpenStack Storage Overview

Internal data structures stored in “ring files” in /etc/swift

Maps objects to physical location on disk

Uses hashing to place objects just like GlusterFS :)

Eliminates need for central meta-data server

Needs to be recreated when cluster layout changes

Rings

Gnunify OpenStack Mini Conference 2015

Page 10: OpenStack Storage Overview

Swift Cntd…

Gnunify OpenStack Mini Conference 2015

GET'X-Auth-Token: blah_blah'

http://example.com:8080/v1/AUTH_test/c1/a/b/c.jpg

Proxy server

Account

ContainerObject

Request

method Request

header

All operations are carried out by sending HTTP requests.

Each object’s access path consists of exactly three elements:

/account/container/object

Page 11: OpenStack Storage Overview

Code name for OpenStack Block Storage / Volume Storage

Spun off from Nova

Cinder volumes (block devices) are attached to VMs

Volume lifecycle is independent of virtual machine instances

Backend devices opaque to users

Consistent API regardless of backend selection

Similar to Amazon EBS

Users interact with block storage by attaching volumes their VMs

Cinder provides APIs such as create / delete volume, backup / restore

volume, snapshot / clone volume and many more.

What is Cinder

Gnunify OpenStack Mini Conference 2015

Page 12: OpenStack Storage Overview

cinder-api

● Accepts API requests

● Routes the requests to the cinder-volume for action

cinder-scheduler

● Selects one of the nodes to create volume

● Similar to nova-scheduler

cinder-volume

● Interacts directly with Block Storage

● Responds to read and write requests sent to the Block Storage

Cinder Components

Gnunify OpenStack Mini Conference 2015

Page 13: OpenStack Storage Overview

Cinder Architecture

Gnunify OpenStack Mini Conference 2015

Web Dashboard

Cinder client

Nova client

api

AuthManager

REST

AMQP Scheduler

Volume

Volume

Volume

iSCSI

iSCSI

iSCSI

Page 14: OpenStack Storage Overview

Cinder Architecture

Gnunify OpenStack Mini Conference 2015

Cinder Client

cinder-api

cinder-volume cinder-scheduler cinder-backup

Cinder DBAMQP

AMQP

Page 15: OpenStack Storage Overview

Basic Features

● Attach volume to instance

● Create bootable volume / Create volume from image

● Upload volume to Glance

● Snapshot a volume

● Create volume from snapshot

Cinder Features

Gnunify OpenStack Mini Conference 2015

Page 16: OpenStack Storage Overview

Cinder – Nova communication

Gnunify OpenStack Mini Conference 2015

Nova

VM Instance

KVM Storage Controller

iSCSItarget

/dev/vda

Cinder

iSCSIinitiator

iSCSI is just an example – several

other protocols are also supported

(e.g., FC, NFS)

Persistent Volume Control Persistent Volume Data

Page 17: OpenStack Storage Overview

Volume Replication

Consistency Groups

Support for Volume Pools

Volume Multi Attach

Manage / Unmanage Volumes

Backup Volumes

Volume retype

What Next

Gnunify OpenStack Mini Conference 2015

Page 18: OpenStack Storage Overview

Backend is a storage system which implements the APIs provided by

Cinder.

Backend typically exports a storage pool which is used by Cinder to

provision new storage (aka cinder volumes)

Some of those are:

● LVM (Logical Volume Manager)

● Ceph

● GlusterFS

By default Cinder uses LVM as its backend.

Backend is configured in Cinder via the cinder.conf file.

To get list of all backends:

https://wiki.openstack.org/wiki/CinderSupportMatrix

Backend Drivers

Gnunify OpenStack Mini Conference 2015

Page 19: OpenStack Storage Overview

Available in upstream.

1 Cinder Volume = 1 file in Gluster volume

Support raw and qcow2 format Cinder volumes

GlusterFS backend Cinder volumes can be attached to Nova instance

in two ways:

● FUSE mount

● Libgfapi

Supports most of the Cinder APIs including multi-backend feature.

GlusterFS as a Cinder Backend

Gnunify OpenStack Mini Conference 2015

Page 20: OpenStack Storage Overview

Storage Backend

GlusterFS as a Cinder Backend cont…

Gnunify OpenStack Mini Conference 2015

Cinder Client

cinder-api

cinder-volume cinder-scheduler cinder-backup

Cinder DBAMQP

AMQP

GlusterFS

Page 21: OpenStack Storage Overview

Queries?

Gnunify OpenStack Mini Conference 2015

Page 22: OpenStack Storage Overview

Thank You Very Much…!

Gnunify OpenStack Mini Conference 2015