1. 概述与目标
目标说明:构建基于香港电信节点的多节点容灾与负载均衡架构,保证业务在单点故障时自动切换并均衡流量。
小分段:说明业务类型(Web/API),RPO/RTO 目标(如RTO ≤ 2 分钟),以及流量峰值估算。
2. 节点与供应商选择
步骤1:至少选择三个
香港VPS节点,分布在不同机房或不同电信交换节点(如电信=China Telecom、联通或直连香港ISP)。
步骤2:优先选择支持公网弹性IP或支持BGP/Anycast的服务商,记录带宽、端口转发与防火墙限制。
3. 操作系统与基础环境准备
步骤1:统一使用稳定发行版(Debian/Ubuntu/CentOS),更新系统:apt update && apt upgrade -y。
步骤2:配置时区、NTP:apt install -y chrony && systemctl enable --now chrony。关键信任SSH Key并禁用密码登录。
4. 网络与防火墙配置
步骤1:开放必要端口(80/443、TCP 6443等),并为keepalived心跳和VRRP保留UDP 112或指定端口。
步骤2:在iptables或firewalld中允许VIP漂移的端口和HAProxy健康检查端口(例如:443、8080)。
5. 负载均衡软件选择
建议:前端使用HAProxy或Nginx做L7/L4负载均衡,结合keepalived做L2/L3漂移实现高可用。
小分段:HAProxy适合TCP/HTTP长连接,高并发;Nginx适合HTTP/HTTPS场景并支持更灵活的rewrite与缓存。
6. keepalived(VRRP)配置示例
步骤1:安装:apt install -y keepalived。
步骤2:示例配置(/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 42; }
virtual_ipaddress { 203.0.113.10 } # 虚拟IP
}
说明:在备节点将 priority 降低(如 90),确保VIP漂移。
7. HAProxy 基本配置示例
步骤1:安装:apt install -y haproxy。
步骤2:/etc/haproxy/haproxy.cfg 示例:
frontend http-in
bind 0.0.0.0:80
default_backend webservers
backend webservers
mode http
balance roundrobin
option httpchk GET /health
server node1 10.0.0.1:80 check
server node2 10.0.0.2:80 check
说明:health 接口应返回 200,check 为健康探测。
8. Nginx 反向代理与健康检查
步骤1:安装 nginx,并在每个后端应用提供 /health 返回 200。
步骤2:在 Nginx 上配置 upstream 与 proxy_pass,并启用 proxy_next_upstream 以快速切换。
9. DNS 策略与切换建议
步骤1:DNS 使用低 TTL(如 60s)配合多个 A 记录或主备 CNAME。
步骤2:如果使用云 DNS(如 DNSPod、Cloudflare),启用健康检查或 API 自动更新记录以实现跨节点故障转移。
10. 监控与告警配置
建议:部署 Prometheus + node_exporter + Alertmanager 或使用监控服务。
小分段:设置关键告警(节点down、VIP漂移、后端 5xx 增加)并配置短信/钉钉/邮件告警。
11. 日志与回溯
步骤:集中化日志(ELK/EFK 或外部日志收集),确保发生故障时能快速定位网络、应用或配置问题。
小分段:设置 access_log/error_log 与 haproxy 日志到 rsyslog 并上报。
12. 故障演练与验证步骤
步骤1:定期演练:手动停用主节点网络,观察 VIP 漂移时间与流量切换情况。
步骤2:使用 curl 或压测工具验证会话保持、重试策略和后端的一致性。
13. 常见问题与优化建议
问题1:VIP 未漂移——检查网络提供商是否阻止 ARP/VRRP,或接口名称错误。
问题2:DNS 切换慢——降低 TTL 并使用主动健康检查的 DNS 服务。
14. 问:为什么选择香港电信节点用于多节点容灾?
答:香港节点延迟低、骨干互联好,电信线路对内地访问表现稳定。使用多节点能利用跨机房冗余降低区域故障风险,同时便于接入国际流量。
15. 问:如果VIP无法在云VPS上漂移怎么办?
答:云VPS有时限制二层广播或VRRP,可采用两种替代方案:1) 使用云厂商提供的弹性IP/浮动IP或NAT网关做切换;2) 采用DNS+健康检查进行应用层故障切换。
16. 问:如何快速验证配置是否生效?
答:执行步骤:1) 在主节点停掉HA服务,观察VIP是否切换;2) 用 curl -v 连续请求查看响应是否切换到备用节点;3) 检查监控与日志确认无 5xx 激增,完成回归测试。
来源:香港vps电信在多节点容灾和负载均衡中的作用与配置建议