Heartbeat

 

Server1 172.25.23.1

Server2 172.25.23.2

VIP 172.25.23.100

Iptables selinux disabled 加解析 rhel6.5

 

server1server2上都配置

一.配置heartbeat

1.安装软件

[root@server1 ~]# yum install httpd -y# web做测试

[root@server1 ~]# ls

heartbeat_第1张图片 

[root@server1 ~]# yum install -y *

 

2.修改配置文件

[root@server1 ~]# cd /etc/ha.d

[root@server1 ha.d]# rpm -q heartbeat -d

heartbeat_第2张图片 

 

[root@server1 ha.d]# vim ha.cf

......

29 logfile /var/log/ha-log#系统运行日志文件,取默认值

48 keepalive 2#心跳频率,自己设定。1:表示1秒;1ms:表示 1毫秒

56 deadtime 30#节点死亡时间阀值,就是从节点在过了 30 后还没有收到心跳就认为主节点死亡

61 warntime 10#发出警告时间

71 initdead 60#守护进程首次启动后应该等待 120 秒后再启动主服务器上的资源

76 udpport 694#心跳信息传递的 udp 端口,使用端口694进行 bcast ucast 通信 (同一个广播域udpport不同)

91 bcast   eth0

157 auto_failback on         #当主节点恢复后,是否自动切回

211 node   server1.example.com #主节点,排在前边

212 node   server2.example.com #从节点

220 ping 172.25.23.250 # ping第三方IP

253 respawn hacluster /usr/lib64/heartbeat/ipfail

259 apiauth ipfail gid=haclient uid=hacluster

......

 

[root@server1 ha.d]# vim authkeys # 认证方式

......

auth 1

1 crc

#2 sha1 HI!

#3 md5 Hello!

 

[root@server1 ha.d]# chmod 600 authkeys # 修改权限

[root@server1 ha.d]# vim haresources

......

server1.example.com IPaddr::172.25.23.100/24/eth0 httpd   

 

# IPaddr 的作用是启动 Virutal IP,它是 HeartBeat 自带的一个脚本

# ldirectord 的作用是启动 ldirectord 监控程序它会使 ldirectord.cf 中定义的 lvs 生效

并监听其健康状

# httpd apache 服务的启动脚本。

 

三个主默认目录: /etc/init.d   /etc/ha.d/rc.d   /etc/ha.d/resource.d

                                                       

[root@server1 ha.d]# scp authkeys haresources ha.cf [email protected]:/etc/ha.d/

[root@server1 ha.d]# /etc/init.d/heartbeat start

[root@server2 ha.d]# /etc/init.d/heartbeat start

# 同时启动server1server2服务

[root@server1 ha.d]# tail -f /var/log/ha-log

# 查看启动是否成功

 

2.测试

[root@server1 ha.d]# echo server1 > /var/www/html/index.html

[root@server2 ha.d]# echo server2 > /var/www/html/index.html

[root@server1 ha.d]# Ip addr show #可查看到vip在哪里

 

访问172.252.3.100 先访问server1的,当server1heartbeat停止,再由server2接管。期间若server1heartbeat启动(只能手动启动,不会自动),则又由server1接管,这是因为采用了主备模式。

 

当主节点server1只停止httpd服务时,只要heartbeat服务不停止,server2就不会接管;所以网页访问时会出现错误界面。