全局容量这里说的比较清楚:https://www.cnblogs.com/goldd/p/6610618.html
这里说说pools级别容量计算,如下图:
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-17 0 root epp
-18 0 rack epp_rack4
-16 0 root empty
-15 0 root other
-1 1.09354 root default
-2 0.15622 rack rack1
-3 0.15622 host orcadt196
0 hdd 0.07811 osd.0 up 1.00000 1.00000
2 hdd 0.07811 osd.2 up 1.00000 1.00000
-4 0.31244 rack rack2
-5 0.31244 host orcadt186
1 hdd 0.07811 osd.1 up 1.00000 1.00000
3 hdd 0.07811 osd.3 up 1.00000 1.00000
12 hdd 0.07811 osd.12 up 1.00000 1.00000
13 hdd 0.07811 osd.13 up 1.00000 1.00000
-6 0.15622 rack rack3
-7 0.15622 host orcadt213
4 hdd 0.07811 osd.4 up 1.00000 1.00000
5 hdd 0.07811 osd.5 up 1.00000 1.00000
-25 0.46866 rack rack4
-23 0.46866 host orcadt143
6 hdd 0.07811 osd.6 up 1.00000 1.00000
7 hdd 0.07811 osd.7 up 1.00000 1.00000
8 hdd 0.07811 osd.8 up 1.00000 1.00000
9 hdd 0.07811 osd.9 up 1.00000 1.00000
10 hdd 0.07811 osd.10 up 1.00000 1.00000
11 hdd 0.07811 osd.11 up 1.00000 1.00000
ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
979G 326G 653G 66.68
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
defpool 1 66416M 57.66 45996M 16615
rbd 21 2806 0 45996M 1
pool 23 84532M 63.66 45996M 21138
data 36 171G 78.12 45996M 43927
看下全局容量AVAIL是325 pools为啥是60G左右 ,是这样计算的,ceph分布式存储计算有效空间是通过权重计算,比如POOLS级别容量MAX AVAIL=最小权重故障域(这里是机架rack1的权重0.156)/故障域总权重(这里是default总权重1.09)*总的全局有效空间325G
计算得到MAX AVAIL=0.156/1.09*325=45G左右 再保留5%的空余空间 即45/95% = 46G左右和实际相符合,
具体可写数据还需要最大空闲除以副本数得到实际可存储数据
还有POOLS级别容量中USED是实际占用数据大小, %USED是根据osd使用率来上报的 计算如上