1. 客户环境
节点数量:4个存储节点
OSD数量:每个节点10块8GB磁盘,总共 40 块OSD
Ceph 版本: Storage 6
使用类型: CephFS 文件
CephFS数据池: EC, 2+1
元数据池: 3 replication
客户端:sles12sp3
2. 问题描述
客户询问为什么突然少了那么存储容量?
1) 客户在存储数据前挂载cephfs,磁盘容量显示185T
# df -Th 10.109.205.61,10.109.205.62,10.109.205.63:/ 185T 50G 184T 1% /SES
2) 但在客户存储数据后,发现挂载的存储容量少了8T,只有177T
# df -Th 10.109.205.61,10.109.205.62,10.109.205.63:/ 177T 50G 184T 1% /SES
3. 问题分析
从客户获取 “ceph df ”信息进行比较
(1)这是客户未存储数据前信息
# ceph df RAW STORAGE: CLASS SIZE AVAIL USED RAW USED %RAW USED hdd 297 TiB 291 TiB 5.9 TiB 5.9 TiB 1.99 TOTAL 297 TiB 291 TiB 5.9 TiB 5.9 TiB 1.99 POOLS: POOL ID STORED OBJECTS USED %USED MAX AVAIL cephfs_data 1 0 B 0 0 B 0 184 TiB cephfs_metadata 2 6.7 KiB 60 3.8 MiB 0 92 TiB
(2)客户存储数据后信息输出
# ceph df RAW STORAGE: CLASS SIZE AVAIL USED RAW USED %RAW USED hdd 297 TiB 239 TiB 57 TiB 58 TiB 19.37 TOTAL 297 TiB 239 TiB 57 TiB 58 TiB 19.37 POOLS: POOL ID STORED OBJECTS USED %USED MAX AVAIL cephfs_data 1 34 TiB 9.75M 51 TiB 19.40 142 TiB cephfs_metadata 2 1.0 GiB 9.23K 2.9 GiB 0 71 TiB
我们发现客户端挂载显示的存储容量 MAX AVAIL + STORED
(1)存储数据前:185TB = 184 + 0
(2)存储数据后:177TB = 142 + 34 = 176
从中可以发现,少掉7 TB数据量是由 MAX AVAIL引起,从知识库发现 MAX AVAIL 计算公式如下:
[min(osd.avail for osd in OSD_up) - ( min(osd.avail for osd in OSD_up).total_size * (1 - mon_osd_full_ratio)) ]* len(osd.avail for osd in OSD_up) /pool.size()
l Ceph osd df 命令输出