Linux高可用性方案之Heartbeat架构(2)

Heartbeat的数据传输流程
1、所有通讯都从 heartbeat 层开始,并且集群中的成员间的通讯也会通过该层。此外,当某个节点断开或恢复时,该层也会提供连通性信息的标记;
2、这些连通性的改变会被送到 membership 层(CCM),该层会在集群中向邻居发送数据包,并指出哪些节点是在当前该层里面的,哪些不是的;
3、一旦它确认新的会员身份,那么 CCM 会通知其他的客户端改变它们自己的会员身份信息。CRM 和 CIB 是 CCM 的两个最重要的客户端。
4、当它从 CCM 接收到一个新的会员信息时,CIB 会从最新的会员信息中进行更新,并通知它下面的客户端一同更新;
5、当 CRM 注意到 CIB 已经更新,它会通知 PE(policy engine)
6、接着,PE 查看 CIB 文件中 status 部分的内容,看看哪些是由 CIB 的 status 部分带过来的(根据配置部分的默认策略)需要进行的工作;
7、PE 会使用这些信息,并连同策略一起创建一个直接的动作图,然后交给 CRM 处理;
8、CRM 把这些动作交给 TE,它会执行这些工作;
9、TE(通过 CRM)让各个 LRM 运行指定的动作;
10、每个动作完成或超时,TE 都会捕获它们的返回值(状态)
11、TE 会持续让 LRM 依照动作图给出的顺序执行相关的操作;当所有的动作完成后,TE会向 CRM 返回报告信息,整个集群各节点更新完毕。
流程图如下

           

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppypg.html