25
Rushi Agrawal @rushiagr Filesystem as a service – OpenStack Cinder 1

Filesystem as a service in OpenStack

Embed Size (px)

Citation preview

Page 1: Filesystem as a service in OpenStack

1

Rushi Agrawal

@rushiagr

Filesystem as a service – OpenStack Cinder

Page 2: Filesystem as a service in OpenStack

Agenda

OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo

2

Page 3: Filesystem as a service in OpenStack

Agenda

OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo

3

Page 4: Filesystem as a service in OpenStack

What is OpenStack

Massively scalable, open source cloud operating system– Compute (Nova)– Object Storage (Swift)– Block Storage (Cinder)– Imaging service (Glance)– Dashboard (Horizon)– Network (Quantum)– Keystone (Identity)– Oslo (Common modules)– Many new projects – Heat, Ceilometer

4

Page 5: Filesystem as a service in OpenStack

OpenStack Cinder

Cinder allows block devices to be exposed and connected to compute instances for expanded storage, better performance and integration with enterprise storage platforms.

Fully integrated into Compute and Dashboard

5

Page 6: Filesystem as a service in OpenStack

Cinder – supported operations

Features in Grizzly – April 2013– Volume Create/Delete– Volume Attach/Detach to instances– Snapshot Create/Delete– Create volume from Snapshot– Boot from volume– Publish service capabilities

New Features in Havana – ~Oct 2013– Copy Image to Volume– Copy Volume to Image– Clone volume– More to come: migrations, etc

6

Page 7: Filesystem as a service in OpenStack

OpenStack Cinder

7

Page 8: Filesystem as a service in OpenStack

OpenStack Cinder

8

Database Queue

Cinder Vol

Cinder Vol

Cinder Vol

Cinder API

C-scheduler

iSCSI NFS

Page 9: Filesystem as a service in OpenStack

Agenda

OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo

9

Page 10: Filesystem as a service in 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

10

Page 11: Filesystem as a service in OpenStack

Filesystem as a service

11

Hypervisor

VM1 VM2

S1 S2

Storage Controller

Page 12: Filesystem as a service in OpenStack

Agenda

OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo

12

Page 13: Filesystem as a service in 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

13

Page 14: Filesystem as a service in 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

14

Page 15: Filesystem as a service in OpenStack

Agenda

OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo

15

Page 16: Filesystem as a service in 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) ?

16

Page 17: Filesystem as a service in OpenStack

Filesystem as a service inside Cinder

Easier to build upon existing code– Most of the required foundational code already

present in a healthy state (RPC, schedulers, etc): can build fast

Separate service ‘cinder-shares’– Very minimal overlap with existing code

17

Page 18: Filesystem as a service in OpenStack

Filesystem as a separate project in OpenStack

Rationale: – File storage != Block storage != Object storage

Dedicated concentration on filesystem specific stuff

Downsides: build from scratch– Pull in basic infrastructure from Cinder and

Oslo– And make it work– And keep in sync with changes upstream

18

Page 19: Filesystem as a service in OpenStack

Agenda

OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo

19

Page 20: Filesystem as a service in OpenStack

Current implementation

Separate service inside CinderShares API

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

20

Page 21: Filesystem as a service in OpenStack

Filesystem inside Cinder

21

Database Queue

Cinder Vol

Cinder Share

Cinder Share

Cinder API++

C-scheduler

iSCSI NFSCIFS

Page 22: Filesystem as a service in OpenStack

22

Demo time!

Page 23: Filesystem as a service in OpenStack

23

Prerequisites

NFS and Samba installed– apt-get install nfs-kernel-server samba

Page 25: Filesystem as a service in OpenStack

Questions?

25