知识卡片

层级化ClusterMap实现机架感知

专业/工作 · 237.h.2

内容

Cluster Map 用 device(对应单个 OSD)和可递归嵌套的 bucket(host/rack/room/datacenter 等,也可自定义类型)组成一棵树,描述存储设备之间真实的物理拓扑关系;bucket 的权重由子节点权重自动累加得出。这棵树的意义不只是分类,而是让 [[Placement Rules用take-choose-emit描述副本分布规则|副本放置规则]]可以按拓扑层级选择——比如强制三副本必须落在不同机架,从而在某个机架整体断电时仍有副本存活。把物理拓扑显式建模成数据结构,才能把”容灾”这种运维目标转化成算法可以直接消费的约束条件。

参考来源

《Ceph源码分析》第4章《CRUSH数据分布算法》