2.13. Ceph 对等
Ceph 将 PG 的副本存储在多个 OSD 上。PG 的每个副本都有一个状态。这些 OSD"peer"或互相检查以确保它们就 PG 的每个副本的状态达成一致。对等问题通常会自行解决。
当 Ceph 监视器在存储 PG 的 OSD 状态上达成一致时,这并不表示 PG 具有最新的内容。
当 Ceph 将 PG 存储在一组操作的 OSD 中时,将它们指代 为主 OSD 和次要 等。按照惯例,Pri mary 是操作 集合中 的第一个 OSD。存储 PG 的第一个副本的 Primary 负责协调该放置组的 peering 进程。Primary 是 ONLY OSD,它将接受客户端发起的写入作为主要 PG 的给定 PG 的对象。
Acting Set 是一系列 OSD,它们负责存储 PG。活动集合 可以指当前负责 PG 的 Ceph OSD 守护进程,或者从某些 epoch 起负责特定放置组的 Ceph OSD 守护进程。
作为操作集合一部分的 Ceph OSD 守护进程 可能 并不总是为 up
。当操作 集合中 的 OSD 是 up
时,它属于 Up Set。Up Set 是一种 重要区别,因为 Ceph 可以在 OSD 出现故障时重新 map PG 到其他 Ceph OSD。
在包含 osd.25
、osd.32
和 osd.61
的 PG 的操作 集合中,第一个 OSD 是主要 OSD osd.25
。如果该 OSD 失败,则 第二个 osd.32
成为 主要 节点,Ceph 将从 Up Set 中删除 osd.25
。