4.3. 创建池
在创建池之前,请参见 Red Hat Ceph Storage 5 配置指南中的池、PG 和 CRUSH 配置参考一章。
注意
在 Red Hat Ceph Storage 3 及更新的版本中,系统管理员必须明确使池从 Ceph 客户端接收 I/O 操作。详情请参阅 启用应用程序。如果不启用池,则会导致 HEALTH_WARN
状态。
最好为 Ceph 配置文件中的放置组数量调整默认值,因为默认值不必适合您的需要。
示例
osd pool default pg num = 100 osd pool default pgp num = 100
# osd pool default pg num = 100
# osd pool default pgp num = 100
要创建复制池,请运行:
语法
ceph osd pool create POOL_NAME PG_NUMBER PGP_NUMBER [replicated] \ [crush-rule-name] [expected-num-objects]
ceph osd pool create POOL_NAME PG_NUMBER PGP_NUMBER [replicated] \ [crush-rule-name] [expected-num-objects]
要创建批量池,请运行:
语法
ceph osd pool create POOL_NAME --bulk
ceph osd pool create POOL_NAME --bulk
要创建纠删代码池,请运行:
语法
ceph osd pool create POOL_NAME PG_NUMBER PGP_NUMBER erasure \ [erasure-code-profile] [crush-rule-name] [expected-num-objects]
ceph osd pool create POOL_NAME PG_NUMBER PGP_NUMBER erasure \ [erasure-code-profile] [crush-rule-name] [expected-num-objects]
其中:
- POOL_NAME
- 描述
- 池的名称。它必须是唯一的。
- 类型
- 字符串
- 必需
- 是。如果未指定,它将设置为 Ceph 配置文件中列出的值,或设置为默认值。
- 默认
-
ceph
- PG_NUMBER
- 描述
-
池的放置组总数。有关计算合适的数目的详细信息,请参阅 每个池 计算器的放置组部分和 Ceph 放置组(PG)。默认值
8
不适用于大多数系统。 - 类型
- 整数
- 必需
- 是
- 默认
-
8
- PGP_NUMBER
- 描述
- 用于放置使用的放置组总数。这个值必须等于放置组总数,但放置组分割场景除外。
- 类型
- 整数
- 必需
- 是。如果未指定,它被设置为 Ceph 配置文件中列出的值,或设置为默认值。
- 默认
-
8
复制或
擦除
- 描述
-
池类型可以是
replicated
,它通过保持多个对象的副本来恢复丢失的 OSD;或erasure
来实现通用的 RAID5 的功能。复制池需要更多原始存储,但实施所有 Ceph 操作。纠删代码池需要较少的原始存储,但仅实现可用操作的一个子集。 - 类型
- 字符串
- 必需
- 否
- 默认
-
复制
- crush-rule-name
- 描述
-
池的 crush 规则的名称。规则 MUST 存在。对于池,名称是
osd_pool_default_crush_rule
配置设置指定的规则。对于纠删代码的池,如果您指定了默认的纠删代码 profile 或{pool-name}
,则名称为erasure-code
。如果规则尚不存在,Ceph 将以隐式方式创建此规则。 - 类型
- 字符串
- 必需
- 否
- 默认
-
对纠删代码池使用
erasure-code
。对于池,它使用 Ceph 配置中osd_pool_default_crush_rule
变量的值。
- expected-num-objects
- 描述
-
池的预期对象数量。通过将此值与负
filestore_merge_threshold
变量一起设置,Ceph 会在创建池时分割放置组,以避免延迟影响执行运行时目录分割。 - 类型
- 整数
- 必需
- 否
- 默认
-
0
,创建池时不进行分割。
- erasure-code-profile
- 描述
-
对于纠删代码池,请使用纠删代码 profile。它必须是由 Ceph 配置文件中
osd erasure-code-profile set
变量定义的现有配置集。如需更多信息,请参阅 Erasure Code Profiles 部分。 - 类型
- 字符串
- 必需
- 否
当您创建池时,将放置组数量设置为合理的值,例如 100
。考虑每个 OSD 的放置组总数。放置组的计算代价比较高,因此您在带有多个放置组的多个池时(例如,50 个池,每个带有 100 个放置组),性能会降低。减弱的返回点取决于 OSD 主机的电源。
其它资源
有关计算您池的适当放置组数量的详细信息,请参阅 每个池 计算器的放置组部分和 Ceph 放置组(PG )。