Ceph入门到精通-存储集群ceph df 用量统计算法说明

3.2.5. Ceph 如何计算数据使用量

used 值反映了使用的实际原始存储量。xxx GB / xxx GB 代表可用的存储(其中较小的数字)和总存储容量。总容量反映了在复制、克隆或快照前存储数据的大小。因此,实际存储的数据量通常会超过名义上的存储量。这是因为 Ceph 会创建数据的副本,进行克隆和快照也需要使用存储。

3.2.6. 了解存储集群用量统计

要检查集群的数据使用量和数据分布在池间,请使用 df 选项。它类似于 Linux df 命令。您可以运行 ceph df 命令或 ceph df detail 命令。

示例

[ceph: root@host01 /]# ceph df
RAW STORAGE:
    CLASS     SIZE       AVAIL      USED        RAW USED     %RAW USED
    hdd       90 GiB     84 GiB     100 MiB      6.1 GiB          6.78
    TOTAL     90 GiB     84 GiB     100 MiB      6.1 GiB          6.78

POOLS:
    POOL                          ID     STORED      OBJECTS     USED        %USED     MAX AVAIL
    .rgw.root                      1     1.3 KiB           4     768 KiB         0        26 GiB
    default.rgw.control            2         0 B           8         0 B         0        26 GiB
    default.rgw.meta               3     2.5 KiB          12     2.1 MiB         0        26 GiB
    default.rgw.log                4     3.5 KiB         208     6.2 MiB         0        26 GiB
    default.rgw.buckets.index      5     2.4 KiB          33     2.4 KiB         0        26 GiB
    default.rgw.buckets.data       6     9.6 KiB          15     1.7 MiB         0        26 GiB
    testpool                      10       231 B           5     384 KiB         0        40 GiB

ceph df detail 命令提供了更多关于其他池统计数据的详细信息,如配额对象、配额字节、压缩状态等。

示例

[ceph: root@host01 /]# ceph df detail
RAW STORAGE:
    CLASS     SIZE       AVAIL      USED        RAW USED     %RAW USED
    hdd       90 GiB     84 GiB     100 MiB      6.1 GiB          6.78
    TOTAL     90 GiB     84 GiB     100 MiB      6.1 GiB          6.78

POOLS:
    POOL                          ID     STORED      OBJECTS     USED        %USED     MAX AVAIL     QUOTA OBJECTS     QUOTA BYTES     DIRTY     USED COMPR     UNDER COMPR
    .rgw.root                      1     1.3 KiB           4     768 KiB         0        26 GiB     N/A               N/A                 4            0 B             0 B
    default.rgw.control            2         0 B           8         0 B         0        26 GiB     N/A               N/A                 8            0 B             0 B
    default.rgw.meta               3     2.5 KiB          12     2.1 MiB         0        26 GiB     N/A               N/A                12            0 B             0 B
    default.rgw.log                4     3.5 KiB         208     6.2 MiB         0        26 GiB     N/A               N/A               208            0 B             0 B
    default.rgw.buckets.index      5     2.4 KiB          33     2.4 KiB         0        26 GiB     N/A               N/A                33            0 B             0 B
    default.rgw.buckets.data       6     9.6 KiB          15     1.7 MiB         0        26 GiB     N/A               N/A                15            0 B             0 B
    testpool                      10       231 B           5     384 KiB         0        40 GiB     N/A               N/A                 5            0 B             0 B

输出的 RAW STORAGE 部分概述了存储集群为数据管理的存储量。

  • CLASS: OSD 设备的类。
  • SIZE: 由存储集群管理的存储容量量。

    在上例中,如果 SIZE 是 90 GiB,它是不包括复制因子(默认为三)的总大小。带有复制因子的可用的总容量为 30 GiB(90 GiB/3)。根据全满比率(默认为 0.85%),最大可用空间为 30 GiB * 0.85 = 25.5 GiB

  • AVAIL: 存储集群中可用空间的数量。

    在上例中,如果 SIZE 是 90 GiB,而 USED 空间为 6 GiB,则 AVAIL 空间为 84 GiB。带有复制因素的总可用空间(默认为 84 GiB/3 = 28 GiB)

  • USED: 用户数据使用的原始存储量。

    在上例中,100 MiB 是在考虑了复制因子后的总可用空间。实际可用大小为 33 MiB。

  • RAW USED: 用户数据、内部开销或保留容量消耗的原始存储量。
  • % RAW USED: RAW USED 的百分比。使用这个数值以及 full ratio 和 near full ratio,以确保您没有消耗倒所有的存储集群容量。

输出的 POOLS 部分提供了池列表以及每个池的不利使用情况。本节的输出不会反映副本、克隆或快照的情况。例如,如果您存储 1 MB 的数据的对象,名义的使用量为 1 MB,但实际使用量可能为 3 MB 或更多。具体的实际使用量取决于副本的数量(例如: size = 3)、克隆和快照。

  • POOL:池的名称。
  • id: 池 ID。
  • STORED: 用户存储在池中的实际数据量。
  • OBJECTS: 每个池存储的名义数量。它是 STORED 大小 * 复制因素。
  • USED: 存储以 KB 为单位的数据数量,除非数字带有 M(megabyte)或 G(gigabytes)。
  • %USED: 每个池使用的名义存储的百分比。
  • MAX AVAIL: 可以写入这个池的数据数量的估计值。它是在第一个 OSD 变为满之前可以使用的数据量。它考虑了 CRUSH map 中跨磁盘的项目分布数据,并使用第一个 OSD 来填充作为目标。

    在上例中,MAX AVAIL 为 153.85 MB(没有考虑复制因子,默认为三)。

    请参阅红帽知识库中的 ceph df MAX AVAIL is incorrect for simple replicated pool 以计算 MAX AVAIL 的值。

  • QUOTA OBJECTS: 配额对象的数量。
  • QUOTA BYTES: 配额对象中的字节数。
  • USED COMPR: 为压缩数据分配的空间量,包括其压缩数据、分配、复制和擦除编码开销。
  • UNDER COMPR: 通过压缩格式传输的数据量,以压缩形式存储有更多益处。

注意

POOLS 部分中的数字是估算的。它们不包括副本数、快照或克隆的数量。因此,USED 和 %USED 数值的总和可能会与输出的 GLOBAL 部分中的 RAW USED 和 %RAW USED 不同。

注意

MAX AVAIL 值是使用复制或退出代码的复杂功能,即将存储映射到设备、这些设备的利用率以及配置的 mon_osd_full_ratio

其它资源

  • 详情请参阅 Ceph 如何计算数据使用量。
  • 详情请参阅 了解 OSD 用量统计。

3.2.7. 了解 OSD 使用量统计

使用 ceph osd df 命令查看 OSD 使用率统计。

示例

[ceph: root@host01 /]# ceph osd df
ID CLASS WEIGHT  REWEIGHT SIZE    USE     DATA    OMAP    META    AVAIL   %USE VAR  PGS
 3   hdd 0.90959  1.00000  931GiB 70.1GiB 69.1GiB      0B    1GiB  861GiB 7.53 2.93  66
 4   hdd 0.90959  1.00000  931GiB 1.30GiB  308MiB      0B    1GiB  930GiB 0.14 0.05  59
 0   hdd 0.90959  1.00000  931GiB 18.1GiB 17.1GiB      0B    1GiB  913GiB 1.94 0.76  57
MIN/MAX VAR: 0.02/2.98  STDDEV: 2.91
  • ID: OSD 的名称。
  • CLASS: OSD 使用的设备类型。
  • WEIGHT: CRUSH 映射中的 OSD 权重。
  • REWEIGHT: 默认的重新加权值。
  • SIZE: OSD 的整体存储容量。
  • USE: OSD 容量。
  • DATA: 用户数据使用的 OSD 容量量。
  • OMAP: 用于存储对象映射(omap)数据(rocksdb 中存储的键值对)的 bluefs 存储的估算值。
  • META: 分配的 bluefs 空间或在 bluestore_bluefs_min 参数中设置的值(取决于哪个值更大),对于内部元数据,它的值是在 bluefs 中分配的总空间减去预计的 omap 数据大小。
  • AVAIL: OSD 上可用的空间量。
  • %USE: OSD 使用的存储百分比
  • VAR: 高于或低于平均利用率的差异。
  • PGS: OSD 中的置放组数量。
  • MIN/MAX VAR: 所有 OSD 的最小和最大变化。

其它资源

  • 详情请参阅 Ceph 如何计算数据使用量。
  • 详情请参阅 了解 OSD 用量统计。
  • 详情请参阅 Red Hat Ceph Storage Storage 策略指南中的 CRUSH Weights。

你可能感兴趣的:(Ceph入门到精通,ceph,大数据,数据挖掘)