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

要创建复制池,请运行:

语法

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 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 主机的电源。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部