本文主要包括LVS三种模式的基本工作原理介绍和可能涉及的ARP问题原理。
1、LVS简介
1.1 LVS起源
LVS是Linux Virtual Server的简称,也叫Linux虚拟服务器, 也就是现在常说的四层负载均衡。 它是一个由章文嵩博士发起的自由软件项目
。现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。
1.2 LVS常用名词概念
- loadbalance:
Load Balancer,负载均衡器,运行LVS负责负载均衡的服务器 - DS:
Director Server,指的是前端负载均衡器节点,也就是运行LVS的服务器; - RS:
Real Server,后端真实的工作服务器; - VIP:
Virtual Server IP,向外部直接面向用户请求,作为用户请求的目标的IP地址,一般也是DS的外部IP地址; - DIP:
Director Server IP,主要用于和内部主机通讯的IP地址,一般也是DS的内部IP地址; - RIP:
Real Server IP,后端服务器的IP地址; - CIP:
Client IP,访问客户端的IP地址;
2、LVS基本原理
一般说的LVS集群指的是对于客户端来说的一个大型快速可靠高可用的服务器集群。LVS的核心是在LVS director上的Linux内核中的ip_vs内核模块

对于LVS集群中的Director Server(以下简称DS)来说:
- LVS属于四层负载均衡,DS属于四层交换,它在网络中显示为路由器,其规则与普通路由器略有不同;
- DS接受从客户端发送过来的请求,并且从后端(backend)的真实服务器RS中挑选一个用来处理请求;
- RS可以提供正常互联网服务中的任何服务,因为LVS是四层转发,兼容性很好,对业务无侵入性;
- RS可以在客户端无感知的情况下添加或删除到LVS集群中,因此允许后端的RS出现宕机、升级、弹性伸缩。
在调度器的实现技术中,IP负载均衡技术是效率最高的。在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation),在分析VS/NAT的缺点和网络服务的非对称性的基础上,LVS提出通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。所以,IPVS软件实现了这三种IP负载均衡技术,它们的大致原理如下
3、LVS NAT模式
NAT模式的主要实现原理是通过网络地址转换,LB重写请求报文的目标地址(包括IP和MAC),根据预设的调度算法,将请求分派给后端的RS;RS的响应报文通过LB返回时,报文的源地址被重写,修改为LB的MAC和IP,再返回给客户,完成整个负载调度过程。

本文详细介绍了LVS(Linux Virtual Server)的三种工作模式:NAT、IP Tunneling(TUN)和Direct Routing(DR)。LVS作为四层负载均衡器,通过NAT模式进行地址转换,TUN模式利用IP隧道提高吞吐量,DR模式通过改写MAC地址实现高效转发。每种模式都有其特定的适用场景和网络配置要求,其中DR模式要求LB和RS在同一局域网,并需调整ARP相关设置以避免冲突。
最低0.47元/天 解锁文章
7562

被折叠的 条评论
为什么被折叠?



