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

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

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

Linux系统:Linux6.8

规划:2台主机做集群

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

目录:

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

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

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

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对方,不需要输入密码

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

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

3、NTP时间同步

配置信息

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

NA1

vim /etc/ntp.conf

修改内容如下

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

启动服务

service ntpd start
chkconfig ntpd on

NA2

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

关闭服务

service ntpd stop
chkconfig ntpd off

同步时间

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

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

时间同步计划

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值。

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

2、服务配置

vim /etc/ha.d/ha.cf

在eth1接口上进行广播

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

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

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

3、资源管理配置

vim /etc/ha.d/sharesources
HeartBeat基础配置(实现Web服务双机热备)

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

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

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

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

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上查看日志消息

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

查看端口服务

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

现在NA1是主服务节点

访问VIP192.168.94.222

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

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

将NA1改为从节点

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

访问VIP192.168.94.222

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

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

查看端口状态

NA1

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

NA2

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

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

NA2

[root@na2 ~]# /usr/share/heartbeat/hb_standby
Going standby [all].
[root@na2 ~]#

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

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

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

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


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

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

上一篇:2019-2020-2-《网络对抗技术》-20175332 张苗-exp9 Web安全基础


下一篇:https 相关概念