How to calculate the usable capacity of a Ceph cluster?
Ceph’s usable storage space is influenced by raw disk capacity, data protection methods like replication or erasure coding, and system overhead. Thin provisioning, quotas, and reserved recovery space help optimize usage and ensure fault tolerance.
Ceph usable space is determined by the following factors
1. The maximum raw capacity of a Ceph cluster constructed by multiple servers is the summation of the disk space
in each server.
If the cluster includes various types of storage devices, such as HDDs, SSDs, or NVMe
drives, you should calculate the total raw disk space for each device type separately. Ceph is capable of
recognizing the designated device class used by each pool.
2. The data protection applied for each Ceph pool determines the usable space.
- Replicated protection: usable space = raw capacity / replica size
- Erasure Code data protection: usable space = raw capacity x (K/(K+M))
3. Ceph has some overhead for metadat and system operations. The overhead space used is around 10 to 20% depending on your specific configuration and usage.
All the disk drive spaces are shared by all replicated and erasure code pools.
- Pools can set or not set quotas. All quotas are thing provisioning
- Because Ceph's available space is thin provisioning; storage space is allocated only when needed, rather than allocating all required space in advance. This can improve storage utilization and reduce storage costs.
- It is recommended to reserve 1/n space during operation as data recovery space in case of hardware failure, where n is the number of servers.
- The system has preset usage warnings of 85% near full and 95% full.