服务器高可用集群实战:Keepalived双机热备与HAProxy负载均衡配置

高可用集群架构设计:主备节点与VIP漂移

单台服务器承载关键业务时,硬件故障、系统宕机、网络中断都会直接造成服务不可用。服务器高可用集群的标准做法是双机热备加负载均衡:两台节点通过心跳互检,由Keepalived基于VRRP协议维护一个虚拟IP(VIP),正常时VIP绑定在主节点,主节点失活后备节点在秒级内接管VIP,客户端无感知。前端再由HAProxy对后端服务做负载均衡与健康检查,单台应用节点故障时自动摘除流量。

集群拓扑中,VIP对外提供服务,Keepalived运行在两台节点上,HAProxy反向代理后端两台应用节点。主备切换只迁移VIP,不迁移会话数据,会话一致性由Redis或Cookie会话保持解决。

Keepalived双机热备配置:VRRP虚拟路由器协议实战

两台服务器安装keepalived后,主节点配置如下:

global_defs {
    router_id NGINX_01
    script_user root
    enable_script_security
}

vrrp_script chk_nginx {
    script "/usr/local/bin/check_nginx.sh"
    interval 2
    weight -20
    fall 2
    rise 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass yunthe_ha
    }
    virtual_ipaddress {
        192.168.1.100/24 dev eth0 label eth0:0
    }
    track_script {
        chk_nginx
    }
}

备份节点的state改为BACKUP,priority改为90,其余一致。track_script中的健康检查脚本每2秒执行一次,nginx存活返回0,否则返回1;检测失败时该节点优先级自动扣20分,主节点失活或降级后,备份节点广播抢占VIP。

健康检查脚本check_nginx.sh常用写法:

#!/bin/bash
if pgrep -x nginx > /dev/null; then
    exit 0
else
    systemctl restart nginx
    sleep 2
    pgrep -x nginx && exit 0 || exit 1
fi

HAProxy负载均衡与健康检查配置

HAProxy在每台节点上提供七层转发,配置将后端两台应用节点的80端口编入同组,启用roundrobin调度与主动健康检查:

listen web_cluster 0.0.0.0:8080
    mode http
    balance roundrobin
    option httpchk GET /healthz
    timeout connect 3s
    timeout server 30s
    server app-01 192.168.1.11:8080 check inter 3s rise 2 fall 3
    server app-02 192.168.1.12:8080 check inter 3s rise 2 fall 3

check参数开启主动探活:每3秒请求一次/healthz,连续2次成功标记up,连续3次失败标记down,失败节点自动从轮询池摘除,恢复后自动回池。

故障切换验证与脑裂防护

切换验证通过关停主节点nginx或断网模拟:主节点nginx异常后,vrrp_script触发优先级降低,备节点在数秒内接替VIP,业务访问无中断。脑裂指心跳中断导致两台同时认为自己是主节点,防护手段包括:VRRP使用独立网段心跳避免与应用流量争抢;组播不可用环境下改用单播(unicast_src_ip/unicast_peer);外部仲裁脚本发现双主时强制重启低优先级节点。集群上线前应做完整的断电、断网、进程级故障演练,并配合Prometheus对VIP漂移时间做告警监控。

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

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

相关推荐