The Future of Cloud
Software Defined
Storage with
Ceph
2
Andrew Hatfield
Practice Lead – Cloud Storage and Big Data (ANZ)
Red Hat
andrew.hatfield@redhat.com
@andrewhatfield
/usr/bin/whoami
3
Overview
● What is Ceph
● Integration with OpenStack
– Stuff you already know is cool
● New stuff coming
– Even more cool stuff!
4
What is Ceph
5
PROPRIETARY
HARDWARE
PROPRIETARY
SOFTWARE
SUPPORT &
MAINTENANCE
COMPUTER DISK
COMPUTER DISK
COMPUTER DISK
STANDARD
HARDWARE
OPEN SOURCE
SOFTWARE
ENTERPRISE
PRODUCTS & SERVICES
COMPUTER DISK
COMPUTER DISK
COMPUTER DISK
A Storage Revolution
6
CEPH COMPONENTS
RGW
web services gateway
for object storage,
compatible with S3 and
Swift
LIBRADOS
client library allowing apps to access RADOS (C, C++, Java, Python, Ruby, PHP)
RADOS
software-based, reliable, autonomous, distributed object store comprised of
self-healing, self-managing, intelligent storage nodes and lightweight monitors
RBD
reliable, fully-distributed
block device with cloud
platform integration
CEPHFS
distributed file system
with POSIX semantics
and scale-out metadata
management
APP HOST/VM CLIENT
RADOS CLUSTER
7
APPLICATION
M M
M M
M
RADOS CLUSTER
OBJECT STORAGE DAEMONS
8
FS
DISK
OSD
DISK
OSD
FS
DISK
OSD
FS
DISK
OSD
FS
M
M
M
RADOS COMPONENTS
9
OSDs:
 10s to 10,000s in a cluster
 One per disk (or one per SSD, RAID group…)
 Serve stored objects to clients
 Intelligently peer for replication & recovery
Monitors:
 Maintain cluster membership and state
 Provide consensus for distributed decision-
making
 Small, odd number
 These do not serve stored objects to clients
M
CRUSH: DYNAMIC DATA
PLACEMENT
10
CRUSH:
 Pseudo-random placement algorithm
 Fast calculation, no lookup
 Repeatable, deterministic
 Statistically uniform distribution
 Stable mapping
 Limited data migration on change
 Rule-based configuration
 Infrastructure topology aware
 Adjustable replication
 Weighting
DATA IS ORGANIZED INTO POOLS
11
CLUSTER
OBJECTS
10
01
01
10
10
01 11
01
1001
0110 10 01
11
01
POOLS
(CONTAINING PGs)
10
01
11
01
10
01
01
10
01
10
10
01
11
01
10
01
10 01 10 11
01
11
01
10
10
01
01
01
10
10
01
01
POOL
A
POOL
B
POOL
C
POOL
D
OBJECTS
OBJECTS
OBJECTS
12
Integration with OpenStack
THE RADOS GATEWAY
13
M M
M
RADOS CLUSTER
RADOSGW
LIBRADOS
socket
RADOSGW
LIBRADOS
APPLICATION APPLICATION
REST
RADOSGW MAKES RADOS WEBBY
14
RADOSGW:
 REST-based object storage proxy
 Uses RADOS to store objects
 API supports buckets, accounts
 Usage accounting for billing
 Compatible with S3 and Swift applications
RBD STORES VIRTUAL DISKS
15
RADOS BLOCK DEVICE:
 Storage of disk images in RADOS
 Decouples VMs from host
 Images are striped across the cluster (pool)
 Snapshots
 Copy-on-write clones
 Support in:
 Mainline Linux Kernel (2.6.39+)
 Qemu/KVM, native Xen coming soon
 OpenStack, CloudStack, Nebula, Proxmox
KERNEL MODULE FOR MAX FLEXIBLE!
16
M M
RADOS CLUSTER
LINUX HOST
KRBD
STORING VIRTUAL DISKS
17
M M
RADOS CLUSTER
HYPERVISOR
LIBRBD
VM
CEPH AND OPENSTACK
18
RADOSGW
LIBRADOS
M M
RADOS CLUSTER
OPENSTACK
KEYSTONE CINDER GLANCE NOVASWIFT
LIBRBD LIBRBD
HYPER-
VISOR
LIBRBD
19
What is New()?
20
Recent news
● Ceph continues to be the #1 storage choice for Open Stack (April User Survey)
● Ceph is now an openstack.org Reference Architecture (joining LVM & NFS)
● Ceph at Percona Live for MySQL Database-as-a-Service
● CephFS is now stable and ready for testing (Jewel release)
● ceph-ansible deployment in 2 commands
21
● OpenStack Manila + CephFS for File-as-a-Service
● BlueStore – Direct to block device, no filesystem
● Active / Active Multi-master RGW for global object stores
● NFS Gateway for RGW (v4 only) for legacy access
● Active Directory support for RGW
● AWS4 Support
● Swift – Keystone v3, Object expiration, tenant namespaces, static large
objects
● RBD mirroring
● Client IO prioritised over scrubbing
● Containerised Ceph
Work in Progress
22
THANK YOU!
Andrew Hatfield
Practice Lead - Cloud
Storage and Big Data
andrew.hatfield@
redhat.com
@andrewhatfield

The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat

  • 1.
    The Future ofCloud Software Defined Storage with Ceph
  • 2.
    2 Andrew Hatfield Practice Lead– Cloud Storage and Big Data (ANZ) Red Hat andrew.hatfield@redhat.com @andrewhatfield /usr/bin/whoami
  • 3.
    3 Overview ● What isCeph ● Integration with OpenStack – Stuff you already know is cool ● New stuff coming – Even more cool stuff!
  • 4.
  • 5.
    5 PROPRIETARY HARDWARE PROPRIETARY SOFTWARE SUPPORT & MAINTENANCE COMPUTER DISK COMPUTERDISK COMPUTER DISK STANDARD HARDWARE OPEN SOURCE SOFTWARE ENTERPRISE PRODUCTS & SERVICES COMPUTER DISK COMPUTER DISK COMPUTER DISK A Storage Revolution
  • 6.
    6 CEPH COMPONENTS RGW web servicesgateway for object storage, compatible with S3 and Swift LIBRADOS client library allowing apps to access RADOS (C, C++, Java, Python, Ruby, PHP) RADOS software-based, reliable, autonomous, distributed object store comprised of self-healing, self-managing, intelligent storage nodes and lightweight monitors RBD reliable, fully-distributed block device with cloud platform integration CEPHFS distributed file system with POSIX semantics and scale-out metadata management APP HOST/VM CLIENT
  • 7.
  • 8.
  • 9.
    RADOS COMPONENTS 9 OSDs:  10sto 10,000s in a cluster  One per disk (or one per SSD, RAID group…)  Serve stored objects to clients  Intelligently peer for replication & recovery Monitors:  Maintain cluster membership and state  Provide consensus for distributed decision- making  Small, odd number  These do not serve stored objects to clients M
  • 10.
    CRUSH: DYNAMIC DATA PLACEMENT 10 CRUSH: Pseudo-random placement algorithm  Fast calculation, no lookup  Repeatable, deterministic  Statistically uniform distribution  Stable mapping  Limited data migration on change  Rule-based configuration  Infrastructure topology aware  Adjustable replication  Weighting
  • 11.
    DATA IS ORGANIZEDINTO POOLS 11 CLUSTER OBJECTS 10 01 01 10 10 01 11 01 1001 0110 10 01 11 01 POOLS (CONTAINING PGs) 10 01 11 01 10 01 01 10 01 10 10 01 11 01 10 01 10 01 10 11 01 11 01 10 10 01 01 01 10 10 01 01 POOL A POOL B POOL C POOL D OBJECTS OBJECTS OBJECTS
  • 12.
  • 13.
    THE RADOS GATEWAY 13 MM M RADOS CLUSTER RADOSGW LIBRADOS socket RADOSGW LIBRADOS APPLICATION APPLICATION REST
  • 14.
    RADOSGW MAKES RADOSWEBBY 14 RADOSGW:  REST-based object storage proxy  Uses RADOS to store objects  API supports buckets, accounts  Usage accounting for billing  Compatible with S3 and Swift applications
  • 15.
    RBD STORES VIRTUALDISKS 15 RADOS BLOCK DEVICE:  Storage of disk images in RADOS  Decouples VMs from host  Images are striped across the cluster (pool)  Snapshots  Copy-on-write clones  Support in:  Mainline Linux Kernel (2.6.39+)  Qemu/KVM, native Xen coming soon  OpenStack, CloudStack, Nebula, Proxmox
  • 16.
    KERNEL MODULE FORMAX FLEXIBLE! 16 M M RADOS CLUSTER LINUX HOST KRBD
  • 17.
    STORING VIRTUAL DISKS 17 MM RADOS CLUSTER HYPERVISOR LIBRBD VM
  • 18.
    CEPH AND OPENSTACK 18 RADOSGW LIBRADOS MM RADOS CLUSTER OPENSTACK KEYSTONE CINDER GLANCE NOVASWIFT LIBRBD LIBRBD HYPER- VISOR LIBRBD
  • 19.
  • 20.
    20 Recent news ● Cephcontinues to be the #1 storage choice for Open Stack (April User Survey) ● Ceph is now an openstack.org Reference Architecture (joining LVM & NFS) ● Ceph at Percona Live for MySQL Database-as-a-Service ● CephFS is now stable and ready for testing (Jewel release) ● ceph-ansible deployment in 2 commands
  • 21.
    21 ● OpenStack Manila+ CephFS for File-as-a-Service ● BlueStore – Direct to block device, no filesystem ● Active / Active Multi-master RGW for global object stores ● NFS Gateway for RGW (v4 only) for legacy access ● Active Directory support for RGW ● AWS4 Support ● Swift – Keystone v3, Object expiration, tenant namespaces, static large objects ● RBD mirroring ● Client IO prioritised over scrubbing ● Containerised Ceph Work in Progress
  • 22.
    22 THANK YOU! Andrew Hatfield PracticeLead - Cloud Storage and Big Data andrew.hatfield@ redhat.com @andrewhatfield