高可用负载均衡服务器实现(keepalived + haproxy)

准备


  • 两台Centos服务器,分别为118、119

  • 一个未被使用的ip地址,180

配置 haproxy


  • 安装haproxy
yum -y install haproxy
  • 编辑 haproxy.service 文件
vi /usr/lib/systemd/system/haproxy.service
  • 在 ExecStart 前添加 ExecStartPre
ExecStartPre=/usr/bin/mkdir -p /run/haproxy
  • 配置 haproxy.cfg 文件
global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon
        nbproc 1

defaults
        log     global
        timeout connect 5000
        timeout client  50000
        timeout server  50000

listen frontend
        bind 0.0.0.0:80
        mode tcp
        option tcplog
        balance source
        server s1 [ip地址]  check inter 10000 fall 2 rise 2 weight 1
        server s2 [ip地址]  check inter 10000 fall 2 rise 2 weight 1
配置 keepalived


  • 安装keepalived
yum -y install keepalived
yum -y install psmisc
  • 编辑 keepalived.conf 文件,两台服务器会分配两个角色:master、backup,分别需要不同的配置。
vi /etc/keepalived/keepalived.conf

//master 118
global_defs {
    router_id 192.168.22.118
}

vrrp_script check-haproxy {
    script "killall -0 haproxy"
    interval 5
    weight -30
}

vrrp_instance VI-lb {
    state MASTER
    priority 120
    dont_track_primary
    interface ens160
    virtual_router_id 52
    advert_int 3
    track_script {
        check-haproxy
    }
    virtual_ipaddress {
        192.168.22.180
    }
}

//backup
global_defs {
    router_id 192.168.22.119
}

vrrp_instance VI-lb {
    state BACKUP
    priority 110
    dont_track_primary
    interface ens160
    virtual_router_id 52
    advert_int 3
    virtual_ipaddress {
        192.168.22.180
    }
}
重启


  • 重新加载 haproxy.service
systemctl daemon-reload
  • 设置 haproxy和keepalived 开机自启并重新启动
systemctl enable haproxy && systemctl restart haproxy
systemctl enable keepalived && systemctl restart keepalived
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值