2. Agenda
OpenStack and Cinder
What is Filesystem as a service?
Why Filesystems?
Where it fits in OpenStack?
How is it implemented?
Demo
2
3. Agenda
OpenStack and Cinder
What is Filesystem as a service?
Why Filesystems?
Where it fits in OpenStack?
How is it implemented?
Demo
3
4. 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
5. 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
6. 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
9. Agenda
OpenStack and Cinder
What is Filesystem as a service?
Why Filesystems?
Where it fits in OpenStack?
How is it implemented?
Demo
9
10. Filesystem as a service – basic idea
NAS shares to share data across VM
instances
– Brings the benefits of shared storage to
OpenStack
Simple and widely accepted protocols
– NFS and CIFS
10
11. Filesystem as a service
Storage Controller
S1 S2
VM1 VM2
Hypervisor
11
12. Agenda
OpenStack and Cinder
What is Filesystem as a service?
Why Filesystems?
Where it fits in OpenStack?
How is it implemented?
Demo
12
13. Why filesystems?
NAS – built to share storage
– CIFS/NFS
– In-built locking, sharing and permissions
– Metadata stored with data
Cheap!
Legacy applications
Applications in scalable compute
13
14. 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
15. Agenda
OpenStack and Cinder
What is Filesystem as a service?
Why Filesystems?
Where it fits in OpenStack?
How is it implemented?
Demo
15
17. 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
18. 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
19. Agenda
OpenStack and Cinder
What is Filesystem as a service?
Why Filesystems?
Where it fits in OpenStack?
How is it implemented?
Demo
19
20. Current implementation
Separate service inside Cinder
Shares API
– Share create/delete
– Share Snapshot create/delete
– Allow/Deny access
– Publish capabilities to scheduler
20