知识卡片

CRUSH查找在客户端本地计算

专业/工作 · 237.a

内容

一次寻址的完整链路是:对象名和池ID经过哈希得到PG ID,再对PG ID执行CRUSH查找得到主OSD和辅助OSD——但这一整套计算是客户端自己用本地CPU算出来的,只在最开始向monitor要一次集群map,之后不再依赖任何中心节点参与寻址决策,写入主OSD后才由主OSD所在节点计算辅助PG的位置来复制数据。发散:把”计算负载”分摊到每一个发起请求的客户端身上,而不是集中在服务端,是CRUSH能做到近乎零瓶颈扩展的关键——这类”客户端做重活、服务端只做存储和确认”的分工思路,在无中心化系统设计里反复出现。

参考来源

《Ceph分布式存储学习指南》第4章《Ceph内部构件》