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 命令输出

01-13 14:18
查看更多