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

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做流量分发与故障转移。

相关文章
  • 国际服新加坡服务器连接失败时的解决方案

    在网络游戏中,连接服务器的稳定性直接影响玩家的游戏体验。对于使用国际服的玩家来说,尤其是新加坡服务器,连接失败的问题时有发生。本文将详细探讨连接失败的原因,并提供针对性的解决方案,以帮助玩家快速恢复游戏体验。 为什么会出现连接失败的情况? 连接失败的情况可能由多种因素引起。首先,网络不稳定是最常见的原因。无论是Wi-Fi信号不佳,还是ISP(
    2025年9月6日
  • dota2宝石td如何避免频繁连接新加坡服务器

    1. 了解连接新加坡服务器的原因 在玩Dota 2宝石TD时,很多玩家会遇到频繁连接新加坡服务器的问题。这通常是由于网络延迟、ISP(互联网服务提供商)路由不佳或服务器负载过高等原因导致的。了解这些原因,有助于找出解决方案。 2. 检查你的网络连接 首先,确保你的网络连接是稳定的。可以通过以下步骤进行检查
    2025年8月15日
  • 最佳选择:新加坡云服务器的优势

    最佳选择:新加坡云服务器的优势 在当今数字化时代,云服务器已成为企业和个人网站运营的重要基础设施。选择合适的云服务器提供商对于网站的性能、安全性和稳定性至关重要。新加坡作为亚洲主要的技术中心,拥有先进的网络基础设施和稳定的网络连接,因此选择新加坡作为云服务器托管地点是一个明智的选择。 1. 稳定的网络连接 新加坡拥有先进
    2025年7月2日
  • 新加坡高防云服务器租用的最佳选择指南

    在全球互联网环境中,选择合适的高防云服务器尤为重要,尤其是在安全性和性能方面。新加坡作为东南亚的一个重要数据中心,其高防云服务器租用服务逐渐受到企业和用户的关注。本文将为您详细介绍新加坡高防云服务器租用的最佳选择指南,帮助您在选择时做出明智的决策。 新加坡高防云服务器有哪些优势? 新加坡高防云服务器的优势主要体现在安全性、稳定性和网络速度等方
    2025年9月11日
  • 新加坡叫车服务器:快速方便的打车服务

    新加坡叫车服务器:快速方便的打车服务 新加坡是一个繁忙的城市,人们经常需要打车来节省时间和方便地到达目的地。为了满足这种需求,新加坡发展了一套高效的叫车系统,使打车变得更加快速方便。 新加坡的叫车服务器是一个集成了各家出租车公司的系统,通过一个平台统一管理和调度出租车资源。乘客只需要在手机App上输入出发地和目的地,系统就
    2025年6月22日
  • 新加坡租服务器价格大揭秘,怎样选择更划算

    在当今数字化快速发展的时代,选择合适的服务器对于企业和个人来说至关重要。本文将深入探讨新加坡租服务器的价格,并提供详细的选择指南,帮助你找到最划算的方案。 1. 新加坡服务器市场概述 新加坡作为东南亚的科技中心,拥有众多的服务器提供商。这里的服务器一般具有较高的稳定性和速度,非常适合需要国际业务的公司。此外,数据中心的建设和维护在新加坡也相对
    2026年2月8日
  • 新加坡LOL服务器的直连方式与效果

    新加坡LOL服务器直连攻略 在如今的网络游戏时代,英雄联盟(LOL)的玩家越来越多,而选择合适的服务器对提升游戏体验至关重要。新加坡的LOL服务器因其出色的网络条件而备受玩家青睐。本篇文章将深入探讨新加坡LOL服务器的直连方式及其效果,帮助玩家们更高效地选择和使用服务器。 以下是我们将要讨论的三大精华: 直连方式概述 — 了解如何通
    2025年11月11日
  • 新加坡服务器在FIFA游戏中的最佳选择指南

    在当今快节奏的游戏环境中,选择一个合适的服务器对游戏体验至关重要。特别是在FIFA游戏中,延迟和连接稳定性直接影响到玩家的表现。本文将为您提供关于新加坡服务器在FIFA游戏中的最佳选择指南,帮助您提升游戏体验。 为什么选择新加坡服务器? 新加坡服务器因其优越的地理位置和网络基础设施,成为了许多玩家的首选。首先,新加坡地处东南亚的中心,能够为周
    2026年2月9日
  • 新加坡云服务器品牌排名

    新加坡云服务器品牌排名 随着云计算技术的迅速发展,越来越多的企业选择使用云服务器来托管他们的应用程序和数据。新加坡作为东南亚地区的商业中心,拥有良好的网络基础设施和稳定的电信网络,成为了许多企业选择的热门云服务器托管地。本文将介绍新加坡云服务器品牌排名,帮助读者选择合适的云服务器品牌。 作为全球领先的云计算服务提供商之一,AW
    2025年4月26日