搭建HAProxy+Keepalived高可用负载均衡集群

1 引言

单机性能的瓶颈注定了并发量的上线,所以需要有负载均衡器来横向扩展,打破单机性能瓶颈,而单个负载均衡存在单点故障,当负载均衡服务器宕机时,整个系统不可用,所以我们需要Keepalived进行高可用部署。

在部署高可用负载均衡之前,请先了解如何部署HAProxy负载均衡。参考:部署HAProxy负载均衡

2 准备

准备两台服务器,或者虚拟机。

序号 IP 备注
1 192.168.92.104
2 192.168.92.105

准备一个空的IP地址:192.168.92.201

已经完成了HAProxy的部署和启动

3 安装

# 安装
yum install keepalived -y

# 安装依赖的命令(需要使用killall命令)
yum install psmisc -y
1
2
3
4
5

4 配置

两台机器都要操作,其中主和备有少量区别,在配置的注释中有体现

# 编辑配置文件,可提前备份原有配置文件
vi /etc/keepalived/keepalived.conf
1
2
global_defs {
    router_id LVS_DEVEL  #虚拟路由名称
}
 
#HAProxy健康检查配置
vrrp_script check_haproxy {
    script "killall -0 haproxy"  #使用killall -0检查haproxy实例是否存在,性能高于ps命令
    interval 2   #脚本运行周期
    weight 2   #每次检查的加权权重值
}
 
#虚拟路由配置
vrrp_instance VI_1 {
    state MASTER           #本机实例状态,MASTER/BACKUP,备机配置文件中请写BACKUP
    interface enp0s25      #本机网卡名称,使用ifconfig命令查看
    virtual_router_id 51   #虚拟路由编号,主备机保持一致
    priority 101           #本机初始权重,备机请填写小于主机的值(例如100)
    advert_int 1           #争抢虚地址的周期,秒
    virtual_ipaddress {
        192.168.92.201      #虚地址IP,主备机保持一致
    }
    track_script {
        check_haproxy        #对应的健康检查配置
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

5 启动

# 启用开机自启
systemctl enable haproxy
# 启动服务
systemctl start haproxy
1
2
3
4

提示

部署之后,正式上生产,还需要监控中心,一次监控服务器的负载均衡运行状态。