2.14. Ceph 重新平衡和恢复

当管理员将 Ceph OSD 添加到 Ceph 存储集群时,Ceph 会更新 cluster map。对 cluster map 的这一更改也会更改对象放置,因为修改后的集群映射会更改 CRUSH 计算的输入。CRUSH 均匀地放置数据,但随机进行伪造。因此,当管理员添加新 OSD 时,只有少量的数据才会移动。数据量通常是新 OSD 的数量,它们通常根据集群中的总数据量来划分。例如,在添加 OSD 时,具有 50 个 OSD 的集群中,数据的 1/50th 或 2% 数据可能会在添加 OSD 时移动。

下图说明了重新平衡流程,其中部分,但并非所有 PG 都从现有 OSD、OSD 1 和 2 在图中迁移到新的 OSD、OSD 3。即使是重新平衡,CRUSH 仍保持稳定。许多放置组保留在其原始配置中,并且每个 OSD 获取一些额外的容量,因此在集群重新平衡后,新的 OSD 并没有负载激增。

重新平衡和恢复