设为首页 收藏本站
查看: 906|回复: 0

[经验分享] 4.Pacemaker内部组件

[复制链接]

尚未签到

发表于 2018-2-6 17:24:18 | 显示全部楼层 |阅读模式
    Pacemaker作为一个独立的集群资源管理器项目,其本身由多个内部组件构成, 这些内部组件彼此之间相互通信协作并最终实现了集群的资源管理,Pacemaker项目由五个内部组件构成,各个组件之间的关系如图2-6所示。
23738FA3227E4296A47DBA034CA17CB8.jpg

图2-6 Pacemaker内部组件


    • CIB:集群信息基础(Cluster Information Base  。
    • CRMd:集群资源管理进程(Cluster Resource Manager deamon) 。
    • LRMd:本地资源管理进程(Local Resource Manager deamon) 。
    • PEngine (PE):策略引擎(PolicyEngine) 。
    • STONITHd :集群Fencing 进程(Shoot The Other Node In The Head deamon)
CIB主要负责集群最基本的信息配置与管理,Pacemaker中的CIB 主要使用XML 的格式来显示集群
的配置信息和集群所有资源的当前状态信息。CIB所管理的配置信息会自动在集群节点之间进行同步,PE将会使用CIB所提供的集群信息来规划集群的最佳运行状态。并根据当前CIB信息规划出集群应该如何控制和操作资源才能实现这个最佳状态,在PE做出决策之后,会紧接着发出资源操作指令,而PE发出的指令列表最终会被转交给集群最初选定的控制器节点(Designated Controller, DC),通常DC便是运行Master CRMd的节点。在集群启动之初,Pacemaker便会选择某个节点上的CRM进程实例来作为集群Master CRMd ,然后集群中的CRMd 便会集中处理PE根据集群CIB信息所决策出的全部指令集。在这个过程中,如果作为Master的CRM进程出现故障或拥有Master CRM进程的节点出现故障,则集群会马上在其他节点上重新选择一个新的Master CRM进程。
    在PE的决策指令处理过程中,DC会按照指令请求的先后顺序来处理PEngine发出的指令列表,简单来说,DC处理指令的过程就是把指令发送给本地节点上的LRMd(当前节点上的CRMd已经作为Master在集中控制整个集群,不会再并行处理集群指令)或者通过集群消息层将指令发送给其他节点上的CRMd进程,然后这些节点上的CRMd再将指令转发给当前节点的LRMd去处理。当集群节点运行完指令后,运行有CRMd 进程的其他节点会把他们接收到的全部指令执行结果以及日志返回给DC (即DC最终会收集全部资源在运行集群指令后的结果和状态),然后根据执行结果的实际情况与预期的对比,从而决定当前节点是应该等待之前发起的操作执行完成再进行下一步的操作,还是直接取消当前执行的操作并要求PEngine根据实际执行结果再重新规划集群的理想状态并发出操作指令。
    在某些情况下,集群可能会要求节点关闭电源以保证共享数据和资源恢复的完整性,为此,Pacemaker引入了节点隔离机制,而隔离机制主要通过STONITH进程实现。STONITH 是一种强制性的隔离措施, STONINH功能通常是依靠控制远程电源开关以关闭或开启节点来实现。在Pacemaker 中,STONITH设备被当成资源模块并被配置到集群信息CIB中,从而使其故障情况能够被轻易地监控到。同时,STONITH进程( STONITHd )能够很好地理解STONITH设备的拓扑情况,因此,当集群管理器要隔离某个节点时,只需STONITHd的客户端简单地发出Fencing 某个节点的请求, STONITHd就会自动完成全部剩下的工作,即配置成为集群资源的STONITH 设备最终便会响应这个请求,并对节点做出Fenceing操作。
   

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-436649-1-1.html 上篇帖子: 3.Pacemaker集群架构 下篇帖子: 5.PaceMaker集群配置信息管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表