Skip to content
Rackone

TOOLS · CEPH

Ceph calculator

Estimate how much data you can store in a Ceph cluster with 3 to 128 nodes so that, after the failures you want to survive and the recovery, no OSD goes above the nearfull threshold. It also sizes block.db, RAM and network and estimates recovery time, with formulas and sources shown in full.

A systems engineer slides a drive back into the middle of three storage servers, next to a laptop showing cluster usage

Calculate your cluster

It starts from 3 nodes with four 3.84 TB NVMe drives each in 3-way replication: 13.97 TiB in theory, but to allow for the loss of one drive you can store 8.28 TiB, with 5% imbalance between OSDs and block.db on the same drives at 2%. With three nodes, the copies lost with a whole node cannot be rebuilt. Change the inputs to match your cluster.

Releases
Ceph Squid 19.2 and Tentacle 20.2

Calculate your cluster

Nodes
Group A
Data protection
NVMe drives
Failures and network
Thresholds, imbalance and existing data

Recommended capacity 8.28 TiB. Scenario: no failure. Data: Guaranteed. Warnings: 0.

Recommended logical capacity, NVMe drives, model estimate

8.28 TiB

Allows for the loss of one OSD: after recovery the OSDs stay below nearfull (85%). Worst failure: one OSD on node 1.

Assumptions: data spread in proportion to capacity, one copy or chunk per domain, 5% imbalance between OSDs, block.db on the OSD drive at 2%.

Rebuild limit
8.78 TiB
Above this value, backfill after the failure stops at the backfillfull threshold and the rebuild does not complete.
Write limit
9.28 TiB
Above this value Ceph blocks writes (full threshold).
Theoretical
13.97 TiB
Raw divided by the number of copies, or by (k+m)/k with erasure coding.
Raw
41.91 TiB
3 domains, 3 nodes.

No failures

No failure Full redundancy Pick a node or an OSD on the map to simulate a failure.

Recovery, estimate

cannot be estimated

Pick a failure to estimate the recovery.

Where the raw space goes of 41.91 TiB raw
Data you store
8.28 TiB, 19.8%
Copies and parity
16.56 TiB, 39.5%
Failure reserve
8.28 TiB, 19.8%
Headroom before nearfull
7.94 TiB, 19.0%
block.db on the same drive
0.84 TiB, 2.0%

Cluster map

3 nodes, before the failure

Press ‘Simulate failure’ on one or more nodes, or the number of an OSD to fail only that drive: outcomes, recovery and fill levels update.

Node 1 64%
OSDs

Node 2 64%
OSDs

Node 3 64%
OSDs

nearfull fill level of the fullest OSD above nearfull failed

With a single data pool on NVMe and a target of 100 PGs per OSD, you need 512 PGs; each OSD holds 128 PG instances on average and 128 at most, against a limit of 250. Calculate the PGs for every pool

Want a second opinion on this cluster? A summary of the calculation goes into your message: a Rackone systems engineer reviews it with you and proposes hardware and configuration.

Ask for a cluster design
On this page
  1. How much usable space Ceph gives with 3-way replication
  2. Replication or erasure coding
  3. What happens when a node fails
  4. How big block.db and WAL should be
  5. SSD and NVMe: what actually speeds things up
  6. RAM, CPU and network per node
  7. How long recovery takes
  8. How we calculate: formulas and sources

Designing a Proxmox cluster with Ceph?

We design clusters from 3 nodes upwards: drives, network, block.db and protection sized for your workload, with failure testing before production.

Ceph calculator FAQ

How much usable space does Ceph give with 3-way replication?

With 3-way replication the theoretical capacity is a third of the raw capacity, but to survive a failure while staying below the 85% nearfull threshold you can store less. Three nodes with 4 x 3.84 TB, allowing for the loss of one OSD, give about 8.9 TiB out of 41.9 TiB raw; five nodes with 6 x 7.68 TB, allowing for the loss of one node, about 47.5 TiB out of 209.5 TiB. Both values assume no imbalance between OSDs and block.db on a dedicated device.

How many nodes does Ceph need on Proxmox?

For Ceph on Proxmox VE the practical minimum is 3 nodes, and the Proxmox documentation recommends at least 12 OSDs spread across them. With 3 nodes and 3-way replication, though, after losing a node the third copy is not rebuilt until the node comes back: to get back to three copies on the remaining nodes you need at least 4 nodes.

What does min_size 2 do, and why not min_size 1?

In Ceph min_size is the minimum number of copies with which a placement group still accepts reads and writes. With size 3, min_size 2 and a host failure domain, the cluster keeps working after losing a node, once peering completes. With min_size 1 it accepts writes on a single copy, and the Ceph documentation warns that in production this risks data loss.

Erasure coding or replication: when is EC worth it?

Erasure coding pays off for large, rarely modified data such as backups, archives and object storage: an EC 4+2 pool takes 1.5 times the data instead of 3. It costs CPU and latency, and it needs at least k+m domains, better k+m+1: at least 6 nodes for a 4+2, 7 to rebuild after a failure. VM disks usually stay on 3-way replication.

How big should block.db be for an HDD OSD?

For an OSD on HDD the Ceph Squid and Tentacle documentation suggests a block.db of 1 to 2% of the OSD size for RBD and at least 4% for RGW; the development docs say at least 2.5%. On a 16 TB drive that is 160-320 GB for RBD: the calculator recommends 2%, or 320 GB, and you can add a margin.

Do I need a separate WAL in Ceph?

Usually not: in Ceph the WAL sits on the block.db device and is part of its space. Separating it only makes sense on a device faster than the DB one, and a few GiB per OSD are enough: the calculator counts 2.

How much RAM does a Ceph OSD need?

Ceph has an osd_memory_target of 4 GiB per OSD and the process can go over it, so it makes sense to start from about 4.8 GiB; the Proxmox VE documentation suggests 8 GiB per OSD. MON, MGR, the OS and the VMs come on top: with 12 OSDs per node that is 57.6 or 96 GiB for the OSDs alone.

What network does Ceph need, 10 or 25 Gb/s?

Ceph needs at least 10 Gb/s of dedicated network; with NVMe drives Proxmox VE recommends at least 25 Gb/s, and very fast drives may need 40 or 100 Gb/s. In a recovery the network is often the bottleneck: six NVMe drives in a node read more data than a 25 Gb/s network can carry.

What are nearfull, backfillfull and full in Ceph?

They are the three Ceph OSD fill thresholds, 85%, 90% and 95% by default. At nearfull Ceph warns; at backfillfull it refuses backfill to that OSD, so rebuilding data onto it stops; at full it blocks writes. The calculator sizes on nearfull after the failure.

Can I still use Ceph cache tiering?

It still works, but it has been deprecated since Ceph Reef: it has long had no maintainer and may be removed without much notice, so it is better not to use it in a new cluster. To speed up an HDD cluster, put block.db and WAL on NVMe or split the pools by device class.

What happens if I lose a node in a 3-node Ceph cluster?

In a 3-node Ceph cluster with 3-way replication the data keeps two copies and I/O continues with min_size 2, but the third copy is not rebuilt until the node comes back: there is no fourth node to put it on. If a second node fails in that window, a single copy is left and, with min_size 2, I/O stops.

Do I need Ceph for a Proxmox cluster, or is ZFS replication enough?

Ceph is not mandatory for a Proxmox cluster. ZFS replication copies VM disks between nodes at intervals, every 15 minutes by default, so if a node fails and you restart its VMs from the replica, you lose the changes made since the last replication; Ceph writes every piece of data to several nodes synchronously. Ceph needs at least 3 nodes, a fast network and more drives: for 2 or 3 nodes with a few VMs, ZFS replication can be enough.

Is Ceph deprecated?

No: Ceph is actively developed, and Proxmox VE 9.2 installs the Tentacle 20.2 release by default. What is deprecated is cache tiering, a Ceph feature, not Ceph itself.

  • 700+ active customers
  • 24h support, every day
  • GDPR data kept in Italy

We design your Ceph cluster

We size drives, network, block.db and protection for your workload and, before production, test how the cluster reacts to failures.

Talk to a systems engineer

+39 0421 1885889 · sales@rackone.it

Let's talk about your project

Leave us your details: a systems engineer gets back to you, not a salesperson.

Privacy policy

No spam. If you are already a customer and need support, open a ticket: the link is in the contact details.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Office hours
Monday to Friday, 9:00-18:00 (Italian time) · 24h support for customers

Emergency support, 24h

Cluster down or attack in progress: call now

+39 0421 1880420
Call Talk to an expert