Ceph logo

Ceph

Scalable distributed storage system for modern infrastructure

Ceph delivers unified object, block, and file storage on commodity hardware. Designed for petabyte-scale deployments with self-healing and no single point of failure.

Ceph banner

Overview

Overview

Ceph is a production-grade distributed storage platform that unifies object, block, and file storage into a single system. Built to run on commodity hardware, it scales from terabytes to exabytes while maintaining high availability through intelligent data replication and self-healing capabilities.

Who It's For

Ceph serves infrastructure teams, cloud providers, and enterprises requiring resilient storage at scale. Organizations running OpenStack, Kubernetes, or virtualization platforms rely on Ceph for persistent volumes, VM images, and S3-compatible object storage.

Architecture & Deployment

The platform eliminates single points of failure through its CRUSH algorithm, which distributes data across clusters without centralized metadata servers. Ceph's modular architecture includes RADOS (object store), RBD (block devices), CephFS (POSIX filesystem), and RADOS Gateway (S3/Swift API). Dual-licensed under LGPL 2.1/3.0, Ceph supports both development builds for testing and optimized production packages. Deployment options range from small test clusters using vstart to multi-datacenter installations managed via cephadm or orchestration tools.

Highlights

Unified storage: object, block, and file interfaces in one platform
Self-healing architecture with automatic data rebalancing and recovery
No single point of failure through distributed CRUSH placement algorithm
S3/Swift-compatible RADOS Gateway for cloud-native applications

Pros

  • Scales horizontally from terabytes to exabytes on commodity hardware
  • Active open-source community with enterprise support options available
  • Proven in production across cloud providers and Fortune 500 companies
  • Flexible deployment supporting bare metal, VMs, and containers

Considerations

  • Steep learning curve for operators new to distributed storage
  • Requires minimum 3-node cluster for production reliability
  • Debug builds run at ~20% performance compared to optimized builds
  • Complex troubleshooting when cluster health degrades

Managed products teams compare with

When teams consider Ceph, these hosted platforms usually appear on the same shortlist.

Amazon S3 logo

Amazon S3

Scalable object storage service for unlimited data storage and retrieval with high durability and availability

Azure Blob Storage logo

Azure Blob Storage

Massively scalable cloud object storage service for unstructured data (images, videos, backups) with high durability

Dropbox logo

Dropbox

Cloud file storage and sync for teams and individuals

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Cloud providers needing multi-tenant object and block storage
  • Kubernetes clusters requiring dynamic persistent volume provisioning
  • OpenStack deployments managing VM images and ephemeral storage
  • Organizations consolidating disparate storage silos into unified infrastructure

Not ideal when

  • Single-server deployments or environments with fewer than 3 nodes
  • Latency-sensitive applications requiring sub-millisecond response times
  • Teams without Linux systems administration and networking expertise
  • Workloads that fit comfortably within traditional NAS capacity limits

How teams use it

Kubernetes Persistent Storage

Dynamically provision RBD block volumes for stateful workloads with snapshot and clone capabilities

S3-Compatible Object Store

Replace proprietary cloud storage with on-premises RADOS Gateway supporting standard S3 APIs

OpenStack Block Storage

Serve Cinder volumes and Glance images with copy-on-write cloning for rapid VM provisioning

Shared Filesystem for HPC

Deploy CephFS for parallel workloads requiring POSIX semantics across compute clusters

Tech snapshot

C++63%
Python16%
TypeScript4%
Raku4%
C4%
Shell3%

Tags

high-performancenfshighly-availablestoragekubernetesreplicationsmbsoftware-defined-storagehdfsblock-storageobject-storenvme-over-fabricserasure-codings3iscsidistributed-file-systemdistributed-storageposixfusecloud-storage

Frequently asked questions

What hardware requirements does Ceph have?

Ceph runs on commodity x86_64 servers. Production clusters need at least 3 nodes for quorum. Each OSD daemon benefits from dedicated disks (HDDs or SSDs), and monitors require low-latency storage. RAM requirements scale with OSD count, typically 2-4 GB per OSD daemon.

How does Ceph compare to traditional SAN/NAS?

Unlike centralized storage arrays, Ceph distributes data across cluster nodes with no single controller bottleneck. It scales capacity and performance by adding nodes, whereas traditional systems require forklift upgrades. Ceph trades operational complexity for horizontal scalability.

What license does Ceph use?

Most Ceph code is dual-licensed under LGPL 2.1 or 3.0. Some components use BSD-style licenses or are public domain. Documentation is CC-BY-SA-3.0. Check the COPYING file for per-file licensing details.

Can I run Ceph in containers or Kubernetes?

Yes. Rook is the recommended operator for running Ceph on Kubernetes, automating deployment and lifecycle management. Ceph also supports containerized deployments via cephadm using Podman or Docker.

What build type should I use for production?

Use RelWithDebInfo builds for production. Debug builds include extensive assertions and run at approximately 20% the performance of optimized builds. The do_cmake.sh script defaults to Debug when .git exists, so explicitly set CMAKE_BUILD_TYPE for production packages.

Project at a glance

Active
Stars
16,125
Watchers
16,125
Forks
6,262
Repo age14 years old
Last commit4 hours ago
Primary languageC++

Last synced 2 hours ago