Upload
openstackindia
View
4.108
Download
1
Embed Size (px)
Citation preview
1
Rushi Agrawal
@rushiagr
Filesystem as a service – OpenStack Cinder
Agenda
OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo
2
Agenda
OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo
3
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
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
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
OpenStack Cinder
7
OpenStack Cinder
8
Database Queue
Cinder Vol
Cinder Vol
Cinder Vol
Cinder API
C-scheduler
iSCSI NFS
Agenda
OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo
9
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
Filesystem as a service
11
Hypervisor
VM1 VM2
S1 S2
Storage Controller
Agenda
OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo
12
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
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
Agenda
OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo
15
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
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
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
Agenda
OpenStack and CinderWhat is Filesystem as a service?Why Filesystems?Where it fits in OpenStack?How is it implemented?Demo
19
Current implementation
Separate service inside CinderShares API
– Share create/delete– Share Snapshot create/delete– Allow/Deny access– Publish capabilities to scheduler
20
Filesystem inside Cinder
21
Database Queue
Cinder Vol
Cinder Share
Cinder Share
Cinder API++
C-scheduler
iSCSI NFSCIFS
22
Demo time!
23
Prerequisites
NFS and Samba installed– apt-get install nfs-kernel-server samba
24
Links to code
Cinder– github.com/rushiagr/cinder/tree/nasaas
Python-CinderClient– github.com/rushiagr/python-cinderclient/tree/nasaas
localrc– dl.dropbox.com/u/42084476/Extra/localrc.txt
Questions?
25