HeartBeat基础配置(实现Web服务双机热备)

编程

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

本实验实现web服务器的主备双热备份系统

Linux系统:Linux6.8

规划:2台主机做集群

目录:

1、修改主机名,并设置主机名解析

2、建立SSH互信,ssh-keygen

3、NTP时间同步

4、安装heartbeat软件

5、heartbeat服务配置

6、启动服务,进行测试-编写网站页面

1、修改主机名,并设置主机名解析

配置信息

NA1

vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=na1.server.com

vim /etc/hosts

添加

192.168.94.129 na1 na1.server.com

192.168.94.130 na2 na2.server.com

NA2

vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=na2.server.com

vim /etc/hosts

添加

192.168.94.129 na1 na1.server.com

192.168.94.130 na2 na2.server.com

测试效果

在NA1和NA2上进行测试,ping na1 | ping na2

2、建立SSH互信,ssh-keygen

配置信息

NA1

ssh-keygen -t rsa -f ./.ssh/id_rsa -P ""

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

NA2

ssh-keygen -t rsa -f ./.ssh/id_rsa -P ""

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

测试效果

分别ssh对方,不需要输入密码

3、NTP时间同步

配置信息

我们没有时间服务器,为了2台设备能够稳定,我们采用NA1作为ntp服务器。

NA1

vim /etc/ntp.conf

修改内容如下

启动服务

service ntpd start

chkconfig ntpd on

NA2

NA2的时间需要和NA1进行同步,因此关闭NA2的ntp服务,同步NA1的时间。

关闭服务

service ntpd stop

chkconfig ntpd off

同步时间

由于没法每次手动同步时间,我们需要写一个计划任务,定期同步时间

时间同步计划

crontb -e

添加

*/5 * * * * /sbin/ntpdate na1 &> /dev/null

每5分钟同步一次

4、安装heartbeat软件

安装软件之前建议对系统备份一次,避免安装失败,又得从头再来。

下载安装包,这里我使用epel的yum进行安装。

NA1和NA2都进行安装

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm -y

安装heartbeat

yum install heartbeat*

5、heartbeat服务配置

heartbeat有3个主要配置文件

1、秘钥文件 authkeys,该文件权限要为600,不然服务启动会失败。

2、服务配置文件 ha.cf

3、资源管理配置文件 haresources

配置文件路径为/etc/ha.d

默认这个路径下没有配置文件,有个配置样例,在/usr/share/doc/heartbeat-*.*.*/路径下,*是你安装的版本号。

cd /etc/ha.d/

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

设置网站主备

NA1

1、秘钥文件设置

vim /etc/ha.d/authkeys

使用md5,随便计算一个md5值。

2、服务配置

vim /etc/ha.d/ha.cf

在eth1接口上进行广播

添加集群节点(这里的名字必须和主机uname -n一致)

3、资源管理配置

vim /etc/ha.d/sharesources

NA2将NA1的配置文件复制过来即可。

配置完成之后,我们将三个配置文件复制到NA2上

scp authkeys haresources ha.cf  na2:/etc/ha.d/

7、启动服务,进行测试

首先停止并且关闭开机自启httpd服务。

NA1&NA2

service httpd stop

chkconfig httpd off

编写网站页面

NA1

echo "<h1>na1.server.com</h1>" >> /var/www/html/index.html

NA2

echo "<h1>na2.server.com</h1>" >> /var/www/html/index.html

启动heartbeat服务

NA1&NA2

service heartbeat start

结果查看

NA1上查看日志消息

查看端口服务

现在NA1是主服务节点

访问VIP192.168.94.222

模拟NA1故障,使用内置脚本hb_standby,将NA1修改为从节点。

将NA1改为从节点

访问VIP192.168.94.222

现在NA2为主,NA2提供web服务。

查看端口状态

NA1

NA2

现在我们NA2是主节点,我们在换回来,让NA1当主。

NA2

[root@na2 ~]# /usr/share/heartbeat/hb_standby

Going standby [all].

[root@na2 ~]#

模拟真实故障,我们把NA1关机测试。

NA1关机后,NA2变为了主节点,为客户端提供服务,能够实现备双热备份系统。


读书和健身总有一个在路上

原文链接:https://www.cnblogs.com/Renqy/archive/2020/05/25/12958588.html

以上是 HeartBeat基础配置(实现Web服务双机热备) 的全部内容, 来源链接: utcz.com/z/516769.html

回到顶部