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 valueCopy 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 100TCopy 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 ratioCopy 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.0Copy 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 健康警告。