Ceph was started by Sage Weil while attending UC Santa Cruz. After graduation, he worked on it full-time along with other developers. As an elastic storage solution, it can scale up or scale out. Some of the design principles that guided its development are as follows: no single point of failure, data durability, self-managing, no service interruption during upgrades or expansion, and value consistency and correctness over performance. One of the primary benefits of Ceph is its support for object storage, block storage, and file system.
Ceph is described as a unified storage system that supports object, block, and distributed network file system workloads. The different components are RADOS, LIBRADOS, RGW, RBD, and CEPHFS. RADOS (Reliable Autonomic Distributed Object Storage) is the foundational storage layer as depicted below.
CEPH Unified Storage System
- Community-focused open source
- Runs on commodity hardware
- Works with SSD, HDD, SAS, and NVMe
- A single cluster can deliver block, file, and object workloads
- Data durability: replication or erasure coding
- No single point of failure
- Add or remove hardware, and upgrade without service interruption
- Asynchronous replication helps federate clusters across locations
- Strong consistency
- CAP Theorem: It’s CP not AP