51
Software Defined Storage with Gluster Vijay Bellur Lead Gluster Architect Red Hat Twitter: @vbellur

Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Embed Size (px)

Citation preview

Page 1: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Software Defined Storage with Gluster

Vijay Bellur Lead Gluster Architect Red Hat Twitter: @vbellur

Page 2: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Agenda

● Software Defined Storage (SDS)

● Gluster as SDS - 4Ws and a H ● Why Gluster?

● What is Gluster?

● How does Gluster work?

● Where is Gluster used?

● What next in Gluster?

● Q & A

Page 3: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

What is Software Defined Storage?

Page 5: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

SDS - Characteristics

● Runs on Commodity Hardware

● Scale-out with resource aggregation

● Elasticity

● Automated Management

● Various data services

● Storage as a Platform & Storage as a Service

Page 6: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

SDS with Gluster

Page 7: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Why Gluster?

Page 8: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Why Gluster?

● 2.5+ exabytes of data produced every day!

● 90% of data in last two years

● Data needs to be stored somewhere

● Often data needs to outlive us!

source: http://www-01.ibm.com/software/data/bigdata/what-is-big-data.html

Page 9: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

What is Gluster?

Page 10: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

What is Gluster?

● Open Scale-out distributed storage system.

● Aggregates storage exports over network interconnects to provide an unified namespace.

● Layered on disk file systems that support extended attributes.

● Provides file, object and block interfaces for data access.

Page 11: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

How does Gluster work?

Page 12: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Typical Gluster Deployment

Page 13: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Architecture – Foundations

● Software only, runs on commodity hardware ● Scale-out with Elasticity ● Extensible and modular ● Deployment agnostic ● No external metadata servers

Page 14: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Volumes

● Logical collection of exports (bricks) from various servers

● Default entity for storage policy definition

● Volume or a part of the volume can be accessed by clients

Page 15: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Volume Types Volume type determines:

➢ Data Placement ➢ Redundancy ➢ More..

Available volume types:

- Distribute - Striped - Replicated - Distributed Replicate - Striped Replicate - Distributed Striped Replicate - Dispersed

Page 16: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Distributed Volume ➢Distributes files across various bricks of the volume.

➢Directories are present on all bricks of the volume.

➢Removes the need for an external meta data server, provides

O(1) lookup.

Page 17: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Replicated Volume

● Synchronous replication of all updates.

● Provides HA for data.

● Transaction driven for ensuring consistency.

● Changelogs maintained for re-conciliation.

● Any number of replicas can be configured.

Page 18: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

How does a replicated volume work?

Page 19: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Distributed Replicated Volume

Page 20: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Dispersed Volume

● Erasure Coding / RAID 5 over the network

● “Disperses” data on to various bricks

● Algorithm: Reed solomon

● Non–systematic erasure coding

Page 21: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Access Mechanisms

Page 22: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Access Mechanisms

Gluster volumes can be accessed via the following mechanisms:

● FUSE based Native protocol

● NFSv3

● SMB

● libgfapi

● ReST/HTTP (object)

● HDFS

● iSCSI (block)

Page 23: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

FUSE based native access

Page 24: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

libgfapi access

Page 25: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

NFSv3 access with Gluster NFS

Page 26: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Nfs-Ganesha with Gluster

Page 27: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

SMB with Gluster

Page 28: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Object/ReST - SwiftonFile

Client Proxy Account

Container

Object

HTTP Request ( Swift REST API)

Directory

Volume

File Client NFS or

GlusterFS Mount

● Unified File and object view ● Entity mapping between file and object building blocks

Page 29: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

HDFS access

Page 30: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Block/iSCSi access

Page 31: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Features

● Scale-out NAS

● Elasticity

● Directory, Volume & Inode quotas

● Data Protection and Recovery

● Volume and File Snapshots

● User Serviceable Snapshots

● Geographic/Asynchronous replication

● Archival

● Read-only

● WORM

Page 32: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Features

● Isolation for multi-tenancy

● SSL based data transfer

● Encryption at rest

● Performance

● Client side in memory caching for performance

● Data, metadata and readdir caching

● Monitoring

● Built in io statistics

● /proc like interface for introspection

● Provisioning

● puppet-gluster

● gluster-deploy

● More..

Page 33: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Web based Management - oVirt

Page 34: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Monitoring with Nagios

http://www.ovirt.org/Features/Nagios_Integration

Page 35: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

How is it implemented?

Page 36: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Translators in Gluster

● Building blocks for a Gluster process.

● Based on Translators in GNU HURD.

● Each translator is a functional unit.

● Translators can be stacked together for achieving desired functionality.

● Translators are deployment agnostic – can be loaded in either the client or server stacks.

Page 37: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Customizable Translator Stack

Page 38: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Where is Gluster used?

Page 39: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Use Cases

Source: 2014 GlusterFS user survey

Page 40: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Ecosystem Integration

● Currently used with various ecosystem projects

● Virtualization ● OpenStack

● oVirt

● Qemu

● CloudStack

● Big Data Analytics ● Hadoop

● Tachyon

● File Sync and Share ● ownCloud

Page 41: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Nova Nodes (Gluster as ephemeral

storage)

Swift Objects

Cinder Data Glance Data

Swift Data

Swift API

Storage Server

(GlusterFS)

Storage Server

(GlusterFS)

Storage Server

(GlusterFS)

KVM

KVM

KVM

… Fuse/libgfapi

Manila Data

Storage Server

(GlusterFS)

Block Images Files Objects

Openstack Kilo + Gluster – Current Integration

Page 42: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

What next in Gluster?

Page 43: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

New Features in GlusterFS 3.7

● Data Tiering

● Bitrot detection

● Sharding

● NFSv4, 4.1 and pNFS access using NFS Ganesha

● Netgroups style configuration for NFS

● Performance improvements

Page 44: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Features beyond GlusterFS 3.7

● HyperConvergence with oVirt

● Compression at rest

● De-duplication

● Multi-protocol support with NFS, FUSE and SMB

● Native ReST APIs for gluster management

● More integration with OpenStack, Containers

Page 45: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Hyperconverged oVirt – Gluster

● Server nodes are used both for virtualization and serving replicated images from Gluster Volumes

● Support for both scaling up, adding more disks, and scaling out, adding more hosts

VM

s an

d S

tora

ge

Eng

ine

GlusterFS Volume

Bricks Bricks Bricks

Page 46: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster Native Driver – OpenStack Manila

Page 47: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster 4.0

● Not Evolutionary anymore

● Intended for massive scalability and manageability improvements, remove known bottlenecks

● Make it easier for devops to provison, manage and monitor

● Enable larger deployments and new use cases

Page 48: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Gluster 4.0

● New Style Replication

● Improved Distributed hashing Translator

● Composite operations in the GlusterFS RPC protocol

● Support for multiple networks

● Coherent client-side caching

● Advanced data tiering

● ... and much more

Page 49: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Resources Mailing lists: [email protected] [email protected] IRC: #gluster and #gluster-dev on freenode Web: http://www.gluster.org

Page 50: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Conclusions

● SDS evolution on the way

● Data explosion unbounded

● Great time to be in Storage!

Page 51: Software Defined Storage with Gluster - · PDF fileSoftware Defined Storage with Gluster . Vijay Bellur . Lead Gluster Architect . Red Hat . ... (GlusterFS) Storage Server (GlusterFS)

Thank you!