Crimson Project
Crimson is Ceph's next-generation Object Storage Daemon (OSD), rebuilt from the ground up for fast storage devices, notably NVMe SSDs. By exploiting the random I/O capability and throughput of modern hardware, Crimson aims to deliver exceptional speed and efficiency.
Crimson shipped its first technology preview in the Squid release, and the Tentacle release added SeaStore, Crimson's purpose-built object store, as a technology preview. Both are available today for testing and feedback; they are not yet intended for production.
Read the Crimson guide
Built for modern hardware
Crimson is built with SPDK, DPDK, and the C++ Seastar framework, and is designed as a drop-in replacement for the classic OSD: it speaks the RADOS protocol, integrates into existing Ceph clusters, and supports most existing OSD commands.
Kernel bypass
Direct communication with networking and storage devices that support polling, eliminating the overhead of kernel involvement on the I/O path.
Shared-nothing architecture
One thread per core with no cross-core locking: work stays on the CPU core that owns it, minimizing lock contention and context switches.
Computational efficiency
Load balanced across multi-core systems so that each core handles the same volume of I/O with less CPU, scaling with the hardware instead of against it.
Project status
Crimson OSD
Crimson is under active development and not yet at feature parity with the classic OSD.
Currently supports:
- RADOS operations, including snapshot support
- Log-based recovery and backfill
- RBD workloads on replicated pools
- BlueStore, SeaStore, and CyanStore (memory-based) object store backends
- Deployment via cephadm
- Initial scrub support
- Multi-core messenger, OSD, and object store architecture
Work in progress:
- Erasure-coded pools
- Auto-scaling placement groups (splits and merges)
- Object Gateway (RGW) workloads
- mClock OSD scheduler
- Background scrub scheduling
- Making SeaStore the default object store
SeaStore
SeaStore is Crimson's native object store, developed with the Seastar framework on the same design principles. The storage backend is the major CPU consumer in an OSD, so Crimson can only truly scale with cores if its backend does too. BlueStore remains available within Crimson, and may be retained for HDDs if SeaStore proves unsuited to them.
Currently supports:
- Most ObjectStore transactional interfaces, including read, write, and clone
- Most necessary background cleaning tasks
- Segmented backend optimized for sequential writes
- Random-block backend optimized for random writes
- ZNS devices and device tiering
- Multi-core architecture
- Profiling through metrics, admin socket commands, and logs
Work in progress:
- B+ tree performance optimizations (onode, omap, LBA)
- Reduced write amplification and better internal scheduling
- More efficient device tiering and disk rebalancing between shards
- Block-based read checksums
- Compression and hardware offloading
Testing and CI
The crimson-rados suite gates pull request merges to prevent regressions and runs twice a week, including CBT-driven performance tests.
Ongoing work adds performance review to CI so regressions are caught automatically, with regular comparisons between the classic OSD and Crimson. See recent runs on Pulpito, and browse open issues on the Crimson tracker.
Follow the project
Documentation
The Crimson guide covers current capabilities, deployment with cephadm, and how to bring up a Crimson OSD with each backend.
Crimson guideProject board
Development is planned in the open on the Crimson GitHub project board, with issues tracked on the Crimson section of tracker.ceph.com.
Crimson project boardCommunity
Discuss Crimson in the
Virtual meetings#crimsonchannel on the Ceph Slack, and join the weekly Crimson and SeaStore call listed with the community's virtual meetings.
Blog posts
Talks
- Cephalocon 2024: Crimson Squid project update
- Cephalocon 2023: Crimson Reef project update
- From Classical to the Future
- Understanding SeaStore through profiling
- Ceph Virtual 2022: what's new with Crimson and SeaStore?
- Ceph Month 2021: Crimson update
- Rebuilding a Faster OSD with Future
- Vault '20: Crimson, a new Ceph OSD for the age of persistent memory and fast NVMe storage
- A glimpse of the new Ceph messenger built on Seastar
- Error handling in a futurized environment
- Rebuilding the Ceph distributed storage solution with Seastar