整体结构图

一、安装haproxy
1、在192.168.127.135中安装haproxy。
上一节我们在192.168.127.134中安装haproxy,这节我们在192.168.127.135中安装haproxy
安装过程参考MyCat高可用设计
2、修改haproxy 配置
vi /etc/haproxy/haproxy.cfg

针对http的配置注释掉

配置连接两台mycat

3、启动haproxy
haproxy -f /etc/haproxy/haproxy.cfg
进程已经在了,说明启动成功

4、使用Navicat连接haproxy
1) 使用的端口为5000,防火墙开放5000端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=5000/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
2) Navicat连接haproxy

到这里,我们在192.168.127.134和192.168.127.135都安装了haproxy。
二、使用Keepalived保障haproxy的高可用
1、在192.168.127.134安装Keepalived
yum search keepalived
yum install -y keepalived.x86_64
2、修改keepalived配置文件
1) 注释vrrp_strict 将影响虚拟IP
cd /etc/keepalived
vi keepalived.conf

整体配置
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
# vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
# 配置虚拟IP,一台为Master,另外一台为Slave。Master才能得到虚拟IP
vrrp_instance VI_1 {
state MASTER
# ens33为网卡名称 使用ip address查看
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
# 虚拟Ip地址
virtual_ipaddress {
192.168.127.199
}
}
# 虚拟Ip,定义端口为6000
virtual_server 192.168.127.199 6000 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
# 本机地址。5000为haproxy端口
real_server 192.168.127.130 5000 {
weight 1
# 心跳监测,监测haproxy是否存活
TCP_CHECK {
connect_port 5000
connect_timeout 10000
}
}
}
2、在192.168.127.135安装Keepalived。(参考前面的步骤)
3、启动Keepalived
分别启动134和135的keepalived
keepalived -f /etc/keepalived/keepalived.conf
使用ps查看是否启动成功

134中查看ip,可以看到多了一个虚拟ip,192.168.127.199

135中查看ip,
4、Navicat连接keepalived

密码位mycat的密码
如下图,说明已经连接成功

192.168.127.135
5、停止134的keepalived,可以发现使用虚拟Ip, keepalived仍然可用。

6、停止135的haproxy, 可以发现192.168.127.199 任然可以访问。
原文:https://www.cnblogs.com/linlf03/p/13972833.html