# Ceph

This section focuses on [Ceph](https://ceph.io/en/)

Install on local via [microceph](https://github.com/canonical/microceph)

### Paper

[Ceph: A Scalable, High-Performance Distributed File System](https://ceph.io/assets/pdfs/weil-ceph-osdi06.pdf)

### Terms

* RADOS:
* OSD (object storage devices): Combine a CPU, network interface, and local cache with an underlying disk or RAID
  * OSDs replace the traditional block-level interface with one in which clients can read or write byte ranges to much larger (and often variably sized) named objects, distributing low-level block allocation decisions to the devices themselves
  * Clients typically interact with a metadata server (MDS) to perform metadata operations (open, rename), while communicating directly with OSDs to perform file I/O (reads and writes), significantly improving overall scalability

### System Overview

Three main components:

* client - exposes "near-POSIX" file system interface to a host or process
* cluster of OSDs, which collectively stores all data and metadata
* metadata server cluster - manages the namespace (file names and directories) while coordinating security, consistency and coherence

Goals: Scalability, performance, and reliability
