负载均衡热备模式下服务器网卡的主备切换问题

简介:

今天讨论拓扑中负载均衡部署在冗余网络结构下,服务器双网卡的切换问题。

122727326.png

图一

图一拓扑中四台服务器与负载均衡直接相连,每台服务器双网卡各连接一台负载均衡,负载均衡热备模式部署,服务器双网卡也绑定为主备模式。当负载均衡发生主备切换时,服务器的主备网卡也跟随切换。其实这样的应用需求非常的普遍,但实际网络拓扑更常见是的如图二所示结构。服务器不直接与负载均衡连接,服务器数量也不必受到负载均衡物理接口数量的限制,这样的网络架构,一对负载均衡设备可以为几百台服务器提供应用交付。

122836349.png

图二

先看看图二中主备切换时,服务器网卡是如何切换的。服务器双网卡绑定为主备模式,主备网卡的切换条件通常配置为链路检测,发现链路中断时,主备网卡自动切换。从服务器的角度看,冗余链路的主备切换分两种,第一种,服务器到交换机连接链路down掉的主备切换,交换机死机和链路故障都属于这类切换,此时服务器网卡也会进行主备切换;第二种,连接链路是up时的主备切换,此时服务器主备网卡不发生切换,但交换机之间启用VRRPHRSP协议,两台交换机之间的连接线除了传输交换机的状态信息外,也可以传输业务数据。服务器数据报文传输链路如图三所示,网络发生主备切换时,服务器依然能正常接入网络。

123006784.png

图三

但第二种主备切换发生在图一拓扑中时就会遇到问题,原因是负载均衡HA心跳线只传输ha相关数据,不传输业务数据,因此当负载均衡主备切换,而服务器网卡不能主备切换时,服务器是无法接入网络的。

这里提供两种解决方案:

方案一、改变服务器双网卡主备模式的检测方法:以linux服务器为例,服务器双网卡绑定在网络上常见的配置参数如下,millmon=100是对链路状态检测的配置项,这也是上述无法主备切换的原因。

/etc/modprobe.d/bonding.conf 

alias bond0 bonding

options bond0 mode=1 miimon=200

mode=1表示主备模式

millmon=100,表示每100ms监测一次链路连接状态

 

可以将链路状态检测改为arp请求检测,当负载均衡发生主备切换时,主网卡向原来的主负载均衡发送arp请求,由于floating-ip已经漂移到新的主设备上,原来的主设备不会回应服务器的arp请求,服务器arp请求超时后,主备网卡发生切换。服务器双网卡绑定检测方式更改如下:

/etc/modprobe.d/bonding.conf 

alias bond0 bonding

options bond0 mode=1 arp_interval=60 arp_ip_target=2.2.2.1 arp_validate=all

mode=1表示主备模式

arp_interval =100表示100毫秒发一次arp请求

arp_ip_target=2.2.2.1表示主网卡发出的arp请求,IP一般是服务器网关地址,这网关地址在图一拓扑中是负载均衡的floating-ip

arp_validate=all arp保持验证,一定要配置不然无法实现预期的网卡切换。

方案二、负载均衡实现服务器vlan的数据透传:当服务器受操作系统或其他原因限制,无法通过更改服务器配置实现双网卡主备切换时,可以采用此解决方案。两台负载均衡设备之间除了HA心跳线,还需要一条打通主备负载均衡上服务器段vlan的链路,最简单方法是在两台设备之间再增加一条连接链路,其作用是实现如图三所示的数据传输。

负载均衡新增配置较为简单,主备设备只需将新增链路接口划入服务器所在vlan,接口类型为tagged即可。

vlan 10

untagged ethernet 1 to 4

tagged ethernet 7

router-interface ve 10

name " servers"

从整体上来说,方案一实现服务器双网卡的主备切换更为合理,方案二是非常规环境下,负载均衡设备完全通过自身配置调整的解决之道,是没有办法的办法。


本文转自 virtualadc 51CTO博客,原文链接:http://blog.51cto.com/virtualadc/1227388



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
弹性计算 监控 负载均衡
|
7月前
|
域名解析 存储 缓存
阿里云服务器带宽怎么选?巧用负载均衡节省带宽费用技巧与注意事项参考
在选购阿里云服务器的过程中,设定合适的云服务器带宽是必不可少的一步。为了确保云服务器带宽的稳定性,用户通常会倾向于选择固定带宽,比如1Mbps、3Mbps、10Mbps或是20Mbps等规格。不过,在挑选云服务器带宽的过程中,众多用户常常会陷入一个两难的境地:怎样做才能在确保云服务器稳定运行的同时,又能够合理控制成本支出呢?本文将为大家介绍一种借助阿里云负载均衡产品来节省带宽费用的方法,以供参考借鉴。
|
7月前
|
弹性计算 定位技术 数据中心
阿里云服务器选择方法:配置、地域及付费模式全解析
2025阿里云服务器选购指南:就近选择地域以降低延迟,企业用户优选2核4G5M带宽u1实例,仅199元/年;个人用户可选2核2G3M带宽ECS,99元/年起。长期稳定业务选包年包月,短期或波动场景用按量付费,轻松搭建网站首选高性价比配置。
|
9月前
|
安全
基于Reactor模式的高性能服务器之Acceptor组件(处理连接)
本节介绍了对底层 Socket 进行封装的设计与实现,通过 `Socket` 类隐藏系统调用细节,提供简洁、安全、可读性强的接口。重点包括 `Socket` 类的核心作用(管理 `sockfd_`)、成员函数的功能(如绑定地址、监听、接受连接等),以及 `Acceptor` 组件的职责:监听连接、接收新客户端连接并分发给上层处理。同时说明了 `Acceptor` 与 `EventLoop` 和 `TcpServer` 的协作关系,并展示了其成员变量和关键函数的工作机制。
206 2
|
8月前
|
弹性计算 运维 分布式计算
阿里云服务器付费模式选择:节省计划、预留实例券、抢占式实例详解
在我们选购阿里云服务器的时候,有多种计费方式可选,其中包年包月和按量付费是用户最熟悉也是选择最多的计费方式,除了这两种方式之外,阿里云还提供了抢占式实例、节省计划、预留实例券三种更为灵活且经济的付费模式,旨在满足不同业务场景下的长周期低成本与短周期高弹性需求,有的新手用户朋友不清楚这三种计费方式是什么,本文将为大家解析这三种付费模式的内在机制、优势对比及适用场景,以供您选择参考。
|
9月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
730 5
|
11月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
442 11
|
存储 弹性计算 资源调度
阿里云服务器收费模式对比:包年包月与按量付费的适用场景与选择参考
在我们购买阿里云服务器的时候,云服务器的收费模式主要有多种收费模式,其中包年包月和按量付费两种主流模式。对于准备在阿里云上部署应用的用户来说,选择合适的收费模式至关重要,因为它直接关系到成本控制和资源使用的灵活性。本文将对这两种收费模式做一个对比,以供参考和选择。
1446 14
|
负载均衡 IDE Java
SpringBoot整合XXL-JOB【04】- 以GLUE模式运行与执行器负载均衡策略
在本节中,我们将介绍XXL-JOB的GLUE模式和集群模式下的路由策略。GLUE模式允许直接在线上改造方法为定时任务,无需重新部署。通过一个测试方法,展示了如何在调度中心配置并使用GLUE模式执行定时任务。接着,我们探讨了多实例环境下的负载均衡策略,确保任务不会重复执行,并可通过修改路由策略(如轮训)实现任务在多个实例间的均衡分配。最后,总结了GLUE模式和负载均衡策略的应用,帮助读者更深入理解XXL-JOB的使用。
940 9
SpringBoot整合XXL-JOB【04】-  以GLUE模式运行与执行器负载均衡策略
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
1001 9

热门文章

最新文章

下一篇
开通oss服务