[原]heartbeat 2.x基础架构

    heartbeat 2.x拥有一堆的组件来执行高可用集群的管理工作,之前在heartbeat 2.x基础概念也曾经描述了一部分的内容。但经过细看官方的文档,发现上面的内容还不够详细,特再补充一下。

一、组件
heartbeat 2.x的组件有:

引用
◎ heartbeat – 节点间通信校验模块
◎ CRM – 集群资源管理模块(Cluster Resource Manager)
△ PE – CRM 策略引擎(Policy Engine)
△ TE – CRM 转换引擎(Transition Engine)
△ CIB – 集群信息数据文件(Cluster Information Base)
◎ CCM – 维护集群成员的一致性(Consensus Cluster Membership)
◎ LRM – 本地资源管理模块(Local Resource Manager)
◎ StonithDaemon – 提供节点重启服务
◎ logd – 非阻塞的日志记录
◎ apphbd – 提供应用程序级的看门狗计时器(Application Heartbeat Daemon)
◎ Recovery Manager – 应用故障恢复
◎ 底层结构–包括插件接口、进程间通信等
△ PILS – 插件和接口加载系统(Plugin and Interface Loading System)
△ IPC – 进程间通讯
△ Cluster "plumbing" library – 集群可引用库文件
◎ CTS – 集群测试系统,集群压力测试

二、架构图
点击在新窗口中浏览此图片三、数据传输流程
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依照动作图给出的顺序执行相关的操作;
12、当所有的动作完成后,TE会向CRM返回报告信息,整个集群各节点更新完毕。
四、几个组件的重点说明
1、Cluster Resource Manager
CRM是heartbeat HA的关键组件,它负责维持资源的配置和运行。包括:

引用
使用heartbeat进行通信;
从CCM接收membership的更新;
向LRM发送动作要求,或接收通知信息;
告诉Stonith Daemon什么时候和为什么重启;
向logd daemon写日志信息;

2、Local Resource Manager
LRM是RA(resource agent)的抽象理解,它由CRM来启动、停止、监控相关的资源。LRM基于插件的架构,可以支持多种类型的资源代理,包括:

引用
OCF – Open Cluster Framework,通常放在/usr/lib/resource.d/heartbeat/目录下;
heartbeat v1 – heartbeat v1 版本的代理,通常放在/etc/ha.d/heartbeat/目录下;
LSB – Linux标准脚本文件(init script),通常放在/etc/init.d/目录下;
stonith – 指向STONITH对象实例化的接口代理,被StonithDaemon引用。

LRM就是通过调用以上路径下面的各种脚本来实现对资源的各种操作。每一种类型的脚本都可以由用户自定义,只要符合对应类型的标准即可。实际上,这里的标准就是接受一个标准的调用命令和参数格式,同时返回符合标准的值。
例如start,返回0表示成功,返回7表示失败等。

使用SNMP监控Heartbeat状态
搭建Master-Master Mysql Replication 集群
在Windows下使用红旗HA Cluster  配置工具
构建Heartbeat 3.0.3 GUI+DRBD+Oracle 10g 双机互备集群
Heartbeat 3.0.3 介绍及rpm

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/110750.html

(0)
上一篇 2021年8月26日 17:03
下一篇 2021年8月26日 17:03

相关推荐

发表回复

登录后才能评论