Hi,
I have a rook-provisioned cluster to be used for RBDs only. I have 2 pools
named replicated-metadata-pool and ec-data-pool. EC parameters are 6+3.
I've been writing some data to this cluster for some time and noticed that
the reported usage is not what I was expecting.
# ceph df
RAW STORAGE:
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 5.4 PiB 4.3 PiB 1.2 PiB 1.2 PiB 21.77
TOTAL 5.4 PiB 4.3 PiB 1.2 PiB 1.2 PiB 21.77
POOLS:
POOL ID STORED OBJECTS USED
%USED MAX AVAIL
replicated-metadata-pool 1 90 KiB 408 38 MiB
0 1.2 PiB
ec-data-pool 2 722 TiB 191.64M 1.2 PiB
25.04 2.4 PiB
Since these numbers are rounded a bit too much, I generally use prometheus
metrics on mgr, which are as follows:
ceph_pool_stored : 793,746 G for ec-data-pool and 92323 for
replicated-metadata-pool
ceph_pool_stored_raw: 1,190,865 G for ec-data-pool and 99213 for
replicated-metadata-pool
ceph_cluster_total_used_bytes: 1,329,374 G
ceph_cluster_total_used_raw_bytes: 1,333,013 G
sum(ceph_bluefs_db_used_bytes) : 3,638 G
So ceph_pool_stored for the EC pool is a bit higher than the total used
space of the formatted RBDs. I think that's because of the sparse nature
and deleted blocks not being fstrimmed yet. That's OK.
ceph_pool_stored_raw is almost exactly 1.5x ceph_pool_stored which is what
I'd expect considering EC parameters of 6+3.
What I can't find is the 138,509 G difference between the
ceph_cluster_total_used_bytes and ceph_pool_stored_raw. This is not static
BTW, checking the same data historically shows we have about 1.12x of what
we expect. This seems to make our 1.5x EC overhead a 1.68x overhead in
reality. Anyone have any ideas for why this is the case?
We also have a ceph_cluster_total_used_raw_bytes metric, I believe to be
close to data+metadata. Which is why I tried to show with
sum(ceph_bluefs_db_used_bytes). Is that correct?
Best,
--
erdem agaoglu