SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
librados
Adventure! Excitement! Octopus-wrangling!
Jesse Williamson, SUSE (“jwilliamson@suse.de”)
2
Disclaimer:
The views expressed here are my own and do not necessarily reflect those of my
employer, SUSE, nor of the Ceph authors and contributors.
(Whew!)
3
● RADOS: What the Heck Is It?
...in which I try to explain a programming
tool while showing very little code.
4
● RADOS: What the Heck Is It?
● Reliable, Autonomic Distributed Object Store
“RADOS: A Scalable Reliable Storage Service for Petabyte-scale Storage Clusters”. Weil, Leung, et. al., 2007.
● “...[provides] applications with the illusion of a single logical object store with well-defined safety semantics and
strong consistency guarantees.”
● Distributes data and workload across dynamic storage cluster
● “...[leverages] device intelligence to distribute the complexity surrounding consistent data access,
redundant storage, failure detection, and failure recovery in clusters consisting of many thousands of storage
devices.”
5
● RADOS: What the Heck Is It?
● Reliable, Autonomic Distributed Object Store
“RADOS: A Scalable Reliable Storage Service for Petabyte-scale Storage Clusters”. Weil, Leung, et. al., 2007.
● “...[provides] applications with the illusion of a single logical object store with well-defined safety semantics and
● strong consistency guarantees.”
● Distributes data and workload across dynamic storage cluster
● “...[leverages] device intelligence to distribute the complexity surrounding consistent data access,
redundant storage, failure detection, and failure recovery in clusters consisting of many thousands of storage
devices.”
● Integral to Ceph!
● cluster management, device state, etc. (CRUSH maps)
● data distribution (“placement”) policies
● “smart” propagation of rules; data replication, consistency, etc.
6
● RADOS: What the Heck Is It?
● RADOS “the idea”
● papers
● RADOS implementation “the thing”:
● Ceph:
- mons, OSDs, storage “smarts”
● Interfaces to the implementation:
● Command-line interface:
- the “rados” tool
● Service interface:
- RGW (RADOS Gateway); filesystems, ...
7
● RADOS: What the Heck Is It?
● RADOS “the idea”
● papers
● RADOS implementation “the thing”:
● Ceph:
- mons, OSDs, storage “smarts”
● Interfaces to the implementation:
● Command-line interface:
- the “rados” tool
● Service interface:
- RGW (RADOS Gateway); filesystems, ...
● Programmatic interface:
- librados
8
● librados:
● What is it, and what does it do?
● What uses it?
● What can you make with it?
9
● librados:
● What is it?
Librados is a programming-language level interface to Ceph.
Bindings available at-least for (varying levels of “official” standing):
C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell
10
● librados:
● What is it?
Librados is a programming-language level interface to Ceph.
Bindings available at-least for (varying levels of “official” standing):
C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell
● Lower (librados.h) and higher-level (librados.hpp, RadosClient)
behaviors
11
● librados:
● What is it?
Librados is a programming-language level interface to Ceph.
Bindings available at-least for (varying levels of “official” standing):
C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell
● Lower (librados.h) and higher-level (librados.hpp, RadosClient)
behaviors
● ...librados is “batteries included”-- just link in!
12
● librados:
● What is it?
Librados is a programming-language level interface to Ceph.
Bindings available at-least for (varying levels of “official” standing):
C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell
● Lower (librados.h) and higher-level (librados.hpp, RadosClient)
interfaces
● ...librados is “batteries included”-- just link in!!
● librados is a platform you can build your application on top of--
a client interface to Ceph.
13
● librados:
● What is it?
Librados is a programming-language level interface to Ceph.
Bindings available at-least for (varying levels of “official” standing):
C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell
● Lower (librados.h) and higher-level (librados.hpp, RadosClient)
interfaces
● ...librados is “batteries included”-- just link in!
● librados is a platform you can build your application on top of--
a client interface to Ceph
● Hides complexity: networking, replication, scaling, dealing
with filesystems...
14
● librados:
● What is it?
librados (C++, C, Python, ...)
RADOS (Ceph infrastructure-- distributed object store)
RGW
(Web services)
CephFS
(filesystem)
Your application! :-)
15
● librados:
● What is it?
import rados, sys
cluster = rados.Rados(conffile='ceph.conf')
cluster.connect()
print "Cluster ID: " + cluster.get_fsid()
cluster_stats = cluster.get_cluster_stats()
for key, value in cluster_stats.iteritems():
print key, value
ioctx = cluster.open_ioctx('data')
ioctx.write_full("hi_there", "Hello World!")
ioctx.close()
16
● librados:
● What uses it? What can you make with it?
17
● librados:
● What uses it? What can you make with it?
Ceph components and tools:
RADOS gateway (rgw);
“rados” command-line tool;
rdb-mirror
libradosstriper
librdb
...among others...
18
● librados:
● What uses it? What can you make with it?
Ceph components and tools:
RADOS gateway (rgw);
“rados” command-line tool;
rdb-mirror
libradosstriper
librdb
...among others…
Potential project using librados to provide a backend for the Dovecot mail system:
http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/24092
19
● librados:
● What uses it? What can you make with it?
Ceph components and tools:
RADOS gateway (rgw);
“rados” command-line tool;
rdb-mirror
libradosstriper
librdb
...among others…
Potential project using librados to provide a backend for the Dovecot mail system:
http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/24092
RadosFS: A Ceph RADOS API for Hadoop (“https://github.com/rootfs/RadosFs”)
Zlog: a distributed shared log for Ceph (“https://github.com/noahdesu/zlog”)
Apache and nginx modules
Docker and Vagrant goodies
...many more examples on github.
20
● librados:
● What uses it? What can you make with it?
Ceph components and tools:
RADOS gateway (rgw);
“rados” command-line tool;
rdb-mirror
libradosstriper
librdb
...among others…
Potential project using librados to provide a backend for the Dovecot mail system:
http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/24092
Librados is a powerful Ceph interface-- build
anything you can imagine! :-)
21
● librados:
● What does it do?
Some major functional areas:
Configuration: handle environment variables, config files, command-line options in
a consistent way;
22
● librados:
● What does it do?
Some major functional areas:
Configuration: handle environment variables, config files, command-line options in
a consistent way;
Connections: abstract away networking, connection management, some
threading;
Pools: manage namespaces, iterate over objects in them
23
● librados:
● What does it do?
Some major functional areas:
Configuration: handle environment variables, config files, command-line options in
a consistent way;
Connections: abstract away networking, connection management, some
threading;
Pools: manage namespaces, iterate over objects in them
I/O: Synchronous and Asynchronous read/write/update on objects
24
● librados:
● What does it do?
Some major functional areas:
Configuration: handle environment variables, config files, command-line options in
a consistent way;
Connections: abstract away networking, connection management, some
threading;
Pools: manage namespaces, iterate over objects in them
I/O: Synchronous and Asynchronous read/write/update on objects
More:
Extended attributes, omaps, client watch/notify events, osd commands, statistics,
snapshots, ...all “baked in”.
25
● librados:
Resources:
Ceph documentation (C, C++, Python, Java examples):
http://docs.ceph.com/docs/master/rados/api/
Other Bindings (Erlang, Go, Haskell, PHP, Ruby-- many more (Common Lisp, anyone?)):
https://github.com/renzhi/erlrados
https://github.com/mrkvm/rados.go
https://hackage.haskell.org/package/rados-haskell
https://github.com/ceph/ceph-ruby
https://github.com/ceph/phprados
Source code:
https://github.com/ceph/ceph/tree/master/src/include/rados
A more in-depth presentation from Sage Weil:
http://events.linuxfoundation.org/sites/events/files/slides/20150311%20vault15%20librados.pdf
Further reading:
Weil, Leung, et. al.. “RADOS: A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters”.
Weil, Brandt, et. al.. “CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data”.
Questions? :-)

Contenu connexe

Tendances

ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortNAVER D2
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing GuideJose De La Rosa
 
Ceph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsCeph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsKaran Singh
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDBSage Weil
 
2019.06.27 Intro to Ceph
2019.06.27 Intro to Ceph2019.06.27 Intro to Ceph
2019.06.27 Intro to CephCeph Community
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Community
 
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Sean Cohen
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionKaran Singh
 
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 DashboardCeph Community
 
What you need to know about ceph
What you need to know about cephWhat you need to know about ceph
What you need to know about cephEmma Haruka Iwao
 
Ceph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideCeph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideKaran Singh
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep DiveRed_Hat_Storage
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Community
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephRongze Zhu
 
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 CephSage Weil
 
Red hat ceph storage customer presentation
Red hat ceph storage customer presentationRed hat ceph storage customer presentation
Red hat ceph storage customer presentationRodrigo Missiaggia
 
Ceph Month 2021: RADOS Update
Ceph Month 2021: RADOS UpdateCeph Month 2021: RADOS Update
Ceph Month 2021: RADOS UpdateCeph Community
 

Tendances (20)

Bluestore
BluestoreBluestore
Bluestore
 
ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-short
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
Ceph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion ObjectsCeph scale testing with 10 Billion Objects
Ceph scale testing with 10 Billion Objects
 
Ceph and RocksDB
Ceph and RocksDBCeph and RocksDB
Ceph and RocksDB
 
2019.06.27 Intro to Ceph
2019.06.27 Intro to Ceph2019.06.27 Intro to Ceph
2019.06.27 Intro to Ceph
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
 
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
 
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake SolutionCeph Object Storage Performance Secrets and Ceph Data Lake Solution
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
 
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
 
What you need to know about ceph
What you need to know about cephWhat you need to know about ceph
What you need to know about ceph
 
Ceph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing GuideCeph Object Storage Reference Architecture Performance and Sizing Guide
Ceph Object Storage Reference Architecture Performance and Sizing Guide
 
Ceph as software define storage
Ceph as software define storageCeph as software define storage
Ceph as software define storage
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices:  A Deep DiveCeph Block Devices:  A Deep Dive
Ceph Block Devices: A Deep Dive
 
Ceph issue 해결 사례
Ceph issue 해결 사례Ceph issue 해결 사례
Ceph issue 해결 사례
 
Ceph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOceanCeph Tech Talk: Ceph at DigitalOcean
Ceph Tech Talk: Ceph at DigitalOcean
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
 
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
 
Red hat ceph storage customer presentation
Red hat ceph storage customer presentationRed hat ceph storage customer presentation
Red hat ceph storage customer presentation
 
Ceph Month 2021: RADOS Update
Ceph Month 2021: RADOS UpdateCeph Month 2021: RADOS Update
Ceph Month 2021: RADOS Update
 

Similaire à librados

Ceph Day London 2014 - Ceph Ecosystem Overview
Ceph Day London 2014 - Ceph Ecosystem Overview Ceph Day London 2014 - Ceph Ecosystem Overview
Ceph Day London 2014 - Ceph Ecosystem Overview Ceph Community
 
Open Source Storage at Scale: Ceph @ GRNET
Open Source Storage at Scale: Ceph @ GRNETOpen Source Storage at Scale: Ceph @ GRNET
Open Source Storage at Scale: Ceph @ GRNETNikos Kormpakis
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
Openstack with ceph
Openstack with cephOpenstack with ceph
Openstack with cephIan Colle
 
Cache Tiering and Erasure Coding
Cache Tiering and Erasure CodingCache Tiering and Erasure Coding
Cache Tiering and Erasure CodingShinobu Kinjo
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsMichael Lange
 
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop:  Effizientes DevOps-Tooling mit GobetterCode Workshop:  Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit GoQAware GmbH
 
Ceph Day NYC: The Future of CephFS
Ceph Day NYC: The Future of CephFSCeph Day NYC: The Future of CephFS
Ceph Day NYC: The Future of CephFSCeph Community
 
Cache Tiering and Erasure Coding
Cache Tiering and Erasure CodingCache Tiering and Erasure Coding
Cache Tiering and Erasure CodingShinobu KINJO
 
Enterprise Data Workflows with Cascading and Windows Azure HDInsight
Enterprise Data Workflows with Cascading and Windows Azure HDInsightEnterprise Data Workflows with Cascading and Windows Azure HDInsight
Enterprise Data Workflows with Cascading and Windows Azure HDInsightPaco Nathan
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatOpenStack
 
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller OpenShift Origin
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices: A Deep DiveCeph Block Devices: A Deep Dive
Ceph Block Devices: A Deep Divejoshdurgin
 
Curso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackCurso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackJackson F. de A. Mafra
 
Modern Web development and operations practices
Modern Web development and operations practicesModern Web development and operations practices
Modern Web development and operations practicesGrig Gheorghiu
 
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12XOpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12XOpenShift Origin
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 

Similaire à librados (20)

Sinux
SinuxSinux
Sinux
 
XenSummit - 08/28/2012
XenSummit - 08/28/2012XenSummit - 08/28/2012
XenSummit - 08/28/2012
 
Ceph Day London 2014 - Ceph Ecosystem Overview
Ceph Day London 2014 - Ceph Ecosystem Overview Ceph Day London 2014 - Ceph Ecosystem Overview
Ceph Day London 2014 - Ceph Ecosystem Overview
 
Open Source Storage at Scale: Ceph @ GRNET
Open Source Storage at Scale: Ceph @ GRNETOpen Source Storage at Scale: Ceph @ GRNET
Open Source Storage at Scale: Ceph @ GRNET
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Openstack with ceph
Openstack with cephOpenstack with ceph
Openstack with ceph
 
Cache Tiering and Erasure Coding
Cache Tiering and Erasure CodingCache Tiering and Erasure Coding
Cache Tiering and Erasure Coding
 
ROS and Unity.pdf
ROS and Unity.pdfROS and Unity.pdf
ROS and Unity.pdf
 
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other ThingsI Just Want to Run My Code: Waypoint, Nomad, and Other Things
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
 
betterCode Workshop: Effizientes DevOps-Tooling mit Go
betterCode Workshop:  Effizientes DevOps-Tooling mit GobetterCode Workshop:  Effizientes DevOps-Tooling mit Go
betterCode Workshop: Effizientes DevOps-Tooling mit Go
 
Ceph Day NYC: The Future of CephFS
Ceph Day NYC: The Future of CephFSCeph Day NYC: The Future of CephFS
Ceph Day NYC: The Future of CephFS
 
Cache Tiering and Erasure Coding
Cache Tiering and Erasure CodingCache Tiering and Erasure Coding
Cache Tiering and Erasure Coding
 
Enterprise Data Workflows with Cascading and Windows Azure HDInsight
Enterprise Data Workflows with Cascading and Windows Azure HDInsightEnterprise Data Workflows with Cascading and Windows Azure HDInsight
Enterprise Data Workflows with Cascading and Windows Azure HDInsight
 
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red HatThe Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
The Future of Cloud Software Defined Storage with Ceph: Andrew Hatfield, Red Hat
 
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
OpenShift PaaS Anywhere (Infrastructure.Next Ghent 2014-02-24) Diane Mueller
 
Ceph Block Devices: A Deep Dive
Ceph Block Devices: A Deep DiveCeph Block Devices: A Deep Dive
Ceph Block Devices: A Deep Dive
 
Curso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - StackCurso de Desenvolvimento Mobile - Android - Stack
Curso de Desenvolvimento Mobile - Android - Stack
 
Modern Web development and operations practices
Modern Web development and operations practicesModern Web development and operations practices
Modern Web development and operations practices
 
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12XOpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
OpenShift Anywhere given at Infrastructure.Next Talk at #Scale12X
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 

Plus de Patrick McGarry

Ceph@MIMOS: Growing Pains from R&D to Deployment
Ceph@MIMOS: Growing Pains from R&D to DeploymentCeph@MIMOS: Growing Pains from R&D to Deployment
Ceph@MIMOS: Growing Pains from R&D to DeploymentPatrick McGarry
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitecturePatrick McGarry
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudPatrick McGarry
 
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Patrick McGarry
 
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 strongPatrick McGarry
 
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014Patrick McGarry
 
Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)
Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)
Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)Patrick McGarry
 
Ceph, Xen, and CloudStack: Semper Melior
Ceph, Xen, and CloudStack: Semper MeliorCeph, Xen, and CloudStack: Semper Melior
Ceph, Xen, and CloudStack: Semper MeliorPatrick McGarry
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputePatrick McGarry
 
Ceph & OpenStack - Boston Meetup
Ceph & OpenStack - Boston MeetupCeph & OpenStack - Boston Meetup
Ceph & OpenStack - Boston MeetupPatrick McGarry
 
Ceph in the Ecosystem - Ceph Day NYC 2013
Ceph in the Ecosystem - Ceph Day NYC 2013Ceph in the Ecosystem - Ceph Day NYC 2013
Ceph in the Ecosystem - Ceph Day NYC 2013Patrick McGarry
 
Powering CloudStack with Ceph RBD - Apachecon
Powering CloudStack with Ceph RBD - ApacheconPowering CloudStack with Ceph RBD - Apachecon
Powering CloudStack with Ceph RBD - ApacheconPatrick McGarry
 
An intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data WorkshopAn intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data WorkshopPatrick McGarry
 

Plus de Patrick McGarry (17)

Ceph@MIMOS: Growing Pains from R&D to Deployment
Ceph@MIMOS: Growing Pains from R&D to DeploymentCeph@MIMOS: Growing Pains from R&D to Deployment
Ceph@MIMOS: Growing Pains from R&D to Deployment
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference Architecture
 
Community Update
Community UpdateCommunity Update
Community Update
 
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack CloudJourney to Stability: Petabyte Ceph Cluster in OpenStack Cloud
Journey to Stability: Petabyte Ceph Cluster in OpenStack Cloud
 
MySQL Head-to-Head
MySQL Head-to-HeadMySQL Head-to-Head
MySQL Head-to-Head
 
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
Using Recently Published Ceph Reference Architectures to Select Your Ceph Con...
 
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
 
2014 Ceph NYLUG Talk
2014 Ceph NYLUG Talk2014 Ceph NYLUG Talk
2014 Ceph NYLUG Talk
 
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
 
Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)
Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)
Ceph Ecosystem Update - Ceph Day Frankfurt (Feb 2014)
 
DEVIEW 2013
DEVIEW 2013DEVIEW 2013
DEVIEW 2013
 
Ceph, Xen, and CloudStack: Semper Melior
Ceph, Xen, and CloudStack: Semper MeliorCeph, Xen, and CloudStack: Semper Melior
Ceph, Xen, and CloudStack: Semper Melior
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
 
Ceph & OpenStack - Boston Meetup
Ceph & OpenStack - Boston MeetupCeph & OpenStack - Boston Meetup
Ceph & OpenStack - Boston Meetup
 
Ceph in the Ecosystem - Ceph Day NYC 2013
Ceph in the Ecosystem - Ceph Day NYC 2013Ceph in the Ecosystem - Ceph Day NYC 2013
Ceph in the Ecosystem - Ceph Day NYC 2013
 
Powering CloudStack with Ceph RBD - Apachecon
Powering CloudStack with Ceph RBD - ApacheconPowering CloudStack with Ceph RBD - Apachecon
Powering CloudStack with Ceph RBD - Apachecon
 
An intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data WorkshopAn intro to Ceph and big data - CERN Big Data Workshop
An intro to Ceph and big data - CERN Big Data Workshop
 

Dernier

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...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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 WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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 MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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 productivityPrincipled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 WorkerThousandEyes
 
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)wesley chun
 
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 Processorsdebabhi2
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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.pdfChristopherTHyatt
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Dernier (20)

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...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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)
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

librados

  • 1. librados Adventure! Excitement! Octopus-wrangling! Jesse Williamson, SUSE (“jwilliamson@suse.de”)
  • 2. 2 Disclaimer: The views expressed here are my own and do not necessarily reflect those of my employer, SUSE, nor of the Ceph authors and contributors. (Whew!)
  • 3. 3 ● RADOS: What the Heck Is It? ...in which I try to explain a programming tool while showing very little code.
  • 4. 4 ● RADOS: What the Heck Is It? ● Reliable, Autonomic Distributed Object Store “RADOS: A Scalable Reliable Storage Service for Petabyte-scale Storage Clusters”. Weil, Leung, et. al., 2007. ● “...[provides] applications with the illusion of a single logical object store with well-defined safety semantics and strong consistency guarantees.” ● Distributes data and workload across dynamic storage cluster ● “...[leverages] device intelligence to distribute the complexity surrounding consistent data access, redundant storage, failure detection, and failure recovery in clusters consisting of many thousands of storage devices.”
  • 5. 5 ● RADOS: What the Heck Is It? ● Reliable, Autonomic Distributed Object Store “RADOS: A Scalable Reliable Storage Service for Petabyte-scale Storage Clusters”. Weil, Leung, et. al., 2007. ● “...[provides] applications with the illusion of a single logical object store with well-defined safety semantics and ● strong consistency guarantees.” ● Distributes data and workload across dynamic storage cluster ● “...[leverages] device intelligence to distribute the complexity surrounding consistent data access, redundant storage, failure detection, and failure recovery in clusters consisting of many thousands of storage devices.” ● Integral to Ceph! ● cluster management, device state, etc. (CRUSH maps) ● data distribution (“placement”) policies ● “smart” propagation of rules; data replication, consistency, etc.
  • 6. 6 ● RADOS: What the Heck Is It? ● RADOS “the idea” ● papers ● RADOS implementation “the thing”: ● Ceph: - mons, OSDs, storage “smarts” ● Interfaces to the implementation: ● Command-line interface: - the “rados” tool ● Service interface: - RGW (RADOS Gateway); filesystems, ...
  • 7. 7 ● RADOS: What the Heck Is It? ● RADOS “the idea” ● papers ● RADOS implementation “the thing”: ● Ceph: - mons, OSDs, storage “smarts” ● Interfaces to the implementation: ● Command-line interface: - the “rados” tool ● Service interface: - RGW (RADOS Gateway); filesystems, ... ● Programmatic interface: - librados
  • 8. 8 ● librados: ● What is it, and what does it do? ● What uses it? ● What can you make with it?
  • 9. 9 ● librados: ● What is it? Librados is a programming-language level interface to Ceph. Bindings available at-least for (varying levels of “official” standing): C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell
  • 10. 10 ● librados: ● What is it? Librados is a programming-language level interface to Ceph. Bindings available at-least for (varying levels of “official” standing): C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell ● Lower (librados.h) and higher-level (librados.hpp, RadosClient) behaviors
  • 11. 11 ● librados: ● What is it? Librados is a programming-language level interface to Ceph. Bindings available at-least for (varying levels of “official” standing): C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell ● Lower (librados.h) and higher-level (librados.hpp, RadosClient) behaviors ● ...librados is “batteries included”-- just link in!
  • 12. 12 ● librados: ● What is it? Librados is a programming-language level interface to Ceph. Bindings available at-least for (varying levels of “official” standing): C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell ● Lower (librados.h) and higher-level (librados.hpp, RadosClient) interfaces ● ...librados is “batteries included”-- just link in!! ● librados is a platform you can build your application on top of-- a client interface to Ceph.
  • 13. 13 ● librados: ● What is it? Librados is a programming-language level interface to Ceph. Bindings available at-least for (varying levels of “official” standing): C++, C, Erlang, Go, PHP, Java, Python, Ruby, Haskell ● Lower (librados.h) and higher-level (librados.hpp, RadosClient) interfaces ● ...librados is “batteries included”-- just link in! ● librados is a platform you can build your application on top of-- a client interface to Ceph ● Hides complexity: networking, replication, scaling, dealing with filesystems...
  • 14. 14 ● librados: ● What is it? librados (C++, C, Python, ...) RADOS (Ceph infrastructure-- distributed object store) RGW (Web services) CephFS (filesystem) Your application! :-)
  • 15. 15 ● librados: ● What is it? import rados, sys cluster = rados.Rados(conffile='ceph.conf') cluster.connect() print "Cluster ID: " + cluster.get_fsid() cluster_stats = cluster.get_cluster_stats() for key, value in cluster_stats.iteritems(): print key, value ioctx = cluster.open_ioctx('data') ioctx.write_full("hi_there", "Hello World!") ioctx.close()
  • 16. 16 ● librados: ● What uses it? What can you make with it?
  • 17. 17 ● librados: ● What uses it? What can you make with it? Ceph components and tools: RADOS gateway (rgw); “rados” command-line tool; rdb-mirror libradosstriper librdb ...among others...
  • 18. 18 ● librados: ● What uses it? What can you make with it? Ceph components and tools: RADOS gateway (rgw); “rados” command-line tool; rdb-mirror libradosstriper librdb ...among others… Potential project using librados to provide a backend for the Dovecot mail system: http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/24092
  • 19. 19 ● librados: ● What uses it? What can you make with it? Ceph components and tools: RADOS gateway (rgw); “rados” command-line tool; rdb-mirror libradosstriper librdb ...among others… Potential project using librados to provide a backend for the Dovecot mail system: http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/24092 RadosFS: A Ceph RADOS API for Hadoop (“https://github.com/rootfs/RadosFs”) Zlog: a distributed shared log for Ceph (“https://github.com/noahdesu/zlog”) Apache and nginx modules Docker and Vagrant goodies ...many more examples on github.
  • 20. 20 ● librados: ● What uses it? What can you make with it? Ceph components and tools: RADOS gateway (rgw); “rados” command-line tool; rdb-mirror libradosstriper librdb ...among others… Potential project using librados to provide a backend for the Dovecot mail system: http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/24092 Librados is a powerful Ceph interface-- build anything you can imagine! :-)
  • 21. 21 ● librados: ● What does it do? Some major functional areas: Configuration: handle environment variables, config files, command-line options in a consistent way;
  • 22. 22 ● librados: ● What does it do? Some major functional areas: Configuration: handle environment variables, config files, command-line options in a consistent way; Connections: abstract away networking, connection management, some threading; Pools: manage namespaces, iterate over objects in them
  • 23. 23 ● librados: ● What does it do? Some major functional areas: Configuration: handle environment variables, config files, command-line options in a consistent way; Connections: abstract away networking, connection management, some threading; Pools: manage namespaces, iterate over objects in them I/O: Synchronous and Asynchronous read/write/update on objects
  • 24. 24 ● librados: ● What does it do? Some major functional areas: Configuration: handle environment variables, config files, command-line options in a consistent way; Connections: abstract away networking, connection management, some threading; Pools: manage namespaces, iterate over objects in them I/O: Synchronous and Asynchronous read/write/update on objects More: Extended attributes, omaps, client watch/notify events, osd commands, statistics, snapshots, ...all “baked in”.
  • 25. 25 ● librados: Resources: Ceph documentation (C, C++, Python, Java examples): http://docs.ceph.com/docs/master/rados/api/ Other Bindings (Erlang, Go, Haskell, PHP, Ruby-- many more (Common Lisp, anyone?)): https://github.com/renzhi/erlrados https://github.com/mrkvm/rados.go https://hackage.haskell.org/package/rados-haskell https://github.com/ceph/ceph-ruby https://github.com/ceph/phprados Source code: https://github.com/ceph/ceph/tree/master/src/include/rados A more in-depth presentation from Sage Weil: http://events.linuxfoundation.org/sites/events/files/slides/20150311%20vault15%20librados.pdf Further reading: Weil, Leung, et. al.. “RADOS: A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters”. Weil, Brandt, et. al.. “CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data”.