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 GiBAVAIL: 存储集群中可用空间的数量。
在上例中,如果
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。