CRUSHControlled replication

按层级拓扑、权重和规则计算副本放置。

核心约束
副本选择需满足指定故障域和放置规则。
适用问题
分布式存储的数据放置。
边界与取舍
改变拓扑或权重会引起重映射;并非普通哈希环。

时间与空间#

r 为副本数,h 为拓扑深度;bucket 算法、权重、排除项和重试次数均会影响成本。

时间复杂度
拓扑逐级选择 × 副本 / 重试次数
辅助空间
CRUSH map、规则、权重和本次选择状态

计算数据到设备的确定性映射,按规则跨主机、机架等故障域放置。不同 bucket 的选择成本不同,失效设备与冲突会引起重试;不能统一写成 O(1)O(1) 或只与设备总数成对数关系。

工程中的应用#

1 个案例 · 附源码
基础原理参考资料

Ceph Squid · CRUSH Maps设备层级、规则、权重和 failure domain。

Ceph · CRUSH paper可扩展确定性放置、bucket 选择和映射迁移分析。

6 个概念