As the size and performance requirements of storage systems have increased, file system designers have looked to new architectures to facilitate system scalability. Ceph is a fully open source distributed object store, network block device, and file system designed for reliability, performance, and scalability from terabytes to exabytes.
Ceph's architecture consists of two main components: an object storage layer, and a distributed file system that is constructed on top of this object store. The object store provides a generic, scalable storage platform with support for snapshots and distributed computation. This storage backend is used to provide a simple network block device (RBD) with thin provisioning and snapshots, or an S3 or Swift compatible RESTful object storage interface. It also forms the basis for a distributed file system, managed by a distributed metadata server cluster, which similarly provides advanced features like per-directory granularity snapshots, and a recursive accounting feature that provides a convenient view of how much data is stored beneath any directory in the system.
This talk will describe the Ceph architecture and then focus on the current status and future of the project. This will include a discussion of Ceph's relationship with btrfs, the file system and RBD clients in the Linux kernel, RBD support for virtual block devices in Qemu/KVM and libvirt, and current engineering challenges.
Sage Weil designed Ceph as part of his PhD research in Storage Systems at the University of California, Santa Cruz. Since graduating, he has continued to refine the system with the goal of providing a stable next generation distributed file system for Linux.