suse openstack and ceph integration - open source ... · suse ® openstack and ceph integration ......

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

Upload: truongdien

Post on 03-May-2018

274 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

SUSE® OpenStack and Ceph integration

Michal JuraSenior Software Engineer

Linux HA/Cloud Developer

[email protected]

Page 2: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

2

Agenda

● Brief introduction to Ceph● Brief introduction to OpenStack● OpenStack and Ceph integration● User experience in production● Live demo presentation

Page 3: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

Brief introduction to Ceph

Page 4: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

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 integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

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 integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

6

Ceph architecture

http://docs.openstack.org/juno/config-reference/content/ceph-rados.html

Page 7: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

7

Ceph Technical Overview

radosgw

Object Storage

RBD

Block Device

Ceph FS

File System

RADOS

librados

DirectApplicationAccess toRADOS

● RESTful Interface● S3 and SWIFT APIs

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

● POSIX Compliant● Separate Data and

Metadata

Page 8: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

Brief introduction to OpenStack

Page 9: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

9

Project History

• Provide components for Infrastructure-as-a-Service

• Started by Rackspace and NASA in July 2010

• Currently used for example by CERN

• Today: more than 500 companies involved in the OpenStack ecosystem (including SUSE)

• Eleven releases so far (Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, Havana, Icehouse, Juno, Kilo)

• Next release: Liberty

• Under development: Mitaka

Page 10: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

10

SUSE® Cloud Structure

Administration Server

Control Node

CustomerCenter

• SLES• Database• Message queue• Self-Service Portal• Image Repository• Centralized Tracking• Scheduler• Identity and Authentication• Storage

Crowbar + PXE Boot

• SLES• Chef server• Crowbar• Software mirror• TFTP• PXE Server

• SLES• Xen, KVM, ZVM• Docker• Cloud Compute

• VCenter• Cloud Compute

• Hyper-V• Cloud Compute

Compute Node

Compute Node

Compute/Storage Node

Page 11: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

OpenStack and Ceph integration

Page 12: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

12

OpenStack and Ceph winning pair

Page 13: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

13

Ceph and OpenStack ecosystem

http://blogs.rdoproject.org/7056/back-from-the-juno-summit-ceph-integration-into-openstack

Page 14: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

14

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 15: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

15

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 16: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

16

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 17: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

17

OpenStack Cinder and Ceph

• Supported since OpenStack Essex release‒ Implemented by RBD driver

‒ Multi RADOS backend

• OpenStack 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 18: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

18

OpenStack Nova and Ceph

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

• Can be accelerated by enabling RBD cache

• Full support for Live-migration and Evacuate

• Ephemeral storage support in Nova

Page 19: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

19

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 20: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

20

HDD Pool

OpenStack multi-backend support

VM

OpenStack ComputeKVM hypervisor

Storage Node 1 Storage Node 2 Storage Node 3

SSD Pool

boot volume

data volume

Page 21: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

21

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 22: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

23

iSCSI RBDGW - Configuration

https://github.com/swiftgist/lrbd/wiki

Page 23: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

Live demo

Page 24: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

Questions ?

Page 25: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

Corporate HeadquartersMaxfeldstrasse 590409 NurembergGermany

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

Join us on:www.opensuse.org

26

Page 26: SUSE OpenStack and Ceph integration - Open Source ... · SUSE ® OpenStack and Ceph integration ... Customer Center ... ‒Swift-compatible – subset of the OpenStack Swift API

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.