2.7. Ceph 复制


与 Ceph 客户端一样,Ceph OSD 可以联系 Ceph 监视器,以检索 cluster map 的最新副本。Ceph OSD 也使用 CRUSH 算法,但它们使用它来计算对象副本的存储位置。在典型的写入场景中,Ceph 客户端使用 CRUSH 算法来计算对象的操作集合中的 PG ID 和 Primary OSD。当客户端将对象写入Primary OSD 时,Primary OSD 找到它应当存储的副本数。该值可在 osd_pool_default_size 设置中找到。然后,Primary OSD 采用对象 ID、池名称和 cluster map,并使用 CRUSH 算法计算执行集合的次要 OSD 的 ID。Primary OSD 将对象写入次要 OSD。当Primary OSD 从次要 OSD 收到确认,Primary OSD 本身完成其写操作时,它确认对 Ceph 客户端执行成功的写入操作。

Replicated IO

Ceph OSD 守护进程可以代表 Ceph 客户端执行数据复制,从而减轻 Ceph 客户端不受这一职责影响,同时确保高可用性和数据安全性。

注意

Primary OSD 和次要 OSD 通常配置为位于单独的故障域中。CRUSH 计算次要 OSD 的 ID,并考虑故障域。

数据复制

在复制存储池中,Ceph 需要对象的多个副本才能在降级状态下运行。理想情况下,Ceph 存储集群使得客户端能够读取和写入数据,即使操作的集合中的一个 OSD 出现故障。因此,Ceph 默认为对象制作三个副本,并且至少清理两个副本以进行写入操作。即使两个 OSD 出现故障,Ceph 仍然会保留数据。但是,它会中断写入操作。

在纠删代码池中,Ceph 需要在多个 OSD 之间存储对象的区块,以便它在降级状态下运行。与复制池类似,理想情况下,纠删代码池使得 Ceph 客户端能够在降级状态读取和写入。

重要

红帽支持 km 的以下 jerasure 编码值:

  • k=8 m=3
  • k=8 m=4
  • k=4 m=2
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.