第 4 章 为 Ceph 存储扩展集群


作为存储管理员,您可以通过在 Ceph 中启用扩展模式来配置两个站点扩展集群。

Red Hat Ceph Storage 系统提供将故障域扩展到 OSD 级别到数据中心或云区级别的选项。

下图显示了以扩展模式运行的 Ceph 集群的简化表示,其中 tiebreaker 主机在数据中心(DC) 3 中置备。

图 4.1. 为 Ceph 存储扩展集群

扩展集群在广域网(WAN)上运行,这与典型的 Ceph 集群不同,后者在局域网(LAN)上运行。为了说明这一点,数据中心被选为故障域,尽管这也可能代表一个云可用区。数据中心 1 (DC1)和数据中心 2 (DC2)包含其各自域中的 OSD 和 monitor,而数据中心 3 (DC3)仅包含单个 monitor。DC1 和 DC2 之间的延迟不应超过 10 ms RTT,因为更高的延迟在复制、恢复和相关操作方面可能会显著影响 Ceph 性能。但是,与两个数据站点相比,DC3-a 非数据站点通常托管在虚拟机上-可以容忍更高的延迟。像图中一样,扩展集群可以让数据中心的完整故障或数据中心之间的网络分区保持连接。

像图中一样,扩展集群可以让数据中心的完整故障或数据中心之间的网络分区保持连接。

注意

没有额外的步骤来关闭扩展群集。如需更多信息,请参阅 关闭并重启 Red Hat Ceph Storage 集群

4.1. 存储集群的扩展模式

要提高 Stretched 集群中的可用性(地域分布部署),您必须进入扩展模式。启用扩展模式时,Ceph OSD 仅在数据中心对等时或您指定的其他 CRUSH bucket 类型(假设两者都处于活动状态)使放置组(PG)处于活动状态。池将大小从默认的三到四增加,每个站点有两个副本。

在扩展模式中,Ceph OSD 仅允许连接同一数据中心内的监视器。在没有指定位置的情况下,不允许新监控器加入集群。

如果同时无法从数据中心访问所有 OSD 和 monitor,则存活的数据中心将进入降级状态。这会发出警告,将 min_size 减少为 1,并允许集群使用剩余的站点中的数据访问活动状态。

扩展模式旨在处理两个数据中心和一个数据中心的丢失之间的 netsplit 场景。扩展模式通过选择存活数据中心来更好地连接到 tiebreaker monitor 来处理 netsplit 情境。扩展模式通过将所有池的 min_size 减少到 1,允许集群继续使用剩余的数据中心来处理一个数据中心的丢失。当丢失的数据中心返回时,集群将恢复丢失的数据并返回正常操作。

注意
In a stretch cluster, when a site goes down and the cluster enters a degraded state, the min_size of the pool may be temporarily reduced (e.g., to 1) to allow the placement groups (PGs) to become active and continue serving I/O. However, the size of the pool remains unchanged. The peering_crush_bucket_count stretch mode flag ensures that PGs does not become active unless they are backed by OSDs in a minimum number of distinct CRUSH buckets (e.g., different data centers). This mechanism prevents the system from creating redundant copies solely within the surviving site, ensuring that data is only fully replicated once the downed site recovers.
Copy to Clipboard Toggle word wrap

当缺少的数据中心再次访问时,集群会进入恢复扩展模式。这会更改警告并允许对等(peer),但仍只需要来自数据中心的 OSD,这已整个时间。

当所有 PG 都处于已知状态且没有降级或不完整时,集群会返回常规扩展模式,结束警告,并将 min_size 恢复到其起始值 2。集群再次要求两个站点对等站点,而不仅仅是保持整个时间的站点,因此如有必要,您可以切换到其他站点。

扩展模式限制

  • 输入后无法从扩展模式退出。
  • 您不能将纠删代码池用于集群以扩展模式。您不能使用纠删代码池进入扩展模式,或者在扩展模式处于活动状态时创建纠删代码池。
  • 在扩展模式中不支持设备类。在以下示例中,不支持 类 hdd

    示例

    rule stretch_replicated_rule
    {id 2
    type replicated class hdd
    step take default
    step choose firstn 0 type datacenter
    step chooseleaf firstn 2 type host
    step emit
    }
    Copy to Clipboard Toggle word wrap

    要在两个站点上达到相同的权重,在两个站点部署的 Ceph OSD 应该相等的大小,即第一个站点中的存储容量相当于第二个站点中的存储容量。

  • 虽然它不强制执行,但您应该在每个站点上运行两个 Ceph 监视器,以及一个 tiebreaker,共 5 个。这是因为 OSD 在扩展模式中只能连接到自己的站点中的监控器。
  • 您必须创建自己的 CRUSH 规则,在每个站点上提供两个副本,总计为在两个站点上共 4 个副本。
  • 如果您有具有非默认大小或 min_size 的现有池,则无法启用扩展模式。
  • 由于集群在降级时以 min_size 1 运行,因此您应该只使用带有 all-flash OSD 的扩展模式。这可最小化在恢复连接后恢复所需的时间,并尽可能减少数据丢失的可能性。

扩展对等规则

在 Ceph 扩展集群模式中,通过扩展对等规则实施关键保护,这样可确保在单个故障域中所有操作的副本都处于活动状态,如单个数据中心或云可用区。

这个行为对于在站点失败时保护数据完整性非常重要。如果 PG 允许所有副本都限制在一个站点,则写入操作可能会被错误地确认,而无需 true 冗余。如果站点中断,这会导致这些 PG 的数据丢失。通过强制区在操作集合中的不同,Ceph 扩展集群会保持高可用性,同时尽量减少数据不一致或丢失的风险。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat