Keepalived+HAProxy 高可用负载均衡(2)

同理配置10.1.6.205

root@10.1.6.205:~# cat /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
script "killall -0 haproxy" # verify the pid existance
interval 2 # check every 2 seconds
weight 2 # add 2 points of prio if OK
}

vrrp_instance VI_1 {
interface eth1 # interface to monitor
state BACKUP
virtual_router_id 51 # Assign one ID for this route
priority 100 # 101 on master, 100 on backup
virtual_ipaddress {
10.1.6.173
}

track_script {
chk_haproxy
}

notify_master /etc/keepalived/scripts/start_haproxy.sh
notify_fault /etc/keepalived/scripts/stop_keepalived.sh
notify_stop /etc/keepalived/scripts/stop_haproxy.sh

}

下面再介绍下haproxy

HAProxy是一款基于TCP(第四层)和HTTP(第七层)应用的代理软件,它也可作为负载均衡器.可以支持数以万计的并发连接.同时可以保护服务器不暴露到网络上,通过端口映射.它还自带监控服务器状态的页面.

安装haproxy

wget -O/tmp/haproxy-1.4.22.tar.gz
tar xvfz /tmp/haproxy-1.4.22.tar.gz -C /tmp/
cd /tmp/haproxy-1.4.22
make TARGET=linux26
make install

haproxy需要对每一个MySQLcluster服务器进行健康检查

1.在2台主机分别配置haproxy.cfg

root@10.1.6.203:scripts# cat /etc/haproxy/haproxy.cfg
global
maxconn 51200 #默认最大连接数 
#uid 99
#gid 99
daemon #以后台形式运行haproxy
#quiet
nbproc 1 #进程数量(可以设置多个进程提高性能) 
pidfile /etc/haproxy/haproxy.pid #haproxy的pid存放路径,启动进程的用户必须有权限访问此文件 

defaults
mode tcp #所处理的类别 (#7层 http;4层tcp  ) 
option Redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器 
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的连接 
timeout connect 5000s  #连接超时
timeout client 50000s #客户端超时
timeout server 50000s #服务器超时
log 127.0.0.1 local0 #错误日志记录
balance roundrobin  #默认的负载均衡的方式,轮询方式 

listen proxy
bind 10.1.6.173:3366 #监听端口 
mode tcp #http的7层模式
option httpchk #心跳检测的文件
server db1 10.1.6.203:3306 weight 1 check port 9222 inter 12000 rise 3 fall 3 #服务器定义,check inter 12000是检测心跳频率 rise 3是3次正确认为服务器可用, fall 3是3次失败认为服务器不可用,weight代表权重 
server db2 10.1.6.205:3306 weight 1 check port 9222 inter 12000 rise 3 fall 3

listen haproxy_stats
mode http
bind 10.1.6.173:8888
option httplog
stats refresh 5s
stats uri /status #网站健康检测URL,用来检测HAProxy管理的网站是否可以用,正常返回200,不正常返回503 
stats realm Haproxy Manager
stats auth admin:p@a1SZs24 #账号密码

root@10.1.6.205:~$ cat /etc/haproxy/haproxy.cfg
global
maxconn 51200
#uid 99
#gid 99
daemon
#quiet
nbproc 1
pidfile /etc/haproxy/haproxy.pid

defaults
mode tcp
option redispatch
option abortonclose
timeout connect 5000s
timeout client 50000s
timeout server 50000s
log 127.0.0.1 local0
balance roundrobin

listen proxy
bind 10.1.6.173:3366
mode tcp
option httpchk
server db1 10.1.6.203:3306 weight 1 check port 9222 inter 12000 rise 3 fall 3
server db2 10.1.6.205:3306 weight 1 check port 9222 inter 12000 rise 3 fall 3

listen haproxy_stats
mode http
bind 10.1.6.173:8888
option httplog
stats refresh 5s
stats uri /status
stats realm Haproxy Manager
stats auth admin:p@a1SZs24

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d143f336eaed53ad1e8f130a48d628bf.html