Linux多中心容灾需构建感知-决策-执行闭环:①策略路由分表分流;②健康探测秒级切换路由;③VIP+ARP实现服务接管;④DNS低TTL联动回切。

Linux 网络架构要支撑多中心容灾,关键不在“多网卡”本身,而在如何让流量按需、可靠、自动地在不同中心间切换。单纯配置 IP 或静态路由无法应对链路中断、数据中心故障或业务策略变更,必须结合策略路由、健康探测、虚拟 IP 和服务层协同,构建可感知、可决策、可执行的闭环机制。
基于策略路由的跨中心流量分流
当多个网卡分别接入不同数据中心(如本地 IDC、云专线、公网出口),默认路由会引发路径冲突或绕行。应放弃 main 表单一路由模式,为每个中心定义独立路由表:
- 编辑 /etc/iproute2/rt_tables,添加自定义表名与 ID,例如:
100 dc_a101 dc_b102 cloud_vpc - 为每张网卡配置对应表的默认路由,如:
ip route add default via 10.1.1.1 dev eth0 table dc_aip route add default via 10.2.2.1 dev eth1 table dc_b - 用
ip rule绑定流量来源或目标网段,例如:ip rule add to 172.16.0.0/12 table dc_a(云内网走专线)ip rule add from 192.168.100.0/24 table dc_b(管理网段固定走灾备中心)
链路级健康探测与自动路由切换
策略路由是静态骨架,健康探测才是动态神经。需部署轻量守护进程,实时评估各中心链路可用性:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 使用
ping或curl -I探测中心网关或关键服务端点(如 DNS、API 健康接口),避免仅依赖 ICMP 被防火墙拦截 - 探测失败时,秒级替换主路由 metric 值或直接删除/新增路由条目,例如:
ip route replace default via 10.2.2.1 dev eth1 metric 5(降低备用路径优先级数值使其生效) - 配合
ip route flush cache清除路由缓存,确保新路径立即生效;建议搭配systemd服务管理脚本生命周期
应用层 VIP + ARP 刷新实现服务级接管
当整个数据中心不可达时,仅改路由不够——客户端仍可能持续访问原地址。需在服务节点上部署虚拟 IP(VIP)并联动 ARP 广播:
- 将 VIP(如
192.168.50.100)绑定到主中心某网卡别名(eth0:1),并添加主机路由:ip addr add 192.168.50.100/24 dev eth0 label eth0:1ip route add host 192.168.50.100 dev eth0 - 故障发生时,备中心节点启用该 VIP,并向网关发送免费 ARP:
arping -U -c 3 -I eth0 192.168.50.100,迫使交换机更新 MAC 表项 - 推荐用
keepalived自动化此流程:通过 VRRP 协议选举主节点,自动完成 VIP 绑定、ARP 刷新及服务启停
DNS 层协同实现用户侧平滑回切
网络层切换解决的是服务器间通信,而用户访问入口仍依赖 DNS 解析。需与 DNS 系统联动,形成端到端闭环:
- 在 DNS 服务商(如阿里云云解析、CoreDNS+ExternalDNS)中配置低 TTL(如 30s)的 A 记录,指向当前活跃中心的 VIP 或 LB 地址
- 容灾切换脚本触发后,同步调用 DNS API 修改记录值;回切时同样操作,避免用户长期缓存旧地址
- 对关键业务,可叠加 HTTP 302 重定向或 CDN 地理调度作为兜底:当检测到用户请求来自已下线中心,返回临时重定向至新中心域名

















