Apr 15

[原]heartbeat 2.x基础架构 晴

linuxing , 18:03 , 网络服务 » HA , 评论(0) , 引用(0) , 阅读(22142) , Via 本站原创 | |
    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表示失败等。
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]