数据池

数据池是 Ceph Object Gateway 存储特定存储策略的对象数据的位置。 数据池具有完整的布置组 (PGs) ,而不是服务池的减少的 PGs 数。 请考虑对数据池使用纠删码,因为它比复制要高效得多,并且可以在保持数据耐久性的同时显着降低容量要求。

要使用纠删码,请创建纠删码概要文件。 请参阅 擦除代码概要文件

重要信息: 选择正确的概要文件很重要,因为创建池后无法更改概要文件。 要修改概要文件,必须使用其他概要文件创建新池,并将对象从旧池迁移到新池。

缺省配置为两个数据块 (k) 和两个编码块 (m) ,这意味着只能丢失一个 OSD。 为了获得更高的弹性,请考虑更多的数据和编码块。 例如,某些大型系统使用 8 数据块和 3 编码块,这允许 3 OSD 在不丢失数据的情况下失败。

要点: 每个数据和编码块都应该至少存储在不同的节点或主机上。 对于较小的存储集群,这使使用 rack 作为更大数量的数据和编码块的最小 CRUSH 故障域变得不切实际。 因此,数据池通常使用单独的 CRUSH 层次结构,并将 host 作为最小 CRUSH 故障域。 IBM 建议 host 作为最小故障域。 如果擦除代码块存储在同一主机中的 Ceph OSD 上,那么主机故障 (例如失败的日志或网卡) 可能会导致数据丢失。

要创建数据池,请运行带有池名称, PGs 和 PGP 数, erasure 数据耐久性方法,擦除代码概要文件和规则名称的 ceph osd pool create 命令。