Ceph is an open source, distributed data storage platform created for highly scalable unified storage. Ceph is a software defined system that is capable of supporting block, file, and object storage, while running on commodity hardware.
Ceph supports S3 and Swift REST-based APIs for object storage along with NFS for files and iSCSI via a gateway for block access to form a unified storage system.
A Ceph storage cluster is based upon RADOS, which stands for Reliable Autonomic Distributed Object Store. Ceph storage clusters are made up of Ceph Monitors and Ceph OSD Daemons. Ceph Monitors are used to keep a copy of the cluster map, while Ceph OSD Deamons are used to check the status of OSDs (Object Storage Devices), and return this status back to the monitors.
Running on top of the RADOS layer is LIBRADOS which consists of libraries capable of interacting with the objects in RADOS. LIBRADOS enables the use of RADOS gateway for object data, RBD (RADOS Block Device) for block support, and CephFS file system for file support.
At the core of Ceph is an algorithm, developed from UC Santa Cruz, called CRUSH (Controlled Replication Under Secure Hashing) which is used to manage the distribution of data amongst clusters. Objects in Ceph are grouped into placement groups, which are replicated across OSDs. Placement groups are organized into pools where the data can be interacted with. The CRUSH algorithm is used to map placement groups to OSDs while ensuring that they are not replicated to the same disk, rack, or host.
Ceph creates a system with no single points of failure by implementing N + M forward erasure coding to provide redundancy.
Product Brief Includes: