3.2.6. 了解存储集群用量统计
要检查集群的数据使用量和数据分布在池间,请使用 df
选项。它类似于 Linux df
命令。您可以运行 ceph df
命令或 ceph df detail
命令。
示例
[root@mon ~]# 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
命令提供了更多关于其他池统计数据的详细信息,如配额对象、配额字节、压缩状态等。
示例
[root@mon ~]# 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: 所用的设备类型。
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 :USED 以及分配给
db
和wal
BlueStore 分区的空间的总和。 -
% RAW USED: RAW USED 的百分比 .使用这个数值以及
full ratio
和near full ratio
,以确保您没有消耗倒所有的存储集群容量。
输出的 POOLS 部分提供了池列表以及每个池的使用情况。本节的输出不会反映副本、克隆或快照的情况。例如,如果您存储 1 MB 的数据的对象,名义的使用量为 1 MB,但实际使用量可能为 3 MB 或更多。具体的实际使用量取决于副本的数量(例如: size = 3
)、克隆和快照。
- POOL:池的名称。
- ID: 池 ID。
- STORED: 用户存储在池中的实际数据量。
- OBJECTS: 每个池存储的名义数量。
-
USED: 存储以 KB 为单位的数据数量,除非数字带有 M(megabyte)或 G(gigabytes)。它是
STORED
大小 * 复制因素。 - %USED: 每个池使用的名义存储的百分比。
MAX AVAIL: 可以写入这个池的数据数量的估计值。它是在第一个 OSD 变为满之前可以使用的数据量。它考虑了 CRUSH map 中跨磁盘的项目分布数据,并使用第一个 OSD 来填充作为目标。
在上例中,
MAX AVAIL
为 153.85,而不考虑复制因素,默认为三。如需 简单的复制池,请参阅知识库文章 ceph df AVAIL,以计算
MAX AVAIL
的值。- QUOTA OBJECTS: 配额对象的数量。
- QUOTA BYTES: 配额对象中的字节数。
- USED COMPR: 为压缩数据分配的空间量,包括其压缩数据、分配、复制和擦除编码开销。
- UNDER COMPR: 通过压缩格式传输的数据量,以压缩形式存储有更多益处。
POOLS 部分中的数字是估算的。它们不包括副本数、快照或克隆的数量。因此,USED 和 %USED 数值的总和可能会与输出的 GLOBAL 部分中的 RAW USED 和 %RAW USED 不同。
MAX AVAIL 值是所用的复制或纠删代码的一个复杂功能,CRUSH 规则将存储映射到设备、这些设备的使用以及配置的 mon_osd_full_ratio
。
其它资源
- 详情请参阅 Ceph 如何计算数据使用量。
- 详情请参阅 Understanding the OSD usage stats。