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
。
其它资源
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 的最小和最大变化。
其它资源