SlideShare uma empresa Scribd logo
1 de 52
Building Tomorrow's Ceph
Sage Weil
Research beginnings
9
UCSC research grant
●
“Petascale object storage”
●
DOE: LANL, LLNL, Sandia
● Scalability
● Reliability
●
Performance
●
Raw IO bandwidth, metadata ops/sec
● HPC file system workloads
●
Thousands of clients writing to same file, directory
Distributed metadata management
●
Innovative design
●
Subtree-based partitioning for locality, efficiency
●
Dynamically adapt to current workload
●
Embedded inodes
●
Prototype simulator in Java (2004)
● First line of Ceph code
●
Summer internship at LLNL
●
High security national lab environment
●
Could write anything, as long as it was OSS
The rest of Ceph
●
RADOS – distributed object storage cluster (2005)
● EBOFS – local object storage (2004/2006)
●
CRUSH – hashing for the real world (2005)
● Paxos monitors – cluster consensus (2006)
→ emphasis on consistent, reliable storage
→ scale by pushing intelligence to the edges
→ a different but compelling architecture
Industry black hole
●
Many large storage vendors
●
Proprietary solutions that don't scale well
● Few open source alternatives (2006)
●
Very limited scale, or
●
Limited community and architecture (Lustre)
●
No enterprise feature sets (snapshots, quotas)
●
PhD grads all built interesting systems...
●
...and then went to work for Netapp, DDN, EMC, Veritas.
● They want you, not your project
A different path
●
Change the world with open source
●
Do what Linux did to Solaris, Irix, Ultrix, etc.
●
What could go wrong?
●
License
●
GPL, BSD...
●
LGPL: share changes, okay to link to proprietary code
●
Avoid unsavory practices
●
Dual licensing
●
Copyright assignment
Incubation
17
DreamHost!
●
Move back to LA, continue hacking
● Hired a few developers
●
Pure development
● No deliverables
Ambitious feature set
●
Native Linux kernel client (2007-)
● Per-directory snapshots (2008)
●
Recursive accounting (2008)
● Object classes (2009)
● librados (2009)
●
radosgw (2009)
● strong authentication (2009)
● RBD: rados block device (2010)
The kernel client
●
ceph-fuse was limited, not very fast
● Build native Linux kernel implementation
●
Began attending Linux file system developer events (LSF)
●
Early words of encouragement from ex-Lustre devs
●
Engage Linux fs developer community as peer
●
Initial attempts merge rejected by Linus
●
Not sufficient evidence of user demand
●
A few fans and would-be users chimed in...
●
Eventually merged for v2.6.34 (early 2010)
Part of a larger ecosystem
●
Ceph need not solve all problems as monolithic stack
● Replaced ebofs object file system with btrfs
●
Same design goals
●
Avoid reinventing the wheel
●
Robust, well-supported, well optimized
●
Kernel-level cache management
●
Copy-on-write, checksumming, other goodness
●
Contributed some early functionality
●
Cloning files
●
Async snapshots
Budding community
●
#ceph on irc.oftc.net, ceph-devel@vger.kernel.org
● Many interested users
●
A few developers
● Many fans
●
Too unstable for any real deployments
● Still mostly focused on right architecture and technical
solutions
Road to product
●
DreamHost decides to build an S3-compatible object
storage service with Ceph
● Stability
●
Focus on core RADOS, RBD, radosgw
● Paying back some technical debt
●
Build testing automation
●
Code review!
● Expand engineering team
The reality
●
Growing incoming commercial interest
●
Early attempts from organizations large and small
●
Difficult to engage with a web hosting company
●
No means to support commercial deployments
● Project needed a company to back it
●
Fund the engineering effort
●
Build and test a product
●
Support users
● Bryan built a framework to spin out of DreamHost
Launch
26
Do it right
●
How do we build a strong open source company?
● How do we build a strong open source community?
●
Models?
●
RedHat, Cloudera, MySQL, Canonical, …
● Initial funding from DreamHost, Mark Shuttleworth
Goals
●
A stable Ceph release for production deployment
●
DreamObjects
● Lay foundation for widespread adoption
●
Platform support (Ubuntu, Redhat, SuSE)
●
Documentation
●
Build and test infrastructure
●
Build a sales and support organization
● Expand engineering organization
Branding
●
Early decision to engage professional agency
●
MetaDesign
● Terms like
●
“Brand core”
●
“Design system”
● Project vs Company
●
Shared / Separate / Shared core
●
Inktank != Ceph
● Aspirational messaging: The Future of Storage
Slick graphics
●
broken powerpoint template
31
Today: adoption
32
Traction
●
Too many production deployments to count
●
We don't know about most of them!
● Too many customers (for me) to count
● Growing partner list
●
Lots of inbound
●
Lots of press and buzz
Quality
●
Increased adoption means increased demands on robust
testing
●
Across multiple platforms
● Include platforms we don't like
●
Upgrades
●
Rolling upgrades
●
Inter-version compatibility
● Expanding user community + less noise about bugs = a
good sign
Developer community
●
Significant external contributors
● First-class feature contributions from contributors
●
Non-Inktank participants in daily Inktank stand-ups
● External access to build/test lab infrastructure
● Common toolset
●
Github
●
Email (kernel.org)
●
IRC (oftc.net)
● Linux distros
CDS: Ceph Developer Summit
●
Community process for building project roadmap
● 100% online
●
Google hangouts
●
Wikis
●
Etherpad
● First was this Spring, second is next week
● Great feedback, growing participation
● Indoctrinating our own developers to an open
development model
The Future
38
Governance
How do we strengthen the project community?
●
2014 is the year
● Might formally acknowledge my role as BDL
● Recognized project leads
●
RBD, RGW, RADOS, CephFS)
● Formalize processes around CDS, community roadmap
● External foundation?
Technical roadmap
●
How do we reach new use-cases and users
● How do we better satisfy existing users
●
How do we ensure Ceph can succeed in enough markets
for Inktank to thrive
● Enough breadth to expand and grow the community
● Enough focus to do well
Tiering
●
Client side caches are great, but only buy so much.
● Can we separate hot and cold data onto different storage
devices?
●
Cache pools: promote hot objects from an existing pool into a fast
(e.g., FusionIO) pool
●
Cold pools: demote cold data to a slow, archival pool (e.g.,
erasure coding)
●
How do you identify what is hot and cold?
● Common in enterprise solutions; not found in open source
scale-out systems
→ key topic at CDS next week
Erasure coding
●
Replication for redundancy is flexible and fast
● For larger clusters, it can be expensive
● Erasure coded data is hard to modify, but ideal for cold or
read-only objects
●
Cold storage tiering
●
Will be used directly by radosgw
Storage
overhead
Repair
traffic
MTTDL
(days)
3x replication 3x 1x 2.3 E10
RS (10, 4) 1.4x 10x 3.3 E13
LRC (10, 6, 5) 1.6x 5x 1.2 E15
Multi-datacenter, geo-replication
●
Ceph was originally designed for single DC clusters
●
Synchronous replication
●
Strong consistency
●
Growing demand
●
Enterprise: disaster recovery
●
ISPs: replication data across sites for locality
●
Two strategies:
●
use-case specific: radosgw, RBD
●
low-level capability in RADOS
RGW: Multi-site and async replication
●
Multi-site, multi-cluster
●
Regions: east coast, west coast, etc.
●
Zones: radosgw sub-cluster(s) within a region
●
Can federate across same or multiple Ceph clusters
●
Sync user and bucket metadata across regions
●
Global bucket/user namespace, like S3
●
Synchronize objects across zones
●
Within the same region
●
Across regions
●
Admin control over which zones are master/slave
RBD: simple DR via snapshots
●
Simple backup capability
●
Based on block device snapshots
●
Efficiently mirror changes between consecutive snapshots across
clusters
● Now supported/orchestrated by OpenStack
● Good for coarse synchronization (e.g., hours)
●
Not real-time
Async replication in RADOS
●
One implementation to capture multiple use-cases
●
RBD, CephFS, RGW, … RADOS
● A harder problem
●
Scalable: 1000s OSDs 1000s of OSDs→
●
Point-in-time consistency
● Three challenges
●
Infer a partial ordering of events in the cluster
●
Maintain a stable timeline to stream from
– either checkpoints or event stream
●
Coordinated roll-forward at destination
– do not apply any update until we know we have everything that
happened before it
CephFS
→ This is where it all started – let's get there
●
Today
●
QA coverage and bug squashing continues
●
NFS and CIFS now large complete and robust
●
Need
●
Multi-MDS
●
Directory fragmentation
●
Snapshots
●
QA investment
● Amazing community effort
The larger ecosystem
Big data
When will be stop talking about MapReduce?
Why is “big data” built on such a lame storage model?
● Move computation to the data
● Evangelize RADOS classes
●
librados case studies and proof points
● Build a general purpose compute and storage platform
The enterprise
How do we pay for all our toys?
●
Support legacy and transitional interfaces
●
iSCSI, NFS, pNFS, CIFS
●
Vmware, Hyper-v
●
Identify the beachhead use-cases
●
Only takes one use-case to get in the door
●
Earn others later
●
Single platform – shared storage resource
● Bottom-up: earn respect of engineers and admins
●
Top-down: strong brand and compelling product
Why we can beat the old guard
●
It is hard to compete with free and open source software
●
Unbeatable value proposition
●
Ultimately a more efficient development model
●
It is hard to manufacture community
● Strong foundational architecture
●
Native protocols, Linux kernel support
●
Unencumbered by legacy protocols like NFS
●
Move beyond traditional client/server model
●
Ongoing paradigm shift
●
Software defined infrastructure, data center
Thank you, and Welcome!

Mais conteúdo relacionado

Mais procurados

vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
CloudStack - Open Source Cloud Computing Project
 
Openstack with ceph
Openstack with cephOpenstack with ceph
Openstack with ceph
Ian Colle
 

Mais procurados (19)

New Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference ArchitecturesNew Ceph capabilities and Reference Architectures
New Ceph capabilities and Reference Architectures
 
Cephfsglusterfs.talk
Cephfsglusterfs.talkCephfsglusterfs.talk
Cephfsglusterfs.talk
 
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
vBACD - Distributed Petabyte-Scale Cloud Storage with GlusterFS - 2/28
 
OpenStack and Ceph case study at the University of Alabama
OpenStack and Ceph case study at the University of AlabamaOpenStack and Ceph case study at the University of Alabama
OpenStack and Ceph case study at the University of Alabama
 
BlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for CephBlueStore: a new, faster storage backend for Ceph
BlueStore: a new, faster storage backend for Ceph
 
Ceph Overview for Distributed Computing Denver Meetup
Ceph Overview for Distributed Computing Denver MeetupCeph Overview for Distributed Computing Denver Meetup
Ceph Overview for Distributed Computing Denver Meetup
 
Ostd.ksplice.talk
Ostd.ksplice.talkOstd.ksplice.talk
Ostd.ksplice.talk
 
GlusterFS And Big Data
GlusterFS And Big DataGlusterFS And Big Data
GlusterFS And Big Data
 
Iocg Whats New In V Sphere
Iocg Whats New In V SphereIocg Whats New In V Sphere
Iocg Whats New In V Sphere
 
Dustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep DiveDustin Black - Red Hat Storage Server Administration Deep Dive
Dustin Black - Red Hat Storage Server Administration Deep Dive
 
Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014Ceph and OpenStack - Feb 2014
Ceph and OpenStack - Feb 2014
 
2015 open storage workshop ceph software defined storage
2015 open storage workshop   ceph software defined storage2015 open storage workshop   ceph software defined storage
2015 open storage workshop ceph software defined storage
 
Ceph and Openstack in a Nutshell
Ceph and Openstack in a NutshellCeph and Openstack in a Nutshell
Ceph and Openstack in a Nutshell
 
Openstack with ceph
Openstack with cephOpenstack with ceph
Openstack with ceph
 
Ceph Introduction 2017
Ceph Introduction 2017  Ceph Introduction 2017
Ceph Introduction 2017
 
GlusterFS as a DFS
GlusterFS as a DFSGlusterFS as a DFS
GlusterFS as a DFS
 
Scaling Ceph at CERN - Ceph Day Frankfurt
Scaling Ceph at CERN - Ceph Day Frankfurt Scaling Ceph at CERN - Ceph Day Frankfurt
Scaling Ceph at CERN - Ceph Day Frankfurt
 
Osdc2012 xtfs.talk
Osdc2012 xtfs.talkOsdc2012 xtfs.talk
Osdc2012 xtfs.talk
 
create auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftcreate auto scale jboss cluster with openshift
create auto scale jboss cluster with openshift
 

Destaque

Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithms
Aakash deep Singhal
 
Lecture 12 data structures and algorithms
Lecture 12 data structures and algorithmsLecture 12 data structures and algorithms
Lecture 12 data structures and algorithms
Aakash deep Singhal
 
Lecture 10 data structures and algorithms
Lecture 10 data structures and algorithmsLecture 10 data structures and algorithms
Lecture 10 data structures and algorithms
Aakash deep Singhal
 
Lecture 11 data structures and algorithms
Lecture 11 data structures and algorithmsLecture 11 data structures and algorithms
Lecture 11 data structures and algorithms
Aakash deep Singhal
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithms
Aakash deep Singhal
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
Aakash deep Singhal
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithms
Aakash deep Singhal
 
Lecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsLecture 3 data structures and algorithms
Lecture 3 data structures and algorithms
Aakash deep Singhal
 
Lecture 8 data structures and algorithms
Lecture 8 data structures and algorithmsLecture 8 data structures and algorithms
Lecture 8 data structures and algorithms
Aakash deep Singhal
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
Aakash deep Singhal
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithms
Aakash deep Singhal
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
Aakash deep Singhal
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
Aakash deep Singhal
 
Material 9a série complemento cap 6
Material 9a série complemento cap 6Material 9a série complemento cap 6
Material 9a série complemento cap 6
julianapbicalho
 

Destaque (20)

Ceph Day New York 2014: Ceph and the Open Ethernet Drive Architecture
Ceph Day New York 2014: Ceph and the Open Ethernet Drive Architecture Ceph Day New York 2014: Ceph and the Open Ethernet Drive Architecture
Ceph Day New York 2014: Ceph and the Open Ethernet Drive Architecture
 
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
Ceph Day New York 2014: Best Practices for Ceph-Powered Implementations of St...
 
Lecture 9 data structures and algorithms
Lecture 9 data structures and algorithmsLecture 9 data structures and algorithms
Lecture 9 data structures and algorithms
 
Lecture 12 data structures and algorithms
Lecture 12 data structures and algorithmsLecture 12 data structures and algorithms
Lecture 12 data structures and algorithms
 
Lecture 10 data structures and algorithms
Lecture 10 data structures and algorithmsLecture 10 data structures and algorithms
Lecture 10 data structures and algorithms
 
Lecture 11 data structures and algorithms
Lecture 11 data structures and algorithmsLecture 11 data structures and algorithms
Lecture 11 data structures and algorithms
 
Lecture 16 data structures and algorithms
Lecture 16 data structures and algorithmsLecture 16 data structures and algorithms
Lecture 16 data structures and algorithms
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
 
Lecture 14 data structures and algorithms
Lecture 14 data structures and algorithmsLecture 14 data structures and algorithms
Lecture 14 data structures and algorithms
 
Lecture 3 data structures and algorithms
Lecture 3 data structures and algorithmsLecture 3 data structures and algorithms
Lecture 3 data structures and algorithms
 
Lecture 8 data structures and algorithms
Lecture 8 data structures and algorithmsLecture 8 data structures and algorithms
Lecture 8 data structures and algorithms
 
Lecture 5 data structures and algorithms
Lecture 5 data structures and algorithmsLecture 5 data structures and algorithms
Lecture 5 data structures and algorithms
 
Subsidence in coal mines
Subsidence in coal minesSubsidence in coal mines
Subsidence in coal mines
 
Lecture 4 data structures and algorithms
Lecture 4 data structures and algorithmsLecture 4 data structures and algorithms
Lecture 4 data structures and algorithms
 
Lecture 15 data structures and algorithms
Lecture 15 data structures and algorithmsLecture 15 data structures and algorithms
Lecture 15 data structures and algorithms
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
 
HPもMPも無し?!「Project Albatross」のご紹介
HPもMPも無し?!「Project Albatross」のご紹介HPもMPも無し?!「Project Albatross」のご紹介
HPもMPも無し?!「Project Albatross」のご紹介
 
Presentacion Corporativa Hr
Presentacion Corporativa HrPresentacion Corporativa Hr
Presentacion Corporativa Hr
 
Lizandra
LizandraLizandra
Lizandra
 
Material 9a série complemento cap 6
Material 9a série complemento cap 6Material 9a série complemento cap 6
Material 9a série complemento cap 6
 

Semelhante a Ceph Day NYC: Building Tomorrow's Ceph

Ceph Day Seoul - Ceph: a decade in the making and still going strong
Ceph Day Seoul - Ceph: a decade in the making and still going strong Ceph Day Seoul - Ceph: a decade in the making and still going strong
Ceph Day Seoul - Ceph: a decade in the making and still going strong
Ceph Community
 
Ceph Day London 2014 - The current state of CephFS development
Ceph Day London 2014 - The current state of CephFS development Ceph Day London 2014 - The current state of CephFS development
Ceph Day London 2014 - The current state of CephFS development
Ceph Community
 
Building a Distributed File System for the Cloud-Native Era
Building a Distributed File System for the Cloud-Native EraBuilding a Distributed File System for the Cloud-Native Era
Building a Distributed File System for the Cloud-Native Era
Alluxio, Inc.
 
Benchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetesBenchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetes
DoKC
 

Semelhante a Ceph Day NYC: Building Tomorrow's Ceph (20)

London Ceph Day Keynote: Building Tomorrow's Ceph
London Ceph Day Keynote: Building Tomorrow's Ceph London Ceph Day Keynote: Building Tomorrow's Ceph
London Ceph Day Keynote: Building Tomorrow's Ceph
 
Ceph: A decade in the making and still going strong
Ceph: A decade in the making and still going strongCeph: A decade in the making and still going strong
Ceph: A decade in the making and still going strong
 
Ceph Day Seoul - Ceph: a decade in the making and still going strong
Ceph Day Seoul - Ceph: a decade in the making and still going strong Ceph Day Seoul - Ceph: a decade in the making and still going strong
Ceph Day Seoul - Ceph: a decade in the making and still going strong
 
DEVIEW 2013
DEVIEW 2013DEVIEW 2013
DEVIEW 2013
 
2021.06. Ceph Project Update
2021.06. Ceph Project Update2021.06. Ceph Project Update
2021.06. Ceph Project Update
 
What's New with Ceph - Ceph Day Silicon Valley
What's New with Ceph - Ceph Day Silicon ValleyWhat's New with Ceph - Ceph Day Silicon Valley
What's New with Ceph - Ceph Day Silicon Valley
 
Keynote: Building Tomorrow's Ceph - Ceph Day Frankfurt
Keynote: Building Tomorrow's Ceph - Ceph Day Frankfurt Keynote: Building Tomorrow's Ceph - Ceph Day Frankfurt
Keynote: Building Tomorrow's Ceph - Ceph Day Frankfurt
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
Introduction to OpenStack Storage
Introduction to OpenStack StorageIntroduction to OpenStack Storage
Introduction to OpenStack Storage
 
Ceph in 2023 and Beyond.pdf
Ceph in 2023 and Beyond.pdfCeph in 2023 and Beyond.pdf
Ceph in 2023 and Beyond.pdf
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Solving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps styleSolving k8s persistent workloads using k8s DevOps style
Solving k8s persistent workloads using k8s DevOps style
 
Ceph Day London 2014 - The current state of CephFS development
Ceph Day London 2014 - The current state of CephFS development Ceph Day London 2014 - The current state of CephFS development
Ceph Day London 2014 - The current state of CephFS development
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
 
Container Attached Storage with OpenEBS - CNCF Paris Meetup
Container Attached Storage with OpenEBS - CNCF Paris MeetupContainer Attached Storage with OpenEBS - CNCF Paris Meetup
Container Attached Storage with OpenEBS - CNCF Paris Meetup
 
Building a Distributed File System for the Cloud-Native Era
Building a Distributed File System for the Cloud-Native EraBuilding a Distributed File System for the Cloud-Native Era
Building a Distributed File System for the Cloud-Native Era
 
Block Storage For VMs With Ceph
Block Storage For VMs With CephBlock Storage For VMs With Ceph
Block Storage For VMs With Ceph
 
Benchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetesBenchmarking for postgresql workloads in kubernetes
Benchmarking for postgresql workloads in kubernetes
 
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
 
Cncf storage-final-filip
Cncf storage-final-filipCncf storage-final-filip
Cncf storage-final-filip
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Ceph Day NYC: Building Tomorrow's Ceph

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 10.
  • 11. UCSC research grant ● “Petascale object storage” ● DOE: LANL, LLNL, Sandia ● Scalability ● Reliability ● Performance ● Raw IO bandwidth, metadata ops/sec ● HPC file system workloads ● Thousands of clients writing to same file, directory
  • 12. Distributed metadata management ● Innovative design ● Subtree-based partitioning for locality, efficiency ● Dynamically adapt to current workload ● Embedded inodes ● Prototype simulator in Java (2004) ● First line of Ceph code ● Summer internship at LLNL ● High security national lab environment ● Could write anything, as long as it was OSS
  • 13. The rest of Ceph ● RADOS – distributed object storage cluster (2005) ● EBOFS – local object storage (2004/2006) ● CRUSH – hashing for the real world (2005) ● Paxos monitors – cluster consensus (2006) → emphasis on consistent, reliable storage → scale by pushing intelligence to the edges → a different but compelling architecture
  • 14.
  • 15. Industry black hole ● Many large storage vendors ● Proprietary solutions that don't scale well ● Few open source alternatives (2006) ● Very limited scale, or ● Limited community and architecture (Lustre) ● No enterprise feature sets (snapshots, quotas) ● PhD grads all built interesting systems... ● ...and then went to work for Netapp, DDN, EMC, Veritas. ● They want you, not your project
  • 16. A different path ● Change the world with open source ● Do what Linux did to Solaris, Irix, Ultrix, etc. ● What could go wrong? ● License ● GPL, BSD... ● LGPL: share changes, okay to link to proprietary code ● Avoid unsavory practices ● Dual licensing ● Copyright assignment
  • 18.
  • 19. DreamHost! ● Move back to LA, continue hacking ● Hired a few developers ● Pure development ● No deliverables
  • 20. Ambitious feature set ● Native Linux kernel client (2007-) ● Per-directory snapshots (2008) ● Recursive accounting (2008) ● Object classes (2009) ● librados (2009) ● radosgw (2009) ● strong authentication (2009) ● RBD: rados block device (2010)
  • 21. The kernel client ● ceph-fuse was limited, not very fast ● Build native Linux kernel implementation ● Began attending Linux file system developer events (LSF) ● Early words of encouragement from ex-Lustre devs ● Engage Linux fs developer community as peer ● Initial attempts merge rejected by Linus ● Not sufficient evidence of user demand ● A few fans and would-be users chimed in... ● Eventually merged for v2.6.34 (early 2010)
  • 22. Part of a larger ecosystem ● Ceph need not solve all problems as monolithic stack ● Replaced ebofs object file system with btrfs ● Same design goals ● Avoid reinventing the wheel ● Robust, well-supported, well optimized ● Kernel-level cache management ● Copy-on-write, checksumming, other goodness ● Contributed some early functionality ● Cloning files ● Async snapshots
  • 23. Budding community ● #ceph on irc.oftc.net, ceph-devel@vger.kernel.org ● Many interested users ● A few developers ● Many fans ● Too unstable for any real deployments ● Still mostly focused on right architecture and technical solutions
  • 24. Road to product ● DreamHost decides to build an S3-compatible object storage service with Ceph ● Stability ● Focus on core RADOS, RBD, radosgw ● Paying back some technical debt ● Build testing automation ● Code review! ● Expand engineering team
  • 25. The reality ● Growing incoming commercial interest ● Early attempts from organizations large and small ● Difficult to engage with a web hosting company ● No means to support commercial deployments ● Project needed a company to back it ● Fund the engineering effort ● Build and test a product ● Support users ● Bryan built a framework to spin out of DreamHost
  • 27.
  • 28. Do it right ● How do we build a strong open source company? ● How do we build a strong open source community? ● Models? ● RedHat, Cloudera, MySQL, Canonical, … ● Initial funding from DreamHost, Mark Shuttleworth
  • 29. Goals ● A stable Ceph release for production deployment ● DreamObjects ● Lay foundation for widespread adoption ● Platform support (Ubuntu, Redhat, SuSE) ● Documentation ● Build and test infrastructure ● Build a sales and support organization ● Expand engineering organization
  • 30. Branding ● Early decision to engage professional agency ● MetaDesign ● Terms like ● “Brand core” ● “Design system” ● Project vs Company ● Shared / Separate / Shared core ● Inktank != Ceph ● Aspirational messaging: The Future of Storage
  • 33.
  • 34. Traction ● Too many production deployments to count ● We don't know about most of them! ● Too many customers (for me) to count ● Growing partner list ● Lots of inbound ● Lots of press and buzz
  • 35. Quality ● Increased adoption means increased demands on robust testing ● Across multiple platforms ● Include platforms we don't like ● Upgrades ● Rolling upgrades ● Inter-version compatibility ● Expanding user community + less noise about bugs = a good sign
  • 36. Developer community ● Significant external contributors ● First-class feature contributions from contributors ● Non-Inktank participants in daily Inktank stand-ups ● External access to build/test lab infrastructure ● Common toolset ● Github ● Email (kernel.org) ● IRC (oftc.net) ● Linux distros
  • 37. CDS: Ceph Developer Summit ● Community process for building project roadmap ● 100% online ● Google hangouts ● Wikis ● Etherpad ● First was this Spring, second is next week ● Great feedback, growing participation ● Indoctrinating our own developers to an open development model
  • 39. Governance How do we strengthen the project community? ● 2014 is the year ● Might formally acknowledge my role as BDL ● Recognized project leads ● RBD, RGW, RADOS, CephFS) ● Formalize processes around CDS, community roadmap ● External foundation?
  • 40. Technical roadmap ● How do we reach new use-cases and users ● How do we better satisfy existing users ● How do we ensure Ceph can succeed in enough markets for Inktank to thrive ● Enough breadth to expand and grow the community ● Enough focus to do well
  • 41. Tiering ● Client side caches are great, but only buy so much. ● Can we separate hot and cold data onto different storage devices? ● Cache pools: promote hot objects from an existing pool into a fast (e.g., FusionIO) pool ● Cold pools: demote cold data to a slow, archival pool (e.g., erasure coding) ● How do you identify what is hot and cold? ● Common in enterprise solutions; not found in open source scale-out systems → key topic at CDS next week
  • 42. Erasure coding ● Replication for redundancy is flexible and fast ● For larger clusters, it can be expensive ● Erasure coded data is hard to modify, but ideal for cold or read-only objects ● Cold storage tiering ● Will be used directly by radosgw Storage overhead Repair traffic MTTDL (days) 3x replication 3x 1x 2.3 E10 RS (10, 4) 1.4x 10x 3.3 E13 LRC (10, 6, 5) 1.6x 5x 1.2 E15
  • 43. Multi-datacenter, geo-replication ● Ceph was originally designed for single DC clusters ● Synchronous replication ● Strong consistency ● Growing demand ● Enterprise: disaster recovery ● ISPs: replication data across sites for locality ● Two strategies: ● use-case specific: radosgw, RBD ● low-level capability in RADOS
  • 44. RGW: Multi-site and async replication ● Multi-site, multi-cluster ● Regions: east coast, west coast, etc. ● Zones: radosgw sub-cluster(s) within a region ● Can federate across same or multiple Ceph clusters ● Sync user and bucket metadata across regions ● Global bucket/user namespace, like S3 ● Synchronize objects across zones ● Within the same region ● Across regions ● Admin control over which zones are master/slave
  • 45. RBD: simple DR via snapshots ● Simple backup capability ● Based on block device snapshots ● Efficiently mirror changes between consecutive snapshots across clusters ● Now supported/orchestrated by OpenStack ● Good for coarse synchronization (e.g., hours) ● Not real-time
  • 46. Async replication in RADOS ● One implementation to capture multiple use-cases ● RBD, CephFS, RGW, … RADOS ● A harder problem ● Scalable: 1000s OSDs 1000s of OSDs→ ● Point-in-time consistency ● Three challenges ● Infer a partial ordering of events in the cluster ● Maintain a stable timeline to stream from – either checkpoints or event stream ● Coordinated roll-forward at destination – do not apply any update until we know we have everything that happened before it
  • 47. CephFS → This is where it all started – let's get there ● Today ● QA coverage and bug squashing continues ● NFS and CIFS now large complete and robust ● Need ● Multi-MDS ● Directory fragmentation ● Snapshots ● QA investment ● Amazing community effort
  • 49. Big data When will be stop talking about MapReduce? Why is “big data” built on such a lame storage model? ● Move computation to the data ● Evangelize RADOS classes ● librados case studies and proof points ● Build a general purpose compute and storage platform
  • 50. The enterprise How do we pay for all our toys? ● Support legacy and transitional interfaces ● iSCSI, NFS, pNFS, CIFS ● Vmware, Hyper-v ● Identify the beachhead use-cases ● Only takes one use-case to get in the door ● Earn others later ● Single platform – shared storage resource ● Bottom-up: earn respect of engineers and admins ● Top-down: strong brand and compelling product
  • 51. Why we can beat the old guard ● It is hard to compete with free and open source software ● Unbeatable value proposition ● Ultimately a more efficient development model ● It is hard to manufacture community ● Strong foundational architecture ● Native protocols, Linux kernel support ● Unencumbered by legacy protocols like NFS ● Move beyond traditional client/server model ● Ongoing paradigm shift ● Software defined infrastructure, data center
  • 52. Thank you, and Welcome!