deploying software defined storage for the enterprise with ... › sites › default › orig ›...

15
PRESENTATION TITLE GOES HERE Deploying Software Defined Storage for the Enterprise with Ceph Paul von Stamwitz Fujitsu

Upload: others

Post on 24-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

PRESENTATION TITLE GOES HERE

Deploying Software Defined Storage for the Enterprise with Ceph

Paul von Stamwitz Fujitsu

Page 2: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

2 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Agenda

Yet another attempt to define SDS Quick Overview of Ceph from a SDS perspective Why Ceph is a viable component in the SDDC Design considerations for the Enterprise Challenges in deploying Ceph in the Enterprise

Page 3: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

3 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

What does SDS mean?

HW Abstraction?

Commodity HW?

Separate Control Plane?

Open Source?

Scale Out?

SLA?

Converged Storage?

Automation?

Pools?

Open API?

Policy Driven?

Marketing Buzzword?

Page 4: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

4 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

What does SDS mean?

HW Abstraction?

Commodity HW?

Separate Control Plane?

Open Source?

Scale Out?

SLA?

Converged Storage?

Automation?

Pools?

Open API?

Policy Driven?

Marketing Buzzword?

Simplicity

Efficiency

Flexibility

Driven by Virtualization and the Cloud

Page 5: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

5 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Simplified SDS Model

Physical Layer

Management Layer Data Organization, Fault Mgmt., Scaling, etc.

Presentation Layer Block, File, Object, Libraries, etc.

Services ACLs Geo-replication Cloning Pooling Thin Provisioning Metering Scale-out Snapshots Tiering Caching Erasure Codes Encryption Deduplication Compression etc…

Page 6: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

6 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Ceph’s Model

Librados A library allowing apps to directly access RADOS, with support for C, C++, Java, Python, Ruby, and PHP

Ceph Object Gateway (RGW) A bucket-based REST gateway, compatible with S3 and Swift

Ceph Block Device (RBD) A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

Ceph File System (CephFS) A POSIX-compliant distributed file system, with a Linux kernel client and support for FUSE

App App

Object

Host / VM

Virtual Disk

Client

Files & Dirs

Ceph Storage Cluster (RADOS) A reliable, autonomous, distributed object store comprised

of self-healing, self-managing, intelligent storage nodes

Physical Storage

Page 7: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

7 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Ceph Components

Cluster monitors

Clients

OSDs MDSs

File, Block, Object IO

Metadata ops

Metadata IO

RADOS

Clients Standard Interface to use the data (POSIX, Block Device, S3) Transparent for Applications

Object Storage Cluster (OSDs) Stores all data and metadata Organizes data into flexible-sized containers, called objects

Monitors Cluster membership Authentication Cluster state Cluster map

Metadata Server Cluster (MDSs)

Namespace Management Metadata operations (open, stat, rename, …) Ensure Security

Page 8: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

8 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Conventional Data Distribution: Consistent Hashing

OSDs)

Objects

… File / Block

Each object has unique hash ID Hash ranges assigned to physical nodes or disks Objects placed in appropriate “slot” Adding/removing disks changes has ranges

Page 9: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

9 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Ceph’s Data Distribution: Placement Groups

OSDs)

Objects

… File / Block

Each object has unique hash ID Hash ranges assigned to physical nodes or disks Objects mapped to appropriate “slot” Adding/removing disks changes hash ranges

… … … …

OSDs

Objects

PGs

… File / Block

Hash ranges assigned to logical placement groups Decouples HW from hash ranges Objects mapped to Placement Group Changes in HW layer does not effect hash ranges

Conventional Ceph

Page 10: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

10 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Ceph’s Data Distribution: CRUSH

Placement Groups mapped to sets of OSDs

100’s PGs per node Adding/removing OSDs results in moving few PGs

Pseudo-random, statistically uniform distribution

Fast: No central lookup Rule Based (per pool) Topology Aware

Replica can span failure domains Example: 3 replicas, on same row, using different racks

Weighted distribution Weights can be assigned and changed dynamically

… … … …

OSDs (grouped by failure domain)

Objects

PGs

… File / Block

Page 11: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

11 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Ceph Protocols and Services

Geo-replication Async replication for objects Diff-based backup for block

Block-based VM Cloning Pooling Thin Provisioning Metering

Performance stats Scale-out Snapshots Tiering and Caching

Cache Pool Client-side caching for block Write Journaling

For performance & consistency Erasure Codes Encryption via Linux dm-crypt Compression/Dedup via btrfs

Ceph Block Device (RBD) A reliable and fully-distributed block device, with a Linux kernel client and a QEMU/KVM driver

Ceph Object Gateway (RGW) A bucket-based REST gateway compatible with S3 and Swift

Ceph File System (CephFS) A POSIX-compliant distributed filesystem

Libraries Integrations with Web Services Integrations into Linux, Openstack, Cloudstack, KVM, XEN, and more…

Comprehensive Implementation of Unified Storage

Page 12: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

12 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Design Considerations for Enterprise Private Cloud

Storage Efficiency

Non-Disruptive Operations

Integrated Data Protection: “Set it and forget it”

Seamless Scaling – For capacity, performance, or both

Unified Storage, include legacy interconnects

Automatic Storage Tiering

Service Automation and Analytics

Continuous Data Protection

Embedded Data Security

Secure Multi-Tenancy

Cost Efficient

Page 13: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

13 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Challenges for Ceph (1)

Performance 10Gbe with 10k rpm SAS works well SSD pools and faster networks are not scaling as expected.

Ceph code contributes too much latency – there is room for improvement http://snia.org/sites/default/files2/SDC2013/presentations/Revisions/DieterKasper_Transforming_PCIe-SSDs_Storage_v8.pdf

Rebalancing Minimal impact for adds and single disk loss. Node loss is a concern

Favors small capacity nodes to minimize impact of rebalancing

Legacy Interconnects iSCSI and NFS

Integration with LIO and Ganesha Enable Ceph storage with VMware

Page 14: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

14 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

Challenges for Ceph (2)

Automatic Storage Tiering Multiple ways to handle this

Cache Pool, Hybrid Drives, etc Can work in parallel or together

Balance performance requirements with SSD efficiency Data Protection

3 levels Non-disruptive failover between 2 main datacenters (Stretch Cluster) Off-site replication (RGW Geo-replication) Backup (RBD incremental backup)

Security Currently, Ceph assumes clients are trusted

Stronger Authorization, i.e. Kerberos Enforcement of POSIX ACLs

Page 15: Deploying Software Defined Storage for the Enterprise with ... › sites › default › orig › DSI2014 › ... · apps to directly . access RADOS, with support for . C, C++, Java,

15 2014 Data Storage Innovation Conference. © Insert Your Company Name. All Rights Reserved.

There’s more work to do, but Ceph is…

Simple Self-Managing and Self-Healing Peer-to-peer Storage Nodes

Efficient One System to Scale Easier Capacity Management

Flexible Adapt to Changing Demands 100% Open Source