Ceph使用CRUSH算法进行PG->OSD映射,它可以很好地增加/减少OSD节点。
但是对于obj->PG映射,Ceph仍然使用传统的散列,即pgid = hash(obj_name) % pg_num。如果我们改变PG的数量,这种方法可能会导致大量的数据迁移,甚至会降低系统的可用性。
为什么Ceph不使用CRUSH algirhtm (比如straw2)来进行obj->PG映射,当PG的数量发生变化时,这种映射可以获得最佳的数据迁移量?
发布于 2020-12-12 14:00:34
有不同的场景,我认为CRUSH不是灵丹妙药。
这是我的看法,欢迎批评或讨论。
https://stackoverflow.com/questions/65062478
复制相似问题