3.6. 指定目标池大小
新创建的池消耗少量集群容量,并出现在需要少量的 PG 的系统中。然而,在大多数情形中,集群管理员知道哪些池预期消耗了大多数系统容量。如果您向 Red Hat Ceph Storage 提供此信息,称为 目标大小
,这样的池可以从头使用更合适的 PG (pg_num
)。这种方法可防止 pg_num
中的后续更改以及进行这些调整时移动数据的相关开销。
您可以使用以下方法指定池的目标大小
:
3.6.1. 使用池的绝对大小指定目标大小 复制链接链接已复制到粘贴板!
流程
使用池的绝对
大小(以字节为单位)设置目标大小
:ceph osd pool set pool-name target_size_bytes value
ceph osd pool set pool-name target_size_bytes value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,指示系统
mypool
预期消耗 100T 空间:ceph osd pool set mypool target_size_bytes 100T
$ ceph osd pool set mypool target_size_bytes 100T
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
您还可以通过将可选的 --target-size-bytes <bytes>
参数添加到 ceph osd pool create
命令中,来设置池创建的目标大小。
3.6.2. 使用集群总容量指定目标大小 复制链接链接已复制到粘贴板!
流程
使用集群容量总数来设置
目标大小
:语法
ceph osd pool set pool-name target_size_ratio ratio
ceph osd pool set pool-name target_size_ratio ratio
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
[ceph: root@host01 /]# ceph osd pool set mypool target_size_ratio 1.0
[ceph: root@host01 /]# ceph osd pool set mypool target_size_ratio 1.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 告诉系统,池
mypool
期望消耗 1.0,相对于其他设置了target_size_ratio
的池。如果mypool
是集群中唯一的池,这意味着预期使用总容量的 100%。如果第二个池带有target_size_ratio
为 1.0,则两个池预期使用 50% 的集群容量。
您还可以通过将可选的 --target-size-ratio <ratio>
参数添加到 ceph osd pool create
命令,在创建时设置池的目标大小。
如果您指定了无法达到的目标大小值,例如:大于总集群的容量,或者设置比例的总和大于 1.0,集群会引发 POOL_TARGET_SIZE_RATIO_OVERCOMMITTED
或 POOL_TARGET_SIZE_BYTES_OVERCOMMITTED
健康警告。
如果您为池同时指定了 target_size_ratio
和 target_size_bytes
,集群只考虑比率,并引发 POOL_HAS_TARGET_SIZE_BYTES_AND_RATIO
健康警告。