PG创建流程状态机逻辑
PG 创建流程的状态机逻辑,讲得还挺清楚。Ceph 的 PG 状态机多个 PG 的状态变迁,用的是 Boost 的状态机库,逻辑清晰、代码也比较简练。整个内容不只是讲概念,更带你走一遍 PG 的创建和 peering 过程。
用状态机 PG 状态切换,嗯,确实比写一堆 if/else 要清爽多了,是在多个 PG 同时调度的时候,这套思路就显得蛮稳。
里面还有状态变迁图和过程,讲得比较细,适合你边读边对着代码看。要是你对状态机感兴趣,还可以顺带看看VHDLMOORE 型和 MERLY 状态机的文章,概念类比起来也挺有意思。
不过要注意,里面涉及到一些 Ceph 内部的流程和术语,新手看着有点绕,建议先了解下 OSD 和 PG 的基本结构再来看。
如果你最近刚好在折腾 Ceph 集群,或者准备上手一些更偏底层的存储调度逻辑,这篇还蛮值得一看的。
下载地址
用户评论