github.com/ceph/ceph ↗
Ceph is a distributed object, block, and file storage platform
Open this visualization on its own page →
Contributors
1681
Lines of Code
294,624
From
2001-04-29
To
2022-05-25
About ceph/ceph
Ceph is a large-scale distributed storage system designed to provide unified object, block, and file storage across clustered infrastructure. It addresses the need for highly scalable, fault-tolerant storage by distributing data and metadata across multiple nodes using techniques like erasure coding and replication. The project supports multiple access protocols including S3-compatible object storage, block storage via iSCSI and NVMe-over-Fabrics, file system access through POSIX and NFS interfaces, and SMB connectivity, making it suitable for cloud deployments, Kubernetes environments, and traditional data centers.
The codebase is primarily written in C++ and encompasses several major components: RADOS (Reliable Autonomic Distributed Object Store) for object storage, RBD (RADOS Block Device) for block-level access, CephFS for distributed file systems, and RGW (RADOS Gateway) for S3-compatible object storage. The project includes extensive tooling for cluster management, performance monitoring, and debugging. It uses CMake and Ninja for builds and provides containerized build environments for cross-platform development. The dual-licensing under LGPL with some GPL and BSD-licensed code allows wide adoption in both open-source and commercial contexts.
Ceph targets operators and developers managing petabyte-scale storage infrastructure who need reliability, performance tuning capabilities, and flexibility across multiple storage access patterns. The project includes comprehensive documentation, extensive testing infrastructure, and active contribution guidelines. It has been widely adopted by cloud providers, research institutions, and enterprises seeking software-defined storage solutions that can adapt to various hardware configurations and workload requirements.