Ceph in Production: RBD, RGW and CephFS
A field guide to Ceph in production: which surface serves which workload, what failure domains cost in replicas, how the upgrade lifecycle really rolls back, and what key rotation does not do.
A field guide to Ceph in production: which surface serves which workload, what failure domains cost in replicas, how the upgrade lifecycle really rolls back, and what key rotation does not do.
A production guide to running object storage at scale: why object count is a capacity axis, how prefix design and the background scanner set your real SLAs, and how to choose engines, media and release channels.
The 405 storm had three root defects in the delete-marker path. PR #162 fixed the first attempt; PR #184 fixes retries, purge status and MRF healing in the Silo fork.
MinIO Community Edition has had no release since October 2025 and the repository is archived. Three CVEs will never be patched there. Here is how to assess what your cluster is actually exposed to, and where the maintained community fork fits in.
HEAD probes on delete markers answer 405 and replication counts that as success. 20M stuck versions turned the loop into 684M useless requests in 48 h.
During a MinIO replication incident three of the signals you reach for mislead you. The 405 on HeadObject is the success path, a retried 429 is invisible, and worker queue overflow logs nothing under the default priority. The counter that tracks dropped objects is incremented in four places and read in none.
Ceph 20.2.4 and 19.2.6 patch four authentication and authorization CVEs. The remediation also needs CephX key rotation, client checks, and RGW multisite planning.
Switching tile formats on a LiDAR ingestion pipeline cut output object count by roughly 25x at the same data volume, independent of compression. Here is why object count is its own cost and performance axis on object storage, and what to check before you scale a pipeline that writes many small files.
MinIO site replication has no cross-site quorum, and its replication queue exists only inside the source cluster: lose that site and the un-replicated backlog is gone and un-enumerable. Sync mode costs latency without fixing that. The precise model, the RTO/RPO table, and the DR patterns that match real SLAs.
MinIO has no NameNode. It puts the namespace on XFS as real directories and xl.meta files. On Lots of Small Files that means you can exhaust inodes while df -h still looks fine, and a flat leaf can stall PUT, LIST, scanner, and ILM together. Here is the on-disk model, the inode math, and a prefix recipe that keeps XFS inside a regime you can operate.