Infrastructure tools
Calculators I use in the field
Two things I reach for constantly when sizing storage. Everything runs in your browser — nothing is sent anywhere.
Byte and bit converter
Type in any field — the others update instantly. Decimal (kB) and binary (KiB) side by side, which is exactly where most confusion lives.
Decimal — base 1000
Binary — base 1024
Why your 1 TB disk shows up as 931 GB
Manufacturers sell in decimal: 1 TB = 1,000,000,000,000 bytes. Operating systems usually count in binary: 1 TiB = 1,099,511,627,776 bytes. The disk did not shrink — the two sides are using different units. Windows makes it worse by labelling binary values as "GB" when they are really GiB.
Ceph sizing: replication vs erasure coding
Set your cluster and see how much usable space you get, how much you can lose, and when I/O stops.
Assistant
Say what matters most and I fill in the rest.
simultaneous failures
Optimize for
Cluster
The failure domain is what CRUSH treats as a single point of failure. With host, two copies of the same object never land on the same node — this is what protects you when a whole server goes down. With OSD, they can, so losing one node can take several chunks with it.
Protection
The three options for your cluster
Same hardware, three trade-offs. Click any row to apply it.
Efficiency and capacity are the same calculation: capacity = raw × efficiency. With your hardware fixed, whatever raises one raises the other. What actually changes between these options is what you give up — latency, or the guarantee that writes never stop.
Suggestion applied
Capacity
What you can lose
Configuration check
Performance notes
Best setup for performance
For virtualization and databases: replication size=3, failure domain host, at least 4 nodes, NVMe for the DB/WAL. For capacity and sequential throughput: erasure coding with k+m fitting your node count plus one spare, on separate 10/25GbE cluster and public networks.
Tips
- Failure domain host beats OSD. With OSD, CRUSH may place two chunks of the same object on the same server — losing that one node then takes both. Only use OSD on a single-node lab.
- Never run min_size=1. It lets Ceph write while holding a single copy; one more failure during recovery and the data is gone. Keep min_size at 2 or higher.
- Leave one spare domain. With exactly k+m nodes Ceph cannot rebuild until the failed hardware comes back. One extra node turns a weekend emergency into a Monday task.
- Erasure coding is not for small random writes. Every change touches k+m OSDs and recomputes parity. Great for backup, media and archives; painful for VM disks.
- Plan on 85%% fill, not 95%%. Ceph needs free space to rebalance after a failure. A cluster that is full has no way to heal itself.
- Bigger k is not free. k=10 stores more per disk but each read touches 10 OSDs and recovery reads the whole stripe. Between 4 and 8 is the sweet spot for most clusters.