前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高可用集群Heartbeat配置实践

高可用集群Heartbeat配置实践

作者头像
yuanfan2012
发布2019-10-10 17:19:01
9850
发布2019-10-10 17:19:01
举报
文章被收录于专栏:WalkingCloud

1)Heartbeat高可用介绍

Heartbeat,心跳的意思,这里是Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统。心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里,由 heartbeat 模块实现了这两个功能。

2)heartbeat最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务

keepalived主要控制IP飘移,配置应用简单,而且分层,layer3、4、5各自配置极为简单

heartbeat不但可以控制IP飘移,更擅长对资源服务的控制,配置,应用比较复杂

3)Heartbeat工作原理

通过修改Heartbeat的配置文件,可以指定哪台Heartbeat服务器作为主服务器,则另一台服务器自动成为热备服务器,然后在热备服务器上配置Heartbeat守护程序来监听来自主服务器的心跳消息。如果热备服务器在指定的时间内未监听到来自主服务器的心跳,就会启动故障转移程序,并取得主服务器上的相关资源服务的所有权,接替主服务器继续不间断的提供服务,从而达到资源及服务高可用性的目的。

另外,和keepalived高可用软件一样,heartbeat高可用是操作系统级别的,不是服务(软件)级别的,可以通过简单的脚本控制,实现服务级别的高可用

以上概念转载于https://www.cnblogs.com/miaoxg

官方网站:http://www.linux-ha.org/wiki/Download


下面介绍如何在CentOS6上配置Heartbeat高可用集群服务

1、先配置双机互信,SSH密钥登录

ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.31.7

同样节点node2上

ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

ssh-copy-id -i ./.ssh/id_rsa.pub root@192.168.31.6

修改本地地址解析文件

vi /etc/hosts加入如下两条记录

192.168.31.6 node1.walkingcloud.cn node1

192.168.31.7 Node2.walkingcloud.cn node2

2、下载heartbeat的rpm的安装包,并安装heartbeat

https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/Packages/h/

以及libnet包

yum install cluster-glue

yum install PyXML resource-agents

一步一步解决包依赖问题

libapphb.so.2()(64bit) is needed by heartbeat-3.0.4-2.el6.x86_64

libhbclient.so.1()(64bit) is needed by heartbeat-3.0.4-2.el6.x86_64

这时同时安装 rpm -ivh heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm 就可以解决

同样在node2上也需要安装,先scp将rpm包全部拷贝过去,然后也进行安装,node2上的操作步骤略

3、两个节点安装httpd服务,并测试httpd服务能正常启动,浏览器登录测试

yum install -y httpd

echo "<h1>node1.walkingcloud.cn</h1>" >> /var/www/html/index.html

service httpd start

同样,node2上

测试OK后,service httpd stop,并chkconfig httpd stop

4、配置Heartbeart的配置文件

cd /etc/ha.d/

cp /usr/share/doc/heartbeat-3.0.4/{authkeys,ha.cf,haresources} ./

chmod 600 authkeys

1)authkeys文件

echo "www.walkingcloud.cn" | md5sum 生成的md5值

配置授权文件

2)vi ha.cf 配置ha.cf文件

取消如下5项之前的#,修改为如下

keepalive 2

bcast eth0

node node1.walkingcloud.cn

node node2.walkingcloud.cn

ping 192.168.31.1

3)vi haresources

node1.walkingcloud.cn IPaddr::192.168.31.200/24/eth0 httpd

在node2上编辑完成后,scp拷贝到node1上

scp -p ha.cf haresources authkeys node1:/etc/ha.d/

5、测试HA

1)启动node1上的heartbeat

service heartbeat start

2)远程启动node2上的heartbeat

ssh node2 "service heartbeat start"

3)查看HA服务启动日志

tail -f /var/log/messages

4)ip addr可以看到VIP 192.168.31.200的地址

将node1的eth0网卡down掉,测试httpd业务是否自动迁移到node2上

node2上tail -f /var/log/messages可以看到node2已经自动接管过去了

ip addr也看到 192.168.31.200的地址

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档