3.12. Ceph Monitor 同步角色

当您使用多个监控器运行生产集群时,每个 monitor 会检查邻居监视器是否有最新版本的 cluster map。例如,一个邻居监视器中的映射,其一个或多个 epoch 号高于即时监视器映射中当前 epoch 的数值。定期,集群中的一个监视器可能位于其他 monitor 后,它必须离开仲裁,同步来检索有关集群的最新信息,然后重新加入仲裁。

同步角色

出于同步目的,监视器可以假定以下三个角色之一:

  • Leader :Leader 是达到集群映射的最新 Paxos 版本的第一个 moitor。
  • Provider :Provider 是一个具有集群映射的最新版本的 monitor,但不是第一个。
  • Requester: 请求者是一个监控器,它已落后于领导,必须同步来检索集群的最新信息,然后才能重新加入仲裁。

这些角色使领导能够将同步任务委派给提供程序,从而防止同步请求过载,并提高性能。在下图中,请求者已了解到它已位于其他 monitor 后。请求者要求领导要同步,并且领导者告诉请求者与提供程序同步。

监视器同步

监控同步

当新 monitor 加入集群时,才会发生同步。在运行时操作期间,监控器可以在不同时间接收集群映射的的更新。这意味着领导和提供商角色可以从一个监控器迁移到另一个监视器。例如在同步时发生这种情况,例如,提供商落于领导,提供商可以与请求者终止同步。

同步完成后,Ceph 需要在集群中修剪。修剪要求放置组处于 active + clean 状态。