Linux高可用集群实战:Keepalived与HAProxy搭建Web负载均衡

Linux高可用集群是企业生产环境的基础设施标配。Keepalived负责VIP(虚拟IP)漂移,HAProxy负责流量分发,两者配合可以在单台Web服务器宕机时做到秒级切换,实现故障自动转移。本文用两台CentOS 7主机演示完整搭建过程。

高可用集群架构设计与VIP漂移原理

集群由两台节点(node1: 192.168.1.10,node2: 192.168.1.11)和一个对外VIP(192.168.1.100)组成。Keepalived通过VRRP协议在节点间互发通告报文,优先级高的节点成为MASTER持有VIP,优先级低的节点进入BACKUP状态待命。MASTER故障后BACKUP在秒级抢占VIP,对外服务不中断。

Keepalived部署:VRRP实例配置要点

安装Keepalived后修改/etc/keepalived/keepalived.conf:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 8tech#2026
    }
    virtual_ipaddress {
        192.168.1.100/24 dev eth0
    }
    track_script {
        chk_haproxy
    }
}

node2把state改为BACKUP、priority改为90,其余保持一致。track_script挂脚本检查haproxy进程存活,进程不在时VIP也跟随漂移,避免有VIP无服务的状态。

HAProxy反向代理配置:健康检查与调度算法

HAProxy负责把请求转发到后端的Web服务器组,配置/etc/haproxy/haproxy.cfg:

global
    daemon
    maxconn 4096

defaults
    mode http
    timeout connect 5s
    timeout client 50s
    timeout server 50s

frontend web_front
    bind *:80
    default_backend web_back

backend web_back
    balance roundrobin
    option httpchk GET /health
    server web1 192.168.1.20:8080 check inter 3s fall 3 rise 2
    server web2 192.168.1.21:8080 check inter 3s fall 3 rise 2

balance roundrobin按权重轮询,httpchk开启HTTP健康检查,fall 3表示连续三次失败才摘除节点,rise 2表示恢复两次后重新加入。

故障切换验证与监控要点

验证步骤:访问http://192.168.1.100,依次关闭node1的haproxy进程和整台机器,观察VIP是否在node2上出现(ip addr show eth0)。切换耗时约2-3秒,取决于检查脚本周期。

排查要点:tcpdump抓vrrp组播报文判断心跳是否正常;检查防火墙是否放行VRRP协议;确认track_script脚本有执行权限。Keepalived日志默认写入/var/log/messages,VIP抢占失败优先看这里。

集群性能验证与稳定性评估

用ab或wrk压测VIP地址,确认轮询算法生效、后端请求分布均匀,单个节点故障时请求自动落到健康节点。稳定运行一周后再接入更多节点,先小流量灰度再逐步放量。

原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/linux-gao-ke-yong-ji-qun-shi-zhan-keepalived-yu-haproxy-da/

(0)
小编小编
上一篇 8小时前
下一篇 8小时前

相关推荐