Skip to content
Crimson, Ceph's own Seastar rewrite of the OSD with SeaStore, against croit FlashStore, a Rust rewrite with its own store

FlashStore Against Crimson: Two Rewrites Of The Same OSD

Crimson is Ceph’s own rewrite of the OSD, in C++ on the Seastar framework, with a new native store called SeaStore; FlashStore is croit’s rewrite, in Rust, with a store of its own. Both are in preview and both are aimed at NVMe and fast networks. This compares them as Ceph 21.2.0 Umbrella ships Crimson, from Ceph’s source and documentation and croit’s ceph-rust snapshot: where each comes from and under what licence, why Rust meets the Five Eyes memory-safety guidance and C++ does not, why Crimson needs its own pools and an experimental flag while FlashStore drops into existing pools, why Umbrella has no way to turn an existing pool into a Crimson pool so the data has to be copied, what each tells the monitor at boot, Seastar reactors against pinned polling cores, the fact that a default Crimson OSD still runs BlueStore, SeaStore’s onode, OMAP and LBA trees against FlashStore’s one tree per shard, the order each commits a write in, SeaStore’s segment cleaner, and what hardware and pools each will take.

11th November 2026 Â· 20 min Â· 4679 words Â· Damien Dye
Umbrella BlueStore, RocksDB on BlueFS on any drive, against croit FlashStore, a copy-on-write B+tree and WAL per core on NVMe with power-loss protection

FlashStore Against Umbrella BlueStore: What croit Changed Under The OSD

croit’s ceph-rust is a clean-room Rust rewrite of the Ceph OSD with its own object store, FlashStore, in public preview since 9th November 2026. This puts it side by side with BlueStore exactly as Ceph 21.2.0 Umbrella ships it, read from both projects’ source and documentation: what is in the repository and under which licences, where each store keeps its metadata, how a 4 KiB write and a write under 4 KiB reach the drive in each, Umbrella’s thread pools against FlashStore’s one thread per core, why FlashStore makes power-loss protection a hard requirement, what it will not run on, why it tells your monitors it is BlueStore, which BlueStore options it honours and which it ignores, and why the only way between the two is backfill.

11th November 2026 Â· 20 min Â· 4665 words Â· Damien Dye
A Proxmox VE node running Proxmox's own Ceph monitor and manager beside croit FlashStore OSDs on eight Optane drives

FlashStore OSD on Proxmox VE: What It Took on One Node

croit’s FlashStore OSD is a Rust replacement for ceph-osd and BlueStore, in public preview since 9th November 2026. This deploys it hyperconverged on a single Proxmox VE 9.2 node: Ceph Umbrella 21.2.0 from the PVE wizard for the monitor and manager, FlashStore OSDs on Intel Optane P4800X drives. It covers why Umbrella is the only Proxmox release that matches, formatting the drives to 4 KiB and the controller reset that aborts a format, what croit-flashstore-osd –check reports, why the shipped unit cannot read Proxmox’s ceph.conf and the drop-in that fixes it, the NVMe passthrough Proxmox’s kernel refuses and the direct backend that works, preparing OSDs by PCI address, what the PVE OSD panel makes of them, a pool, RBD storage and a Fisher-Price OS (Windows) VM installed onto it, CrystalDiskMark from inside that VM read against the drives’ own counters, Ceph’s memory with all eight OSDs active, three VMs at once on a 1 GiB memory target, and a setup script that does all of it, tested by rebuilding an OSD from nothing.

11th November 2026 Â· 35 min Â· 7720 words Â· Damien Dye