suse openstack and ceph · openstack cinder and ceph • supported since openstack essex release...

24
SUSE OpenStack and Ceph Michal Jura Senior Software Engineer Linux HA/Cloud Developer [email protected]

Upload: others

Post on 28-May-2020

12 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

SUSE OpenStack and Ceph

Michal JuraSenior Software Engineer

Linux HA/Cloud Developer

[email protected]

Page 2: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

2

Agenda

● What is Ceph?● How does Ceph work?● Brief intro to SUSE Storage / Ceph● Deploy SUSE OpenStack Cloud and SUSE Storage

Page 3: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

Let's repeat again – What is Ceph ?

Page 4: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

4

From 10,000 meters

• Open Source Storage Distributed solution

• The best choice of distributed storage for OpenStack

• Lots of goodies‒ Distributed Object Storage

‒ Redundancy

‒ Efficient Scale-Out

‒ Can be build on commodity hardware

‒ Lower operational cost

Page 5: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

5

From 1,000 meters

• Three interfaces rolled into one‒ Object Access (like Amazon S3)

‒ Block Access

‒ (Distributed File System)

• Sitting on top of a Storage Cluster‒ Self Healing

‒ Self Managed

‒ No Bottlenecks

Page 6: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

6

Ceph architecture

Page 7: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

7

Ceph Technical Overview

Object Storage(Like Amazon S3) Block Device File System

Unified Data Handling for 3 Purposes

● RESTful Interface● S3 and SWIFT APIs

● Block devices● Up to 16 EiB● Thin Provisioning● Snapshots

● POSIX Compliant● Separate Data and

Metadata● For use e.g. with

Hadoop

Autonomous, Redundant Storage Cluster

Page 8: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

8

Ceph Component Names

radosgw

Object Storage

RBD

Block Device

Ceph FS

File System

RADOS

librados

DirectApplicationAccess toRADOS

Page 9: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

OpenStack and Ceph integration

Page 10: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

10

OpenStack and Ceph winning pair

Page 11: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

11

Ceph and OpenStack ecosystem

Page 12: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

12

Ceph Object Gateway

• HTTP interfaces for RADOS

‒ S3-compatible – subset of Amazon S3 RESTful API

‒ Swift-compatible – subset of the OpenStack Swift API

• Ceph Object Gateway daemon (radosgw)

‒ Apache2 with FastCGI module

‒ Embedded CivetWeb webserver from Hammer release

• Swift and S3 use the same HTTP methods but differ in their use of HTML headers

Page 13: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

13

SUSE Storage: RadosGW

M

M

M

Application

librados

librados features:

► C, C++, Java, Python, Ruby, PHP, etc... bindings

RadosGW features

► Amazon S3 compatibility

► OpenStack Swift compatibility

Application

Amazon S3

Application

librados

RadosGW

Swift

Page 14: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

14

OpenStack Glance and Ceph

• Supported since OpenStack Diablo release‒ Implemented by RBD driver

‒ Can be used also by Swift interface

• OpenStack Glance Images‒ Create and store

‒ Upload and download

‒ Status and update

‒ Resizable images

‒ Revert to snapshots

Page 15: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

15

OpenStack Cinder and Ceph

• Supported since OpenStack Essex release‒ Implemented by RBD driver

‒ Multi RADOS backend

• OpenStack Glance Cinder‒ Create volumes in RADOS

‒ Create boot volumes from images

‒ Online attaching and detaching volumes

‒ Resizing volumes

‒ Copy-On-Write cloning of images to volumes and instances

Page 16: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

16

OpenStack Nova and Ceph

• RBD driver for OpenStack make libvirt configure the QEMU interface to libvirt

• Can be accelerate by enabling RBD cache

• Full support for Live-migration and Evacuate

• Ephemeral storage support in Nova

Page 17: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

17

SUSE OpenStack and Storage

M

M

M

VM

OpenStack ComputeKVM

librbd + librados

VM

librbd + librados

Block Device

Livemigration

Features:

● Thinly Provisioned

● Resizable images

● Image import/export

● Image copy or rename

● Read-only snapshots

● Revert to snapshots

● Ability to mount with Linux or QEMU KVM clients!

OpenStack ComputeKVM

Page 18: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

18

iSCSI RBD Gateway

• Support for RBD in STGT ‒ Linux SCSI target framework

‒ ISCSI target implementation in userland

‒ RBD support implemented in kernel

• Perfect solution for hypervisors without librados support‒ VMWare ESXi

‒ Hyper-V

Page 19: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

19

iSCSI RBDGW - Physical architecture

Page 20: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

20

iSCSI RBDGW - Configuration

Page 21: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

Live demo

Page 22: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

Questions ?

Page 23: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

Corporate HeadquartersMaxfeldstrasse 590409 NurembergGermany

+49 911 740 53 0 (Worldwide)www.suse.com

Join us on:www.opensuse.org

23

Page 24: SUSE OpenStack and Ceph · OpenStack Cinder and Ceph • Supported since OpenStack Essex release ‒ Implemented by RBD driver ‒ Multi RADOS backend • OpenStack Glance Cinder

Unpublished Work of SUSE LLC. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.

General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.