浅谈HACMP心跳.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈HACMP心跳

任何一种 HA 软件都有一套自己的心跳机制来监控集群中节点的状态。心跳在高可用软件中担负着节点间信息通信,故障判断,事件触发等等重要作用,是 HA 软件最核心的组件。HA 集群就好比人一样,心跳正常就没有大碍,心跳不正常那就出问题了。 初识 HACMP 心跳 HACMP 软件主要监控 4 种故障:节点,网卡,网络,应用。其中前三种都是通过心跳来监控并产生事件响应的,我们可以看出使用 HACMP 集群,可谓玩的就是心跳。如果不了解心跳的过程和基本原理,使用 HACMP 搭建起来的高可用的平台就可能是高不可用。 其实 HACMP 的心跳并不复杂高深,像所有的 HA 软件一样,心跳包是用来传递节点的状态信息,HACMP 的心跳包从最高的 IP 地址依次单向流动到最低 IP 地址,然后再返回到 IP 地址最高的节点形成一个单向循环的环路。每一个物理子网都会有一个心跳环路,包括串口心跳和磁盘心跳这些点对点的心跳,在广义上也是各自独立的心跳环路。 每个环路我们称之为一个心跳网络。其心跳过程我们可以参看下图,Node3 有最高的 IP 地址 192.168.1.3,它是该心跳环路的 Group Leader。 Node3 产生的心跳包发送给 Node2,Node2 产生的心跳包发送给 Node1,Node1 则发送给 Node3 形成一个环路。 对于 HACMP 集群来说,至少需要 2 个心跳网络来保证心跳网络的冗余,而且更进一步,至少需要 2 种不同类型的心跳网络保证更高的可靠性,比如,一个 IP 网络心跳,一个磁盘心跳。之所以对心跳网络可靠性有如此高的要求,除了我们之前描述的心跳网络的重要作用以外,还有更重要的原因:如果 2 个节点间心跳通信完全中断后,他们都会认为对方已经宕机,然后都在本地启动应用,并同时去争抢磁盘资源,有可能导致数据出现风险,即所谓的 split-brain 事件。所以 HACMP 包括其他的 HA 的集群应用都有一个很重要的前提,就是要求在任何时刻至少存在一个可用的心跳网络在节点间传递信息。 再看 HACMP 心跳 从 HACMP5.1 版本以后,HACMP 的心跳已经交由 RSCT(Reliable Scalable Cluster Technology)这一套中间层软件来实现。RSCT 相当于是一个集群应用与集群管理的中间通讯平台,它提供了丰富的集群功能简化了集群应用开发的复杂性。在其他的一些软件,比如 IBM CSM 集群管理软件和 HMC 上的部分管理功能都是通过 RSCT 的组件来实现的。 再细分来看,负责心跳的是 RSCT 中的 Topology Services 模块。我们下面先了解一下 Topology Services 的初始化过程。Topology Services 的核心进程是 /usr/sbin/rsct/bin/hatsd 。hatsd 启动后就开始广播本节点信息同时侦听其他节点的信息,经过自举、推举、还有一段时间等待(其过程有点类似于以太网交换机通过 spanning-tree 协议选举 root 节点),最后在该子网中找出所有节点里一个 IP 地址最高的,将它定义为 group leader。 Group leader 作为一个权威节点负责该子网中节点状态信息的收集,管理,更新和发布。至此,心跳网络就完成了其初始化过程开始正常心跳。另外,为防止 Group Leader 宕机,还定义了 IP 地址第二高的节点作为 Group Leader 的监控节点称之为 Group Leader Successor,它负责监控 Group Leader 状态,在必要时可以弹劾并成为 Group Leader。 在心跳网络建立以后,网络状态的监控被分为两部分,一是网卡物理状态的监控;一是逻辑上的网络链路状态监控。网卡物理状态的监控是通过为每一块网块创建一 个监控进程(NIM)来实现的,当网卡状态改变会立刻通知 RSCT,比如网卡 Link down 的信息就会被 NIM 立刻发现并产生 Network adaptor failure 的事件。 另一方面,hacmp 心跳故障判断还能从逻辑上分析判断网络状态。我们以下图为例。假设在运行过程中,Node3 到 Node2 之间的网络发生意外中断,但是 Node3 网卡的链路状态仍然为 UP,此时物理的网卡监控不会做出反应。然而心跳包会开始丢包,Node2 会发现无法收到 Node3 的心跳包,但此时并不能确定到底是 Node2 还是 Node3 网络出现故障。为了进一步确定故障,Node3 会通过 RSCT 走别的心跳网络发命令给第三个节点(node1),让第三个节点(Node1)分别去 ping Node2 和 Node3。如果故障点在 Node

文档评论(0)

zhanghc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档