Ceph
By the Ceph open-source community
Ceph is an open-source distributed storage platform that presents a single storage cluster as object, block, and file interfaces simultaneously. It spreads data across commodity servers using an algorithmic placement scheme rather than a…
Definition
Ceph is an open-source distributed storage platform that presents a single storage cluster as object, block, and file interfaces simultaneously. It spreads data across commodity servers using an algorithmic placement scheme rather than a central lookup table, so clients and storage nodes can calculate where any given piece of data lives without querying a metadata server for every request. Organizations run it to build self-healing, horizontally scalable storage underneath private clouds, Kubernetes clusters, and OpenStack deployments without buying a proprietary storage array.
Overview
Ceph grew out of research into storage systems that would not need a central bottleneck to track where data lives, and it addresses a problem that gets worse as clusters grow: traditional storage arrays scale vertically until a single controller becomes the ceiling on throughput and capacity. Ceph instead treats a cluster of ordinary servers and disks as one pool of capacity, replicating or erasure-coding data across nodes so that a single disk or server failure does not cause data loss and rebalancing happens automatically as nodes are added or removed. Mechanically, Ceph's core is RADOS, a distributed object store, and CRUSH, the placement algorithm that decides which storage nodes hold which copies of data based on a cluster map rather than a lookup index. Clients run the CRUSH calculation locally, so reads and writes go directly to the responsible nodes instead of passing through a gateway that would become a chokepoint. On top of RADOS, Ceph layers RBD for block devices, CephFS for a POSIX-compatible shared filesystem, and RGW for an S3- and Swift-compatible object gateway, all backed by the same underlying pool of data. Among distributed storage systems, Ceph sits closer to GlusterFS in ambition but takes a different architectural path: Gluster stitches together file exports without a central placement algorithm, while Ceph's CRUSH map gives it more consistent rebalancing behavior at large scale, at the cost of a steeper operational learning curve. Compared to a Kubernetes-native storage platform like Portworx, Ceph is infrastructure-agnostic and predates container orchestration, so it is often deployed underneath Kubernetes via an operator rather than being built for it from the ground up. In practice, teams deploy Ceph to back OpenStack block storage, provide persistent volumes for Kubernetes through the Ceph CSI driver, or run an S3-compatible object store for backups and data lakes without depending on a public cloud provider. It is common in on-premises and hybrid-cloud environments where an organization wants cloud-like elasticity for storage without the recurring egress and API costs of a hosted service, and where staff have the expertise to operate a distributed system. The trade-off is operational complexity: Ceph clusters need enough nodes and careful capacity planning to perform well, and a misconfigured or undersized cluster can suffer noticeable latency during rebalancing or recovery events. Small workloads, or teams without dedicated storage engineers, are usually better served by a managed cloud storage service or a simpler tool such as GlusterFS or a single-purpose backup utility. Ceph earns its complexity at the scale where a proprietary SAN would otherwise be the only option.
Key Features
- Unifies object, block, and file storage in a single cluster
- Uses the CRUSH algorithm for lookup-free data placement
- Self-heals by re-replicating data after node or disk failures
- Scales horizontally by adding commodity servers to the cluster
- Provides an S3- and Swift-compatible object gateway (RGW)
- Integrates with Kubernetes through a dedicated CSI driver
- Supports erasure coding to reduce storage overhead versus replication
- Runs on standard hardware without a proprietary storage array