5.3. 使用覆盖擦除编码


默认情况下,纠删代码池仅可用于 Ceph 对象网关,后者执行完整的对象写入和附加。自红帽 Ceph 存储 3.x 起,可以逐个池启用纠删代码池的部分写入功能。

将纠删代码池与覆盖结合使用可让 Ceph 块设备和 CephFS 将其数据存储在纠删代码池中:

语法

ceph osd pool set <erasure_coded_pool_name> allow_ec_overwrites true
Copy to Clipboard Toggle word wrap

示例

$ ceph osd pool set ec_pool allow_ec_overwrites true
Copy to Clipboard Toggle word wrap

启用覆盖的纠删代码池只能驻留在使用 BlueStore OSD 的池中。由于 BlueStore 的校验和用于在深度清理过程中检测位或其他损坏。将 FileStore 与纠删代码覆盖结合使用不安全,与 BlueStore 相比会获得较低的性能。

纠删代码池不支持 omap。若要将纠删代码池与 Ceph 块设备和 CephFS 搭配使用,可将数据存储在纠删代码池中,并将元数据存储在复制池中。

对于 Ceph 块设备,在镜像创建过程中使用 --data-pool 选项:

语法

rbd create --size <image_size>M|G|T --data-pool <erasure_coded_pool_name> <replicated_pool_name>/<image_name>
Copy to Clipboard Toggle word wrap

示例

$ rbd create --size 1G --data-pool ec_pool rep_pool/image01
Copy to Clipboard Toggle word wrap

如果将纠删代码池用于 CephFS,则必须通过文件布局设置覆盖。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat