方案一
也就是也vip在哪里,haproxy就在哪里启动的主备模式。
[root@BACKUP ~]# cat /etc/ha.d/haresources
#gao services
#10.0.0.103
MASTER IPaddr::10.0.0.103/24/eth0 haproxyd
[root@BACKUP ~]#
注意点:
##haproxy 如果给heartbeat管理,那么上面的haproxy脚本必须要早/etc/init.d/目录或者早/etc/ha.d/rresource.d/目录上
让不同的VIP在不同的服务器提供haproxy服务。出现问题了,另外一台设备接管。
######################################################
######################################################
######################################################
#方案二
#也就是在主和备都启动haproxy,但是vip在哪里,哪边就提供服务。
[root@BACKUP ~]# cat /etc/ha.d/haresources
#gao services
#10.0.0.103 #后面不接服务
MASTER IPaddr::10.0.0.103/24/eth0
[root@BACKUP ~]#
#这个方案需要解决一个问题,就是多vip,在备用服务器没有的vip,对于的haproxy无法启动。这个时候需要进行内核调优。
解决方法如下:
echo "net.ipv4.ip_nonlocal_bind = 1" >>/etc/sysctl.conf
sysctl -p
#对于haproxy的多业务,就用多listen 标签,这样就可以了,一个业务对应一个listen标签,在对应一个VIP。
这样就可以和heartbeat一起使用实现双主的架构,这样的话就可以在主备两台服务器中负载均衡得使用haproxy了。
如:
vip 10.0.0.104 ===========》listen www
vip 10.0.0.103 ===========》listen bbs
通过heartbeat虚拟出两个VIP,一台服务器虚拟出一个VIP
Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
CentOS 6.3下Haproxy+Keepalived+Apache配置笔记