高冗余服务器链路需分层构建:物理层双网卡跨交换机绑定(mode=1或mode=4),网络层vrrp+keepalived实现vip漂移,路由层策略路由+多出口探测,服务层lb健康检查+服务发现闭环。

Linux 网络数据中心部署中,高冗余服务器链路不是“多装几根网线”那么简单,而是要从物理层、网络层到服务层逐级构建故障隔离与自动接管能力。核心目标是:单网卡损坏、单交换机宕机、甚至整台接入交换机断电,都不应导致业务中断。
物理链路层:双网卡绑定 + 跨交换机接入
每台服务器至少配备两张物理网卡,并接入不同物理交换机(最好跨机架、跨供电单元),避免共因故障。
- 使用 mode=1(active-backup) 绑定模式,主备切换快(毫秒级)、无需交换机支持,适合高可用优先场景
- 若需带宽叠加且交换机支持 LACP,则选用 mode=4(802.3ad),但必须确保两台交换机配置一致、启用了 LACP 协议
- 在 bonding 配置中启用 miimon=100(链路检测间隔 100ms)和 arp_interval/arp_ip_target(ARP 检测),提升链路故障识别精度
网络层:VRRP 虚拟路由冗余
接入层交换机或服务器自身可承担网关角色,通过 VRRP 实现虚拟 IP(VIP)漂移,消除网关单点。
- 用 Keepalived 在至少两台服务器上部署同一 VIP,设定不同 priority 值区分主备
- 配合 notify_master / notify_backup 脚本,在角色切换时同步更新 DNS 或通知监控系统
- 建议将 VRRP 组播组限制在本地 VLAN 内,避免跨广播域干扰;如需跨子网,改用 unicast 模式
路由层:策略路由 + 多出口冗余
当服务器连接多个 ISP(如电信+联通)或多个上联路径时,单一路由表无法实现智能选路与故障转移。
- 创建独立路由表(如 table 100 primary、table 200 backup),分别配置对应网关
- 用 ip rule 规则按源地址、协议或标记(如 fwmark)分流流量,例如:来自内网管理段的 SSH 流量走主线路,外部访问流量按权重分发
- 结合 track script 或 ping monitor 实时探测下一跳可达性,不可达时自动删除对应路由并触发切换
服务层:负载均衡器 + 健康检查闭环
后端服务器链路冗余最终要被上层服务感知并利用,否则只是“静态堆叠”。
- Nginx 或 HAProxy 的 upstream 必须开启 health_check(如 interval=3s rise=2 fall=3),及时剔除失联节点
- 将 Keepalived VIP 与 Nginx 进程状态联动:Nginx 异常退出时,Keepalived 主动降权,触发 VIP 漂移
- 所有服务注册到 Consul/Etcd,前端 LB 通过服务发现动态更新后端列表,避免配置滞后带来的“假活”节点











