正在创建池
了解如何创建池。 可以复制池,对池进行擦除编码,也可以批量复制池。
开始之前
关于此任务
创建池时,请将放置组数设置为合理的值 (例如,设置为 100)。 还请考虑每个 OSD 的放置组总数。 布置组在计算上很昂贵,因此当您有许多具有许多布置组的池时,性能会下降,例如, 50 个池各有 100 个布置组。 回报递减的点取决于 OSD 主机的功率。
根据需求,您可以创建复制池,擦除编码池或批量池。
在示例中,替换变量名称,如下所示:
- 池名称
- 描述
- 池的名称。 此标签必须唯一。
- 类型
- 字符串
- 必需
是。 如果未指定,那么会将其设置为缺省值或使用 ceph config set 命令手动设置。
- 缺省值
ceph
- PG_NUM
- 描述
- 池的放置组总数。 有关计算合适数量的更多信息,请参阅 Red Hat 客户门户上的放置组和每个池的 Ceph 放置组 (PG) 计算器。 缺省值
8不适用于大多数系统。 - 类型
- 整数
- 必需
是
- 缺省值
8
- PGP_NUM
- 描述
- 用于放置的放置组总数。 此值必须等于放置组总数,但放置组分割方案除外。
- 类型
- 整数
- 必需
是。 如果未指定,那么将设置为列出的值或缺省值。
- 缺省值
8
- 已复制 或 擦除
- 描述
- 池类型可以是
replicated以通过保留对象的多个副本从丢失的 OSD 恢复,也可以是erasure以获取通用 RAID5 功能。 复制的池需要更多原始存储器,但实现所有 Ceph 操作。 擦除编码的池需要较少的原始存储器,但仅实现一部分可用操作。 - 类型
- 字符串
- 必需
False
- 缺省值
replicated
- 规则名称
- 描述
- 池的压缩规则的名称。 规则必须存在。 对于复制的池,名称是由
osd_pool_default_crush_rule配置设置指定的规则。 对于纠删码池,如果指定缺省纠删码概要文件或指定 POOL_NAME ,那么名称为erasure-code。 如果此规则不存在,那么 Ceph 将使用指定的名称隐式创建此规则。 - 类型
- 字符串
- 必需
False
- 缺省值
- 将
erasure-code用于纠删码池。 对于复制的池,它使用 Ceph 配置中osd_pool_default_crush_rule变量的值。
- 期望-num-objects
- 描述
- 池的预期对象数。 Ceph 在池创建时拆分放置组,以避免延迟影响执行运行时目录分割。
- 类型
- 整数
- 必需
False
- 缺省值
0,在创建池时不分割。
- 擦除码配置文件
- 描述
- 仅适用于擦除编码的池。 使用擦除代码概要文件。 它必须是 Ceph 配置文件中的
osd erasure-code-profile set变量所定义的现有概要文件。 更多信息,请参阅清除代码配置文件。 - 类型
- 字符串
- 必需
False
创建复制的池
- 要创建复制的池,请使用以下命令:
ceph osd pool create POOL_NAME PG_NUM PGP_NUM [replicated] [CRUSH_RULE_NAME] [EXPECTED_NUMBER_OBJECTS]
创建纠删码池
- 要创建纠删码池,请使用以下命令:
ceph osd pool create POOL_NAME PG_NUM PGP_NUM [erasure] ERASURE_CODE_PROFILE [CRUSH_RULE_NAME] [EXPECTED_NUMBER_OBJECTS]
创建批量池
- 要创建批量池,请使用以下命令:
ceph osd pool create POOL_NAME [--bulk]