手把手教你配置负载均衡服务器新加坡实现故障自动切换

2026年3月1日

1.

准备工作与架构说明

准备两台位于新加坡(或同一子网)的负载均衡节点(LB1、LB2),若使用公有云请确认支持浮动IP或允许VRRP。再准备至少两台后端应用服务器(App1、App2)。确认所有机器可互相SSH、时间同步(chrony/ntp),并记录私有IP,例如LB1=10.0.0.10、LB2=10.0.0.11,App1=10.0.0.21、App2=10.0.0.22,虚拟IP(VIP)=10.0.0.100。

2.

在LB节点安装必需软件(以Ubuntu为例)

在LB1与LB2上执行:
sudo apt update && sudo apt install -y haproxy keepalived curl vim
启用并检查HAProxy:sudo systemctl enable --now haproxy;sudo systemctl status haproxy。

3.

配置HAProxy作为前端负载均衡器

编辑 /etc/haproxy/haproxy.cfg,注意替换IP为你的后端地址。关键片段:
global
log /dev/log local0
defaults
timeout connect 5s
timeout client 50s
timeout server 50s
frontend http-in
bind 10.0.0.100:80
default_backend servers
backend servers
option httpchk GET /health
server app1 10.0.0.21:80 check inter 2000 rise 2 fall 3
server app2 10.0.0.22:80 check inter 2000 rise 2 fall 3
保存后重启:sudo systemctl restart haproxy。

4.

在LB节点配置Keepalived实现VIP漂移(VRRP)

编辑 /etc/keepalived/keepalived.conf,LB1配置为MASTER、优先级100,LB2为BACKUP、优先级90。示例如下(LB1):
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication { auth_type PASS auth_pass mypass }
virtual_ipaddress { 10.0.0.100 }
track_script { chk_haproxy }
}
在同目录创建健康检查脚本 /etc/keepalived/check_haproxy.sh(可简单curl本地9000端口或检查haproxy进程),并在keepalived.conf内定义track_script chk_haproxy来在HA失效时使VIP漂移。

5.

实现Keepalived中的HAProxy健康检查脚本

创建脚本 /etc/keepalived/check_haproxy.sh 内容:
#!/bin/bash
if curl -sS http://127.0.0.1:9000/; then exit 0; else exit 1; fi
给可执行权限:sudo chmod +x /etc/keepalived/check_haproxy.sh。并在keepalived.conf中引用为 track_script chk_haproxy { script "/etc/keepalived/check_haproxy.sh" interval 2 weight 2 }

6.

为HAProxy启用本地状态页(便于健康检查)

在haproxy.cfg增加监听管理页:
listen stats
bind 127.0.0.1:9000
mode http
stats enable
stats uri /
stats auth admin:YourStrongPass
之后重启haproxy:sudo systemctl restart haproxy。确保keepalived的check脚本能访问该地址。

7.

调整防火墙与内核转发设置

开放80/443和VRRP所需的协议(VRRP使用协议112,某些云平台不支持)。以ufw为例:sudo ufw allow 80/tcp; sudo ufw allow proto 112; 如果云厂商不允许协议112,改用云提供的浮动IP API或路由表切换。确保内核允许IP转发:sudo sysctl -w net.ipv4.ip_forward=1 并加入 /etc/sysctl.conf 永久生效。

8.

启动并设置开机自启

在两台LB上启用服务:sudo systemctl enable --now keepalived;确认状态:sudo systemctl status keepalived。使用 ip addr show 确认VIP只出现在MASTER节点的网口上(应显示10.0.0.100)。

9.

测试故障自动切换(切换演练)

在正常情况下访问VIP:curl http://10.0.0.100/ 应返回后端内容。模拟故障:在MASTER上停止haproxy或keepalived:sudo systemctl stop haproxy(或kill keepalived);观察几秒内VIP漂移到BACKUP(使用 ip addr show 在LB2上查看)。在BACKUP上确认haproxy接管并能响应请求。恢复MASTER后VIP应根据优先级回切。

10.

监控、日志与告警建议

将HAProxy日志转发到集中式日志(rsyslog/ELK),监控VIP和后端健康(Prometheus+Grafana或Zabbix),并配置告警在VIP漂移或后端失败时通知运维。定期做演练并在非高峰时间测试切换。

11.

云平台注意事项与替代方案

在AWS/GCP等云平台上,原生VRRP通常受限,建议使用云负载均衡(ELB、GCLB)或使用云提供的弹性/浮动IP(例如AWS弹性IP的API重绑定)实现故障切换。若使用浮动IP,keepalived可以改为调用云API切换IP。

12.

常见故障排查要点

若VIP未漂移,检查:接口名是否正确(eth0 vs ens3)、keepalived日志 /var/log/syslog 中的错误、VRID冲突、防火墙阻断协议112或ARP、HAProxy配置语法错误。使用 tcpdump -i eth0 vrrp 观察VRRP报文。

13.

问:在新加坡数据中心部署时,VRRP不工作怎么办?

答:很多云/托管环境禁用协议112或限制ARP,导致VRRP失败。此时推荐使用云提供的浮动IP/弹性IP,通过API在主备切换时重新绑定IP;或直接使用云负载均衡服务(如AWS ELB、GCP LB、阿里云SLB)来替代自建VRRP方案。

14.

问:如何保证切换时业务无明显中断?

答:缩短keepalived advert_int、health check间隔并优化haproxy健康检查参数 rise/fall 值可以加快切换速度;提前做连接draining(haproxy配置backend时用shutdown-sessions或设置check)以减少会话中断;同时后端应支持无状态或会话共享(如Redis会话存储)。

15.

问:我该如何把这套方案扩展到多可用区/多Region?

答:跨可用区/跨Region建议使用全球负载均衡或DNS+健康检查(如GSLB/Route53健康路由)。在每个可用区内部署HAProxy+Keepalived管理本地VIP,外层由DNS或云GW做流量分发与故障转移。

相关文章
  • 如何查找剑灵新加坡服务器的IP地址

    1. 了解剑灵服务器的基本情况 在开始查找剑灵新加坡服务器的IP地址之前,我们需要先了解一下剑灵的服务器架构。剑灵是一款由NCSoft开发的网络游戏,其服务器分布在多个地区,其中新加坡服务器主要服务东南亚地区的玩家。了解服务器的基本结构和位置对后续的查找工作有帮助。 2. 准备工具 在查找IP地址
    2025年10月25日
  • 如何轻松登录新加坡服务器,快速连接无阻

    在互联网时代,连接速度和稳定性是用户体验的关键。而对于需要访问新加坡服务器的用户来说,如何快速而顺畅地登录成为了一个重要课题。本文将探讨多种方法,帮助您轻松登录新加坡服务器,实现快速连接,避免无阻碍的网络体验。 什么是新加坡服务器? 新加坡服务器是指位于新加坡的网络服务器,通常用于提供稳定的网络服务和较低的延迟。由于新加坡的地理位置优越,拥有
    2025年9月12日
  • lol新加坡服务器如何选择和优化游戏体验

    1. 为什么选择新加坡服务器对LOL玩家重要? 选择新加坡服务器对LOL玩家来说非常重要,因为新加坡地理位置优越,能够为亚洲地区的玩家提供更低的网络延迟。较低的延迟意味着游戏过程中的反应速度更快,能够更顺畅地进行操作,从而提升游戏体验。同时,新加坡服务器在网络稳定性和数据传输速度方面也表现良好,能够减少卡顿和掉线的情况,使得游戏更加流畅。 2
    2025年8月26日
  • 新加坡服务器tk:快速、稳定的网络解决方案

    新加坡服务器tk:快速、稳定的网络解决方案 在今天的数字化时代,网络稳定性和速度已经成为企业和个人用户选择服务器的重要考量因素。新加坡服务器tk为您提供快速、稳定的网络解决方案,让您的业务顺畅进行。 新加坡服务器tk采用先进的技术和优质的网络设备,确保快速的响应时间。无论您是在进行在线会议、视频直播,还是在进行大规模数据传输
    2025年6月5日
  • 阿里云新加坡服务器是否支持访问谷歌服务

    随着互联网的快速发展,越来越多的企业和个人用户选择云服务器来满足他们的需求。阿里云作为中国最大的云服务提供商之一,其在新加坡的数据中心吸引了众多用户。然而,许多用户仍然对阿里云新加坡服务器是否支持访问谷歌服务感到疑惑。本文将详细探讨这一问题,并提供相应的解决方案。 阿里云新加坡服务器支持哪些谷歌服务? 阿里云新加坡服务器能够支持多种谷歌服务,
    2025年7月28日
  • 阿里新加坡服务器的性能与性价比分析

    在选择云服务器时,性能和性价比是企业和个人用户最为关注的两个关键因素。阿里云作为全球领先的云计算服务提供商,其在新加坡地区推出的服务器产品,因其卓越的性能和合理的价格而备受欢迎。如果你正在寻找一款性能最好、性价比最高的服务器,阿里新加坡服务器无疑是一个值得考虑的选择。本文将对阿里新加坡服务器的性能、价格以及适用场景等方面进行详细评测。 阿
    2025年12月22日
  • 详细解析新加坡高防服务器的性能与稳定性

    新加坡高防服务器因其优越的性能与稳定性,成为越来越多企业和个人用户的选择。本文将详细解析新加坡高防服务器的特性,并提供一系列实际操作步骤指南,让您能够更好地选择和使用高防服务器。 1. 新加坡高防服务器的定义 新加坡高防服务器是指部署在新加坡数据中心的服务器,具备高防御能力,能够抵御各种网络攻击,如DDoS攻击、CC攻击
    2026年2月4日
  • APEX新加坡服务器名称与适用性详解

    在全球范围内,APEX新加坡服务器因其卓越的性能和稳定性而受到许多企业和个人用户的青睐。选择合适的服务器不仅能提高网站的访问速度,还能增强用户体验。本文将详细介绍APEX新加坡服务器的名称、特点及其适用性,并推荐德讯电讯作为优质的服务提供商,帮助您做出更明智的选择。 APEX新加坡服务器简介 APEX新加坡服务器是专为满足高性能需求而设计的服
    2026年1月5日
  • 新加坡租服务器价格贵?

    新加坡租服务器价格贵? 新加坡作为一个国际化的城市国家,在互联网和科技领域发展迅速,因此很多企业和个人都有需求租用服务器来搭建网站、应用程序或存储数据。然而,一些人可能会有疑问:新加坡租服务器价格是否贵?本文将从几个方面来探讨这个问题。 在新加坡租用服务器的价格受多种因素影响,包括服务器配置、带宽、数据中心位置等。一般来说,配
    2025年6月18日