知识卡片
PG是对象和OSD之间的间接层
内容
如果让系统直接逐个管理数以百万计的对象副本该分布到哪块OSD、故障后该怎么迁移,计算和内存开销会大到难以承受。归置组(PG)作为对象和OSD之间插入的一层逻辑分组,先把对象按哈希归到某个PG,再让CRUSH只对PG(而不是对每个对象)计算位置和副本分布,系统只需要跟踪PG这一级的状态,管理粒度一下从百万级降到几千级。发散:这是计算机系统里”加一层间接层解决规模问题”的又一个例子——数据库的分片、虚拟内存的页表、CDN的一致性哈希环,本质都是靠插入一层聚合索引把管理复杂度从O(对象数)降到O(分组数)。
参考来源
《Ceph分布式存储学习指南》第4章《Ceph内部构件》