7.5.2. 创建数据池

数据池是 Ceph 对象网关存储特定存储策略的对象数据的位置。数据池应当包含 PG 的完整补充,而不是服务池的 PG 数量减少。数据池 SHOULD 考虑使用纠删代码,因为它比复制更高效,而且可以显著降低容量要求,同时保持数据持久性。

要使用纠删代码,请创建一个纠删代码 profile。如需了解更多详细信息,请参阅存储策略指南中的 Erasure Code Profiles 部分。

重要

选择正确的配置集非常重要,因为您创建池后无法更改配置集。若要修改配置文件,您必须创建一个具有不同配置文件的新池,并将对象从旧池中迁移到新池中。

默认配置是两个数据区块和一个编码区块,这意味着只能丢失一个 OSD。对于更高的弹性,请考虑大量数据和编码区块。例如,一些规模庞大的系统使用 8 个数据区块和 3 个编码区块,这允许三个 OSD 在不丢失数据的情况下出现故障。

重要

每个数据和编码区块 SHOULD 至少会存储在不同的节点或主机上。对于较小的集群,这会在使用大量数据和编码区块时将 机架 不切实际作为最小 CRUSH 故障域。因此,数据池通常使用单独的 CRUSH 层次结构并将 主机 用作最小 CRUSH 故障realm。红帽建议 host 作为最小故障域。如果纠删代码区块存储在同一主机的 OSD 中,则发生故障日志或网卡等主机故障可能会导致数据丢失。

若要创建数据池,可执行 ceph osd 池 create,它具有池名称、PG 和 PGP 的数量、纠删 数据持久性方法、纠删代码 profile 和规则名称。