Ceph
Work through every question currently mapped to this canonical topic.
- Explain what is Ceph
Answer
Ceph is an Open-Source Distributed Storage System designed to provide excellent performance, reliability, and scalability. It's often used in cloud computing environments and Data Centers.
- True or False? Ceph favor consistency and correctness over performances
Answer
True
- Which services or types of storage Ceph supports?
Answer
- Object (RGW)
- Block (RBD)
- File (CephFS)
- What is RADOS?
Answer
- Reliable Autonomic Distributed Object Storage
- Provides low-level data object storage service
- Strong Consistency
- Simplifies design and implementation of higher layers (block, file, object)
- Describe RADOS software components
Answer
- Monitor
- Central authority for authentication, data placement, policy
- Coordination point for all other cluster components
- Protect critical cluster state with Paxos
- Manager
- Aggregates real-time metrics (throughput, disk usage, etc.)
- Host for pluggable management functions
- 1 active, 1+ standby per cluster
- OSD (Object Storage Daemon)
- Stores data on an HDD or SSD
- Services client IO requests
- Monitor
- What is the workflow of retrieving data from Ceph?
Answer
The work flow is as follows:
- The client sends a request to the ceph cluster to retrieve data:
Client could be any of the following
- Ceph Block Device
- Ceph Object Gateway
- Any third party ceph client
- The client retrieves the latest cluster map from the Ceph Monitor
- The client uses the CRUSH algorithm to map the object to a placement group. The placement group is then assigned to a OSD.
- Once the placement group and the OSD Daemon are determined, the client can retrieve the data from the appropriate OSD
- What is the workflow of writing data to Ceph?
Answer
The work flow is as follows:
- The client sends a request to the ceph cluster to retrieve data
- The client retrieves the latest cluster map from the Ceph Monitor
- The client uses the CRUSH algorithm to map the object to a placement group. The placement group is then assigned to a Ceph OSD Daemon dynamically.
- The client sends the data to the primary OSD of the determined placement group. If the data is stored in an erasure-coded pool, the primary OSD is responsible for encoding the object into data chunks and coding chunks, and distributing them to the other OSDs.
- What are "Placement Groups"?
🚧 Answer not written yet.
- Describe in the detail the following: Objects -> Pool -> Placement Groups -> OSDs
🚧 Answer not written yet.
- What is OMAP?
🚧 Answer not written yet.
- What is a metadata server? How it works?
🚧 Answer not written yet.