2012 Virtual Cloud Day
Upcoming SlideShare
Loading in...5
×
 

2012 Virtual Cloud Day

on

  • 834 views

Our VP, Community Ross Turk's slides from his Virtual Cloud Day talk in Nov 2012.

Our VP, Community Ross Turk's slides from his Virtual Cloud Day talk in Nov 2012.

Statistics

Views

Total Views
834
Views on SlideShare
559
Embed Views
275

Actions

Likes
0
Downloads
43
Comments
0

3 Embeds 275

http://www.inktank.com 156
http://dev.gluesys.com 107
http://d.inktank.com 12

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

2012 Virtual Cloud Day 2012 Virtual Cloud Day Presentation Transcript

  • S C A L I N G   S T O R A G E   W I T H   C E P H Ross  Turk,  Inktank  
  • WHO?Ross TurkVP Community, Inktank§  ross@inktank.com§  @rossturkinktank.com | ceph.com
  • me
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • I N   T H E   B E G I N N I N GMagic Madzik, Flickr / CC BY 2.0
  • E A R L Y   I N F O R M A T I O N   S T O R A G EChico.Ferreira, Flickr / CC BY 2.0
  • W R I T I N G   >   C A V E   P A I N T I N G Skevingessner, Flickr / CC BY-SA 2.0
  • ==x1000 x1
  • P E O P L E   B E G I N   W R I T I N G   A   L O TMoyan_Brenn, Flickr / CC BY-ND 2.0
  • W R I T I N G   I S   T I M E -­‐ C O N S U M I N Gtrekkyandy, Flickr / CC BY 2.0
  • T H E   I N D U S T R I A L I Z A T I O N   O F   W R I T I N GFateDenied, Flickr / CC BY 2.0
  • magnet + tape = magnetic tape == x1000 x1
  • S T O R A G E   B E C O M E S   M E C H A N I C A LErik Pitti, Wikipedia / CC BY-ND 2.0
  • HUMAN ROCK INKHUMAN PAPERHUMAN COMPUTER TAPE
  • C O M P U T E R S   N E E D   P E O P L E   T O   W O R KUSDAgov, Flickr / CC BY 2.0
  • HUMAN COMPUTER TAPE
  • 11101011 10110110 10110101 10101001 00100100 01001001== 10100100 10100101 01011010 01101010 10101010 10101010 01010110 01010011
  • T H R O U G H P U T   B E C O M E S   I M P O R T A N TZane Luke, Flickr / CC BY-ND 2.0
  • L A Z 0 R   B 3 A M S   C H A N G E   E V E R Y T H I N G ! !Jeff Kubina, Flickr / CC-BY-SA 2.0
  • H A R D   D R I V E S   A R E   T O T A L L Y   B E T T E R amazing spinny hard drives sucky stupid tape slow
  • E V E R Y T H I N G   G E T S   M E S S YRob!, Flickr / CC BY 2.0
  • aa ab 111010 ac101 ba bb bc 111 010da 110 db 011 010 000 dc000 110 001
  • file owner: rturk created: aug12 last viewed: aug17 size: 4202511101011 10110110 10110101 perms: 64410101001 00100100 0100100110100100 10100101 0101101001101010 10101010 10101010
  • aa ab 111010 ac101 ba bb bc 111 010da 110 db 01 010 000 dc 10000 110 001
  • W E   O U T G R O W   T H E   H A R D   D R I V EMr. T in DC, Flickr / CC BY 2.0
  • DISK DISKHUMAN DISK COMPUTE DISKHUMAN R DISKHUMAN DISK DISK
  • HUMAN HUMAN HUMAN HUMAN DISK HUMANHUMAN DISK HUMAN HUMAN DISK DISK HUMAN DISK HUMANHUMAN DISK (COMPUTER) HUMAN DISK HUMAN HUMAN DISK HUMAN HUMAN DISK HUMAN DISK HUMAN DISK HUMAN HUMAN DISK HUMAN HUMAN (actually more like this…)
  • COMPUTE DISK R COMPUTE DISK R COMPUTE DISKHUMAN R COMPUTE DISK R COMPUTE DISK R COMPUTE DISKHUMAN R COMPUTE DISK R COMPUTE DISK R COMPUTE DISKHUMAN R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R
  • X aa ab 111010 ac101 ba bb bc 111 010da 110 db 011 010 000 dc000 110 001
  • object pace: quick driver: frog license: expired expression: agog11101011 10110110 1011010110101001 00100100 0100100110100100 10100101 0101101001101010 10101010 10101010
  • COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISKAPP R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R
  • COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTECOMPUTE R DISK COMPUTE R R DISK DISK COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R
  • COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK RVM COMPUTE DISK R COMPUTE DISK RVM COMPUTE DISK R COMPUTE DISKVM R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R
  • Ceph Cloud computing Distributed storage Shared storage Computers Writing PaintingS T O R A G E   T H R O U G H O U T   H I S T O R YTime-scale: Roughly logarithmic. Content: Whatever the opposite of “scientific” is.
  • COMPUTE DISK R COMPUTE DISK R COMPUTE DISKHUMAN R COMPUTE DISK R COMPUTE DISK R COMPUTE DISKHUMAN R COMPUTE DISK R COMPUTE DISK R COMPUTE DISKHUMAN R COMPUTE DISK R COMPUTE DISK R COMPUTE DISK R
  • COMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK RCOMPUTE DISK R
  • C DC DC DC DC DC DC DC DC DC DC DC D
  • C D C D C DHUMAN C D C D C DHUMAN C D C D C DHUMAN C D C D C D
  • S T O R A G E   A P P L I A N C E SMichael Moll, Wikipedia / CC BY-SA 2.0
  • 6 . 4   M I L L I O N   S Q F T   O F   F A C T O R I E SDude94111, Flickr / CC BY 2.0
  • T E C H N O L O G Y   I S   A   C O M M O D I T YRaeAllen, Flickr / CC-BY 2.0
  • C O M M O D I T Y   P R I C E S   F L U C T U A T EMay-07 May-08 May-09 May-10 May-11 May-12
  • Hardware Appliances are Mysterious Black BoxesAbode of Chaos, Flickr / CC BY 2.0
  • C D C D C D C D C D HUMAN !! C D[DEVELOPER] C D C D C D C D C D C D
  • C D C D C C D C D D C D C DC++ C D C D C D C D C D
  • X C D C D C C D C D D C D C DC++ C D C D C D C D C D
  • THE WORLD NEEDSAN OPEN STORAGE TECHNOLOGY THAT SCALES
  • S A G E   W E I L§  Co-founder of DreamHost§  Inventor of Ceph§  CEO of Inktank
  • philosophy design OPENSOURCE
  • O P E N   S O U R C E   S P R E A D S   I D E A Sorchidgalore, Flickr / CC BY 2.0
  • philosophy design OPEN SOURCECOMMUNITY- FOCUSED
  • W E   A R E   S M A R T E R   T O G E T H E Rrturk, Linkedin Inmap
  • C E P H   B E L O N G S   T O   A L L   O F   U Swackybadger, Flickr / CC BY 2.0
  • philosophy design OPEN SCALABL SOURCE ECOMMUNITY- FOCUSED
  • Ceph Too much for a room Too much for a computer Too much for a drive Too much for a book Too much for a caveC E P H   I S   B U I L T   T O   S C A L E
  • philosophy design OPEN SCALABL SOURCE ECOMMUNITY- NO SINGLE POINT OF FOCUSED FAILURE
  • A R I L O M A X   C A L I F O R N I C U Saroid, Flickr / CC BY 2.0
  • single point of failure highly-availablereplicatedT H E   O C T O P U S   ( A   M E T A P H O R )I love speaking in metaphors.
  • T H E   B E E H I V E   ( A N O T H E R   M E T A P H O R )blumenbiene, Flickr / CC BY 2.0
  • philosophy design OPEN SCALABL SOURCE ECOMMUNITY- NO SINGLE POINT OF FOCUSED FAILURE SOFTWARE BASED
  • C D C D C C D C D D C D C DC++ C D C D C D C D C D
  • C D C D✔ C C D C D D C D C DC++ C D C D C D C D C D
  • philosophy design OPEN SCALABL SOURCE ECOMMUNITY- NO SINGLE POINT OF FOCUSED FAILURE SOFTWARE BASED SELF- MANAGING
  • D I S K S   =   J U S T   T I N Y   R E C O R D   P L A Y E R Sjon_a_ross, Flickr / CC BY 2.0
  • D D D D D D = D Dx 1 MILLION 55 times / day
  • I T   A L L   S T A R T E D   W I T H   A   D R E A M
  • +
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • OSD OSD OSD OSD OSD btrfsFS FS FS FS FS xfs ext4DISK DISK DISK DISK DISK M M M
  • HUMAN MM M
  • Monitors: §  Maintain cluster mapM §  Provide consensus for distributed decision- making §  Must have an odd number §  These do not serve stored objects to clients OSDs: §  One per disk (recommended) §  At least three in a cluster §  Serve stored objects to clients §  Intelligently peer to perform replication tasks §  Supports object classes
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • APP LIBRADOS native MM M
  • LIBRADOSL §  Provides direct access to RADOS for applications §  C, C++, Python, PHP, Java §  No HTTP overhead
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • APP APP RESTRADOSGW RADOSGW LIBRADOS LIBRADOS native M M M
  • RADOS Gateway:§  REST-based interface to RADOS§  Supports buckets, accounting§  Compatible with S3 and Swift applications
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • VMVIRTUALIZATION CONTAINER LIBRBD LIBRADOS M M M
  • CONTAINER VM CONTAINER LIBRBD LIBRBD LIBRADOS LIBRADOS M M M
  • HOST KRBD (KERNEL MODULE) LIBRADOS MM M
  • RADOS Block Device:§  Storage of virtual disks in RADOS§  Allows decoupling of VMs and containers §  Live migration!§  Images are striped across the cluster§  Boot support in QEMU, KVM, and OpenStack Nova§  Mount support in the Linux kernel
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHPRADOSA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • CLIENTmetadata 01 data 10 M M M
  • Metadata Server§  Manages metadata for a POSIX-compliant shared filesystem §  Directory hierarchy §  File metadata (owner, timestamps, mode, etc.)§  Stores metadata in RADOS§  Does not serve file data to clients§  Only required for shared filesystem
  • WHAT MAKES CEPH UNIQUE?
  • H O W   D O   Y O U   F I N D   Y O U R   K E Y S ?azmeen, Flickr / CC BY 2.0
  • C D C D C D C D C D ??APP C D C D C D C D C D C D C D
  • C D C D A-G C D C D C D H-NAPP F* C D C D C D O-T C D C D C D U-Z C D
  • I   A L W A Y S   P U T   M Y   K E Y S   O N   T H E   H O O Kvitamindave, Flickr / CC BY 2.0
  • C D C D C D C D C DAPP C D C D C D C D C D C D C D
  • D E A R   D I A R Y :   K E Y S   =   I N   T H E   K I T C H E NBarnaby, Flickr / CC BY 2.0
  • HOW DO YOU FIND YOUR KEYSWHEN YOUR HOUSE IS INFINITELY BIG ANDALWAYS CHANGING?
  • T H E   A N S W E R :   C R U S H ! !pasukaru76, Flickr / CC SA 2.0
  • 10 10 01 01 10 10 01 11 01 10 hash(object name) % num pg10 10 01 01 10 10 01 11 01 10 CRUSH(pg, cluster state, rule set)
  • 10 10 01 01 10 10 01 11 01 1010 10 01 01 10 10 01 11 01 10
  • CRUSH§  Pseudo-random placement algorithm§  Ensures even distribution§  Repeatable, deterministic§  Rule-based configuration §  Replica count §  Infrastructure topology §  Weighting
  • CLIENT ??
  • CLIENT ??
  • VMVIRTUALIZATION CONTAINER LIBRBD LIBRADOS M M M
  • HOW DO YOU SPIN UPTHOUSANDS OF VMs INSTANTLY AND EFFICIENTLY?
  • instant copy144 0 0 0 0 = 144
  • write CLIENT write write write144 4 = 148
  • read read CLIENT read144 4 = 148
  • HOW DO YOU MANAGEDIRECTORY HEIRARCHY WITHOUT A SINGLE POINT OF FAILURE?
  • F I L E S Y S T E M S   R E Q U I R E   M E T A D A T ABarnaby, Flickr / CC BY 2.0
  • CLIENT 01 10 MM M
  • MM M
  • one treethree metadata servers ??
  • DYNAMIC SUBTREE PARTITIONING
  • AND NOWBACKPEDALING
  • ALMOSTEVERYTHING WORKS
  • APP APP HOST/VM CLIENT RADOSGW RBD CEPH FS LIBRADOS A bucket-based REST A reliable and fully- A POSIX-compliant A library allowing gateway, compatible distributed block distributed file apps to directly with S3 and Swift device, with a Linux system, with a Linux access RADOS, kernel client and a kernel client and with support for QEMU/KVM driver support for FUSE C, C++, Java, Python, Ruby, and PHP AWESOME AWESOME NEARLY AWESOME AWESOMERADOS AWESOMEA reliable, autonomous, distributed object store comprised of self-healing, self-managing,intelligent storage nodes
  • *LAN SCALE!!* OR REALLY REALLY SCARY FAST WAN
  • C E P H   A N D   C L O U D S T A C Ktableatny, Flickr / CC BY 2.0
  • R B D   S U P P O R T   I N   C L O U D S T A C K§  Allows storage of virtual disks inside RADOS §  Works with KVM only right now §  No snapshots yet§  Upcoming in CloudStack 4§  More information can be found on the mailing list: §  ceph-devel / incubator-cloudstack-dev: http://article.gmane.org/gmane.comp.file-systems.ceph.devel/7505
  • QUESTIONS?Ross TurkVP Community, Inktank§  ross@inktank.com§  @rossturkinktank.com | ceph.com