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

[经验分享] 浅析 Heartbeat

[复制链接]

尚未签到

发表于 2019-1-7 06:40:25 | 显示全部楼层 |阅读模式
  1、简介
Heartbeat是一个守护进程,为client的集群基础设施之间的成员及通信服务。它允许clients 掌握在其他server上的对等进程是否正在运行并可以和其他server进行通讯。
为方便使用,Heartbeat 守护进程被合并到集群资源管理器中(cluster resource manager CRM),CRM可以进行启动停止相应服务来提供高高的可用性。这个CRM就是Pacemaker,一个高扩展性,具有丰富管理功能,并且支持Heartbeat和Corosync 集群的通讯层。
   2、组件
   2.1通讯模块
   提供强认证,本地有序的广播
   支持以下类型的网络链路:
   1、在ipv4中的UDP单播
   2、ipv4中的中的udp广播
   3、ipv4中的UDP多播
   4、串行链接(相比网络来说,直接的串口链接是最安全的)
     Heartbeat 可以在半秒内检测node的故障。
     heartbeat layer的API可以提供以下级别的服务:
   1、向集群内的节点,发送和接受数据包
   2、可配置的查询
   3、可以得知正在接受packet的Node的查询和通知的连接信息
   4、基本组的成员服务
     2.2Cluster Consensus Membership
CCM 维护集群成员的一致性
   2.3 Cluster Plumbing Library
     2.4 ipc 进程间通讯
     2.5 logging 守护进程
       将日志信息记录的系统日志中或者其他文件,或者两者都有。这个守护进程是不间断的,它只会摒弃那些落后太多的信息。
      
安装:
    3.1从源码安装:
       需要的软件包:heartbeat ,cluster-glue(包含Heartbeat的本地资源.LRM和 STONITH 插件,这个属于附属软件,必须先安装
    3.1.1从源码安装cluster-glue
       先决条件:
         C编译器(GCC),C的开发包
         flex scanner generator ,the bison parser compiler;
         net-snmp development headers(启用snmp相关功能)
         OpenIPMI development headers(启用IPMI相关功能)
       Python(只是一个语言接口,不需要头文件)
      # wget http://hg.linux-ha.org/glue/archive/glue-1.0.1.tar.bz2
    # tar -vxjf glue-1.0.1.tar.bz2
       安装:
       ./autogen.sh
       ./configure
       make
         make install
       安装 heartbeat,(前期都准备好的话,基本不需要其他依赖包)
         # wget http://hg.linux-ha.org/dev/archive/STABLE-3.0.4.tar.bz2
    # tar -vxjf STABLE-3.0.4.tar.bz2
    安装:
    $ ./bootstrap
      $ ./configure
      $ make
    $ sudo make install
初始化配置:
以下文件必须存在:
/etc/ha.d/ha.cf — 全局配置文件
/etc/ha.d/authkeys – 节点之间进行验证
ha.cf 简单的配置:
autojoin none
禁止cluster Node 自动发现其他Node,直接使用配置文件中已经列出的node list。加快cluster启动过程。

配置文件详解:
ha.cf
logfile /var/log/ha-log 日志存储位置
crm yes (是否开启crm 集群资源管理功能)
bcast eth1 指明心跳检测在eth1上以广播的形式进行。
Keepalive 2   心跳检测间隔时间S。
Warntime 10 心跳延迟的时间,超过后在日志中进行记录。
Deadtime 30   超过此时间,则认为对方 node 已经dead,如果是master的话,则进行角色切换
initdead 120 系统重启过程中,等待时间(至少为deadtime的两倍)
udpport 694 广播通信使用的端口
  baud 19200   设置串行通信的波特率
  serial   /dev/ttyS0 选择串行通信设备,
ucast eth0 ip    使用 eth0 udp 单播的形式进行心跳检测,
  mcast eth0 ip 使用 eth0 多播的形式进行心跳检测
  auto_failback on  当master恢复后,是否将服务自动切回。stonith baytech /etc/ha.d/conf/stonith.baytech  stonith的主 要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争 用一个资源的情形发生。保证共享数据的安全性和完整性。
  watchdog /dev/watchdog #该选项是可选配置,是通过Heartbeat来监控系统的运 行状态。使用该特性,需要在内核中载入"softdog"内核模块,用来生成实际的设备文件, 如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译完成输入 "insmod softdog"加载该模块。然后输入"grep misc /proc/devices"(应为10), 输入"cat /proc/misc |grep watchdog"(应为130)。最后,生成设备文件: "mknod /dev/watchdog c 10 130" 。即可使用此功能。(在半秒内,能检测到系统故障)
node node1              #主节点主机名,"uname -n"查看。
node node2              #备用节点主机名。
  ping  ip ping节点仅仅用来测试网络连接。ping节点选择的越好,HA集群就越强壮, 可以选择固定的路由器作为ping节点,但最好不要选择集群中的成员作为ping节点

资源文件: /etc/ha.d/haresources
文件格式: node-name network
Haresources 文件用于指定系统中的主节点、集群ip、子网掩码、广播地址以及启动的服务等集群资源。文件每一行可以包含一个或多个资源脚本名,资源之间空格隔开。参数之间使用::隔开,在两个ha节点上该文件必须完全一致。
  Node-name 表示主节点的主机名,network 为 设定集群的ip地址、netmask 、device resource-group 用来指定需要Heartbeat 托管的服务,这样heartbeat会根据脚本的名称自动去/etc/init.d 或者 /etc/ha.d/resource.d 目录下找到相应的脚本。
举例:
  Node 1 IPaddr::192.168.60.200/24/eth0/ Filesystem::/dev/sdb5::/web/data:ext3 httpd tomcat
Node 1 是HA集群的主节点,IPaddr 为heartbeat自带的一个执行脚本,它首先执行/etc/ha.d/resource.d/IPaddr 192.168.60.200/24 start 操作,虚拟出一虚拟ip(集群的ip地址)并指定使用的网络接口是eth0,接着 heartbeat将共享磁盘分区的挂接操作,即:mount –t  ext3 /dev/sdb5 /webdata 最后依次启动httpd 和tomcat 服务。
注意点: master和slave中资源文件haresources 完全一样。

认证文件 /etc/ha.d/authkeys
  设定heartbeat的认证方式,三种认证,crc md5 sha1 不推荐 crc
Auth 1
1 md5

(必须保证主节点和备份节点的时间同步,相差10秒内是正常的)




运维网声明 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-660087-1-1.html 上篇帖子: nfs+drbd+heartbeat高可用(实验) 下篇帖子: heartbeat安装总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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