Op Open enStack a ck and Cep Ceph Th The w e winning p - - PowerPoint PPT Presentation

op open enstack a ck and cep ceph th the w e winning p
SMART_READER_LITE
LIVE PREVIEW

Op Open enStack a ck and Cep Ceph Th The w e winning p - - PowerPoint PPT Presentation

Op Open enStack a ck and Cep Ceph Th The w e winning p pair OPENSTACK SUMMIT ATLANTA | MAY 2014 WHOAMI S SbasHe basHen Han Han Cloud Architect Daily job focused on


slide-1
SLIDE 1

Op Open enStack ¡a ck ¡and ¡Cep ¡Ceph ¡ ¡ ¡ ¡ Th The ¡w e ¡winning ¡p ¡pair

OPENSTACK ¡SUMMIT ¡ATLANTA ¡| ¡MAY ¡2014

slide-2
SLIDE 2

WHOAMI

Sé SébasHe basHen ¡Han ¡Han

💦 ¡Cloud ¡Architect 💦 ¡Daily ¡job ¡focused ¡on ¡Ceph ¡/ ¡OpenStack ¡/ ¡Performance 💦 ¡Blogger Personal ¡blog: ¡hTp://www.sebasHen-­‑han.fr/blog/ Company ¡blog: ¡hTp://techs.enovance.com/

slide-3
SLIDE 3

Ceph? ¡

slide-4
SLIDE 4

Let’s ¡start ¡with ¡the ¡bad ¡news

slide-5
SLIDE 5

Let’s ¡start ¡with ¡the ¡bad ¡news

On Once ¡ ce ¡ag again ain ¡C ¡COW ¡clon W ¡clones ¡ es ¡didn’t didn’t ¡ ¡ma make ¡ ¡it it ¡ ¡in ¡ ¡Hme me

  • libvirt_image_type=rbd appeared ¡in ¡Havana
  • In ¡Icehouse, ¡COW ¡clones ¡code ¡went ¡through ¡feature ¡freeze ¡but ¡was ¡rejected
  • Dmitry ¡Borodaenko’s ¡branch ¡contains ¡the ¡COW ¡clones ¡code: ¡

hTps://github.com/angdraug/nova/commits/rbd-­‑ephemeral-­‑clone

  • Debian ¡and ¡Ubuntu ¡packages ¡already ¡made ¡available ¡by ¡eNovance ¡in ¡the ¡official ¡Debian ¡

mirrors ¡for ¡Sid ¡and ¡Jessie.

  • For ¡Wheezy, ¡Precise ¡and ¡Trusty ¡look ¡at:

hTp://cloud.pkgs.enovance.com/{wheezy,precise,trusty}-­‑icehouse

slide-6
SLIDE 6

Icehouse ¡addi/ons ¡

What’s ¡new?

slide-7
SLIDE 7

Icehouse ¡addiHons

Iceh Icehou

  • use

se ¡ ¡is is ¡ ¡limi mited ¡in ¡in ¡ ¡terms ms ¡of ¡ ¡of ¡fe features ¡b ¡but…

  • Clone ¡non-­‑raw ¡images ¡in ¡Glance ¡RBD ¡backend
  • Ceph ¡doesn’t ¡support ¡QCOW2 ¡for ¡hosHng ¡virtual ¡machine ¡disk
  • Al

Always ¡ ¡convert ¡your ¡images ¡into ¡RAW ¡format ¡before ¡uploading ¡them ¡into ¡Glance

  • Nova ¡and ¡Cinder ¡automaHcally ¡convert ¡non-­‑raw ¡images ¡on ¡the ¡fly
  • Useful ¡when ¡creaHng ¡a ¡volume ¡from ¡an ¡image ¡or ¡while ¡using ¡Nova ¡ephemeral
  • Nova ¡ephemeral ¡backend ¡dedicated ¡pool ¡and ¡user
  • Prior ¡Icehouse ¡we ¡had ¡to ¡use ¡client.admin ¡and ¡it ¡was ¡a ¡huge ¡security ¡hole
  • Fine ¡grained ¡authenHcaHon ¡and ¡access ¡control
  • The ¡hypervisor ¡only ¡accesses ¡a ¡specific ¡pool ¡with ¡a ¡right-­‑limited ¡user
slide-8
SLIDE 8

Ceph ¡in ¡the ¡OpenStack ¡ecosystem

Unif Unify ¡all ¡t ¡all ¡the ¡ e ¡things things! !

Glance ¡ Since ¡Diablo ¡ Cinder ¡ Since ¡Essex ¡ Nova ¡ Since ¡Havana ¡ Swi= ¡(new!) ¡ Since ¡Icehouse ¡

  • ConHnuous ¡effort ¡support
  • Major ¡feature ¡during ¡each ¡release
  • Swii ¡was ¡the ¡missing ¡piece
  • Since ¡Icehouse, ¡we ¡closed ¡the ¡

loop

Yo You ¡ ¡can ¡ ¡do ¡ ¡everything ¡ ¡with ¡ ¡ Cep Ceph ¡a ¡as ¡a ¡a ¡s ¡stor

  • rage ¡b

e ¡back cken end!

slide-9
SLIDE 9

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Gejn Gejng ¡i ¡into ¡S

  • ¡Swii

i

  • Swii ¡has ¡a ¡mulH-­‑backend ¡funcHonality:
  • Local ¡Storage
  • GlusterFS
  • Ceph ¡RADOS
  • You ¡won’t ¡find ¡it ¡into ¡Swii ¡core ¡(Swii’s ¡policy)
  • Just ¡like ¡GlusterFS, ¡you ¡can ¡get ¡it ¡from ¡StackForge
slide-10
SLIDE 10

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Ho How ¡ w ¡do does ¡ ¡it it ¡ ¡wo work? ?

  • Keep ¡using ¡the ¡Swii ¡API ¡while ¡taking ¡advantage ¡of ¡Ceph
  • API ¡funcHons ¡and ¡middlewares ¡are ¡sHll ¡usable
  • ReplicaHon ¡is ¡handled ¡by ¡Ceph ¡and ¡not ¡by ¡the ¡Swii ¡object-­‑server ¡anymore
  • Basically ¡Swii ¡is ¡configured ¡with ¡a ¡single ¡replica
slide-11
SLIDE 11

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Comp mparaison ¡ ¡table ¡ ¡local ¡ ¡st storage ¡V ¡VS ¡Cep ¡Ceph

PROS ¡ CONS ¡ Re-­‑use ¡exis/ng ¡Ceph ¡cluster ¡ You ¡need ¡to ¡know ¡Ceph? ¡ Distribu/on ¡support ¡and ¡velocity ¡ Performance ¡ Erasure ¡coding ¡ Atomic ¡object ¡store ¡ Single ¡storage ¡layer ¡and ¡flexibility ¡with ¡CRUSH ¡ One ¡technology ¡to ¡maintain ¡

slide-12
SLIDE 12

RADOS ¡as ¡a ¡backend ¡for ¡Swii

State ¡ ¡of ¡ ¡the ¡ ¡imp mpleme mentaHon

  • 100% ¡unit ¡tests ¡coverage
  • 100% ¡funcHonal ¡tests ¡coverage
  • ProducHon ¡ready

Use ¡cases:

1. SwiiCeph ¡cluster ¡where ¡Ceph ¡handles ¡the ¡replicaHon ¡(one ¡locaHon) 2. SwiiCeph ¡cluster ¡where ¡Swii ¡handles ¡the ¡replicaHon ¡(mulHple ¡locaHons) 3. TransiHon ¡from ¡Swii ¡to ¡Ceph

slide-13
SLIDE 13

RADOS ¡as ¡a ¡backend ¡for ¡Swii

LiTle ¡ ¡remi minder

CHARASTERISTIC ¡ SWIFT ¡LOCAL ¡ STORAGE ¡ CEPH ¡STANDALONE ¡ Atomic ¡ NO ¡ YES ¡ Write ¡method ¡ Buffered ¡IO ¡ O_DIRECT ¡ Object ¡placement ¡ Proxy ¡ CRUSH ¡ Acknowlegment ¡(for ¡3 ¡ replicas) ¡ Waits ¡for ¡2 ¡acks ¡ Waits ¡for ¡all ¡the ¡acks ¡

slide-14
SLIDE 14

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Benchma mark ¡ ¡plaporm ¡ m ¡and ¡ ¡swii-­‑

  • ­‑proxy ¡

¡as ¡ ¡a ¡ ¡boTleneck

  • Debian ¡Wheezy
  • Kernel ¡3.12
  • Ceph ¡0.72.2
  • 30 ¡OSDs ¡– ¡10K ¡RPM
  • 1 ¡GB ¡LACP ¡network
  • Tools: ¡swii-­‑bench
  • Replica ¡count: ¡3
  • Swii ¡temp ¡auth
  • Concurrency ¡32
  • 10 ¡000 ¡PUTs ¡& ¡GETs
  • The ¡proxy ¡wasn’t ¡able ¡to ¡deliver ¡all ¡the ¡plaporm ¡capability
  • ¡Not ¡able ¡to ¡saturate ¡the ¡storage ¡as ¡well
  • 400 ¡PUT ¡requests/sec ¡(4k ¡object)
  • 500 ¡GET ¡requests/sec ¡(4k ¡object)
slide-15
SLIDE 15

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Introducing ¡ ¡another ¡ ¡benchma mark ¡ ¡tool

  • This ¡test ¡sends ¡requests ¡directly ¡to ¡an ¡object-­‑server ¡without ¡a ¡proxy ¡in-­‑between
  • So ¡we ¡used ¡Ceph ¡with ¡a ¡single ¡

a ¡single ¡replica

WRITE ¡METHOD ¡ 4K ¡IOPS ¡ NATIVE ¡DISK ¡ 471 ¡ CEPH ¡ 294 ¡ SWIFT ¡DEFAULT ¡ 810 ¡ SWIFT ¡O_DIRECT ¡ 299 ¡

slide-16
SLIDE 16

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Ho How ¡c w ¡can an ¡I ¡t ¡I ¡tes est? ¡Use ¡ ? ¡Use ¡An Ansible ¡ ¡and ¡ ¡ma make ¡ ¡the ¡ ¡cows ¡ ¡fl fly

  • Ansible ¡repo ¡here: ¡hTps://github.com/enovance/swiiceph-­‑ansible
  • It ¡deploys:
  • Ceph ¡monitor
  • Ceph ¡OSDs
  • Swii ¡proxy
  • Swii ¡object ¡servers

$ vagrant up

Standalone ¡version ¡of ¡the ¡RADOS ¡code ¡is ¡almost ¡available ¡on ¡StackForge ¡in ¡this ¡mean ¡ Hme ¡go ¡to ¡hTps://github.com/enovance/swii-­‑ceph-­‑backend

slide-17
SLIDE 17

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Ar Arch chitect ecture ¡s e ¡single ¡d e ¡datacen center er ¡ ¡

  • Keepalived ¡manages ¡a ¡VIP
  • HAProxy ¡loadbalances ¡requests ¡

among ¡swii-­‑proxies

  • Ceph ¡handles ¡the ¡replicaHon
  • ceph-­‑osd ¡and ¡object-­‑server ¡

collocaHon ¡(possible ¡local ¡hit)

slide-18
SLIDE 18

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Architecture ¡ ¡mu mulH-­‑

  • ­‑datacenter ¡

¡

  • DNS ¡magic ¡(geoipdns/bind)
  • Keepalived ¡manages ¡a ¡VIP
  • HAProxy ¡loadbalances ¡request ¡

among ¡swii-­‑proxies

  • Sw

Swii ¡ ¡handles ¡ ¡the ¡ ¡replicaHon

  • 3 ¡disHnct ¡Ceph ¡clusters
  • 1 ¡replica ¡in ¡Ceph ¡stored ¡3 ¡Hmes ¡

by ¡Swii

  • Zones ¡and ¡affiniHes ¡from ¡Swii
slide-19
SLIDE 19

RADOS ¡as ¡a ¡backend ¡for ¡Swii

Issu Issues ¡an es ¡and ¡c ¡cavea eats ¡of ¡S s ¡of ¡Swii ¡it wii ¡itself self

  • Swii ¡Accounts ¡and ¡DBs ¡sHll ¡need ¡to ¡be ¡replicated
  • /srv/node/sdb1/ ¡needed
  • Setup ¡Rsync
  • Patch ¡is ¡under ¡review ¡to ¡support ¡mulH-­‑backend ¡store
  • hTps://review.openstack.org/#/c/47713/
  • Eventually ¡Accounts ¡and ¡DBs ¡will ¡live ¡into ¡Ceph
slide-20
SLIDE 20

Oh ¡lord! ¡

DevStack ¡Ceph

slide-21
SLIDE 21

DevStack ¡Ceph

Re Refactor ¡ ¡Dev evStack ¡ ¡and ¡ ¡you’ll ¡ ¡get ¡ ¡your ¡ ¡patch ¡ ¡me merged

  • Available ¡here: ¡hTps://review.openstack.org/#/c/65113/
  • Ubuntu ¡14.04 ¡ready
  • It ¡configures:
  • Glance
  • Cinder
  • Cinder ¡backup

De DevSt vStack ack ¡ ¡refactoring ¡ ¡session ¡ ¡this ¡ ¡Fr Friday ¡ ¡at ¡ ¡4:50pm! m! ¡ ¡(B ¡ ¡301)

slide-22
SLIDE 22

Juno, ¡here ¡we ¡are ¡

Roadmap

slide-23
SLIDE 23

Juno’s ¡expectaHons

Le Let’s ¡ ¡be be ¡ ¡re realisHc

  • Get ¡COW ¡clones ¡into ¡stable ¡(Dmitry ¡Borodaenko)
  • Validate ¡features ¡like ¡live-­‑migraHon ¡and ¡instance ¡evacuaHon
  • Use ¡RBD ¡snapshot ¡instead ¡of ¡qemu-­‑img ¡(Vladik ¡Romanovsky)
  • Efficient ¡since ¡we ¡don’t ¡need ¡to ¡snapshot, ¡get ¡a ¡flat ¡file ¡and ¡upload ¡it ¡into ¡Ceph
  • DevStack ¡Ceph ¡(SébasHen ¡Han)
  • Ease ¡the ¡adopHon ¡for ¡developers
  • ConHnuous ¡integraHon ¡system ¡(SébasHen ¡Han)
  • Having ¡an ¡infrastructure ¡for ¡tesHng ¡RBD ¡will ¡help ¡us ¡to ¡get ¡patch ¡easily ¡merged
  • Volume ¡migraHon ¡support ¡with ¡volume ¡retype ¡(Josh ¡Durgin)
  • Move ¡block ¡from ¡Ceph ¡to ¡other ¡backend ¡and ¡the ¡other ¡way ¡around
slide-24
SLIDE 24

Merci ¡!