整体结构图
一、安装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 任然可以访问。