Heartbeat
Server1 172.25.23.1
Server2 172.25.23.2
VIP 172.25.23.100
Iptables selinux disabled 加解析 rhel6.5
在server1和server2上都配置
一.配置heartbeat
1.安装软件
[root@server1 ~]# yum install httpd -y# 用web做测试
[root@server1 ~]# ls
[root@server1 ~]# yum install -y *
2.修改配置文件
[root@server1 ~]# cd /etc/ha.d
[root@server1 ha.d]# rpm -q heartbeat -d
[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
# 同时启动server1和server2服务
[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的,当server1的heartbeat停止,再由server2接管。期间若server1的heartbeat启动(只能手动启动,不会自动),则又由server1接管,这是因为采用了主备模式。
当主节点server1只停止httpd服务时,只要heartbeat服务不停止,server2就不会接管;所以网页访问时会出现错误界面。