注意

本文档适用于 Ceph 的开发版本。

放置组概念

当您执行诸如 ceph -wceph osd dump 以及其他与放置组相关的命令时,Ceph 可能会返回包含以下某些术语的值

Peering

使存储放置组 (PG) 的所有 OSD 就该 PG 中所有对象(及其元数据)的状态达成一致的过程。请注意,就状态达成一致并不意味着它们都拥有最新的内容。

活跃集(Acting Set)

负责特定放置组的 OSD 的有序列表(或在某个纪元时负责的 OSD 列表)。

Up 集(Up Set)

根据 CRUSH,在特定纪元负责特定放置组的 OSD 的有序列表。通常这与“活跃集”相同,除非“活跃集”通过 OSD Map 中的 pg_temp 被显式覆盖。

当前间隔(Current Interval)过去间隔(Past Interval)

在其中,特定放置组的“活跃集”和“Up 集”不变的 OSD map 纪元序列。

主 OSD(Primary)

“活跃集”的成员(并且按照惯例是第一个成员),负责协调对等(peering),并且是唯一一个接受客户端发起的对放置组中对象的写入操作的 OSD。

副本 OSD(Replica)

放置组的“活跃集”中的非主 OSD(并且被主 OSD识别并“激活”)。

迷失 OSD(Stray)

不是当前“活跃集”成员的 OSD,但尚未被告知可以删除其特定放置组副本。

恢复

确保放置组中所有对象的副本都存在于“活跃集”中的所有 OSD 上。一旦执行了“对等”,主 OSD 就可以开始接受写入操作,并且“恢复”可以在后台进行。

PG 信息(PG Info)

有关放置组创建纪元、放置组最近写入的版本、“最后开始纪元”、“最后干净纪元”以及“当前间隔”开头的基本元数据。任何关于放置组的 OSD 间通信都包含“PG 信息”,这样任何知道放置组存在(或曾经存在)的 OSD 也具有“最后干净纪元”或“最后开始纪元”的下限。

PG 日志(PG Log)

对放置组中对象进行的最近更新的列表。请注意,在“活跃集”中的所有 OSD 确认到某个点之后,这些日志可以被截断。

缺失集(Missing Set)

每个 OSD 注意更新日志条目,如果它们暗示对对象内容的更新,则将该对象添加到所需更新列表中。此列表称为该 <OSD,PG> 的“缺失集”。

Authoritative History(权威历史记录)

一组完整且完全有序的操作,如果执行这些操作,将使 OSD 的放置组副本保持最新。

纪元(Epoch)

(单调递增的)OSD map 版本号

最后开始纪元(Last Epoch Start)

特定放置组的“活跃集”中的所有节点就“权威历史”达成一致的最后一个纪元。此时,“对等”被认为是成功的。

up_thru

在主 OSD 成功完成“对等”过程之前,它必须通过让监视器在 osd map 中设置其“up_thru”来通知监视器,它在当前 OSD map“纪元”中处于活动状态。这有助于“对等”忽略先前因一系列故障(例如下面的第二个间隔)而从未完成“对等”的“活跃集”

  • 活跃集 = [A,B]

  • 活跃集 = [A]

  • 活跃集 = [] 紧随其后(例如,同时发生故障,但交错检测)

  • 活跃集 = [B] (B 重启,A 未重启)

最后干净纪元(Last Epoch Clean)

特定放置组的“活跃集”中的所有节点完全最新的最后一个“纪元”(包括放置组日志和对象内容)。此时,“恢复”被认为是完成的。

由 Ceph 基金会为您呈现

Ceph 文档是由非营利性 Ceph 基金会 资助和托管的社区资源。如果您希望支持这项工作和我们的其他努力,请考虑 立即加入