5.2. 池放置组和 CRUSH

当您创建池并为池设置放置组数量时,Ceph 在不特别覆盖默认值时会使用默认值。

重要

红帽建议覆盖一些默认值。特别是,设置池的副本大小并覆盖默认放置组数量。

您可以在运行池命令时设置这些值。

默认情况下,Ceph 生成 3 个对象副本。如果要将对象的 4 个副本设置为默认值,一个主和三个副本,重新设置默认值,如 osd_pool_default_size 所示。如果要允许 Ceph 在降级状态写入副本数,将 osd_pool_default_min_size 设置为比 osd_pool_default_size 值小的数字。

示例

[ceph: root@host01 /]# ceph config set global osd_pool_default_size 4  # Write an object 4 times.
[ceph: root@host01 /]# ceph config set global osd_pool_default_min_size 1  # Allow writing one copy in a degraded state.

确定您有实际的放置组数量。红帽建议每个 OSD 大约 100 个。例如,OSD 的总数乘以 100 的倍数并除以副本数(osd_pool_default_size)。对于 10 个 OSD 和 osd_pool_default_size = 4,我们建议的值为 (100 * 10)/ 4 = 250。

示例

[ceph: root@host01 /]# ceph config set global osd_pool_default_pg_num 250
[ceph: root@host01 /]# ceph config set global osd_pool_default_pgp_num 250