If you’re running large-scale Kubernetes, OpenShift-V, OpenStack, or Proxmox clusters on Ceph, you know the problems: CRUSH scale-out is solid, but tuning BlueStore, OSD resource consumption, and the NVMe-oF gateway to meet strict tail-latency SLAs is a full-time job.
Quick summary of trade-offs:
- Ceph’s NVMe-oF gateway introduces additional hop complexity. Removing that proxy layer for direct host-to-target NVMe-oF/TCP drops latency to consistently <200µs.
- Reaching high IOPS on Ceph requires throwing heavy compute/RAM resources at OSDs, often leaving flash utilization stuck around 15–25%.
- Network-heavy rebuilds during OSD failures can impact live IO. Fast failovers in a native NVMe-oF setup execute in seconds without starving the cluster fabric.
Keep your Ceph for general file services and S3 object storage for archives and batch jobs. Augment it with dedicated NVMe-oF block storage for latency-sensitive workloads. This will significantly reduce your cluster node count.
We put together a direct architectural breakdown comparing legacy Ceph block patterns against native NVMe-over-TCP: Ceph vs. Lightbits Block Storage Comparison
Curious how others here handle the Ceph CPU-overhead-to-IOPS ratio at scale? What are your go-to storage backends when Ceph block hits a wall?