Filesystem as a service in OpenStack
-
Upload
openstackindia -
Category
Technology
-
view
4.109 -
download
1
Transcript of Filesystem as a service in OpenStack
![Page 1: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/1.jpg)
1
Rushi Agrawal
@rushiagr
Filesystem as a service – OpenStack Cinder
![Page 2: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/4.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/5.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/6.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/7.jpg)
OpenStack Cinder
7
![Page 8: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/8.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/11.jpg)
Filesystem as a service
11
Hypervisor
VM1 VM2
S1 S2
Storage Controller
![Page 12: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/12.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/13.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/16.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/17.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/18.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/19.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/21.jpg)
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](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/22.jpg)
22
Demo time!
![Page 23: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/23.jpg)
23
Prerequisites
NFS and Samba installed– apt-get install nfs-kernel-server samba
![Page 24: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/24.jpg)
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
![Page 25: Filesystem as a service in OpenStack](https://reader033.fdocuments.net/reader033/viewer/2022042714/554c0c0cb4c9053f078b57a9/html5/thumbnails/25.jpg)
Questions?
25