知识卡片
PG与PGP的区别
内容
调大存储池的PG数目只会引发PG分裂——原本一个PG拆成多个,但拆出来的新PG仍然停留在原来的OSD上,不产生任何数据搬运;只有进一步调大PGP数目,这些新分裂出来的PG才会被重新映射到不同的OSD上,触发真正的数据迁移。也就是说PG数目决定”数据在逻辑上被分成多少份”,PGP数目决定”这些逻辑分片实际分布在哪些物理位置”,两者被拆成独立的旋钮,是为了让管理员可以先完成分裂(低成本操作),再选择合适的时机启动真正的迁移(高成本操作)。发散:把”逻辑重新分组”和”物理重新分布”拆成两个独立可控的步骤,是处理任何高成本迁移操作时都值得借鉴的模式——先在不动数据的前提下把结构调整到位,再单独决定何时真正搬数据。
参考来源
《Linux开源存储全栈详解从Ceph到容器存储》第7章《分布式存储与Ceph》