LVS理论

 

LVS ( linux virtual server ) ,linux 虚拟服务器,是一个虚拟的服务器集群系统,实现一个高性能,高可用的服务器,具有良好的可伸缩性,可靠性和可管理性。

LVS 集群采用IP 负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡的转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障。

lvs 理论3_第1张图片 

虚拟服务器是负载均衡体系的基本架构,它分两层结构:转发器(Director)和真实服务器

lvs 理论3_第2张图片 

 

lvs 理论3_第3张图片 

 

(1)客户端访问集群的vip,请求web服务。(请求报文:源cip,目标vip);

(2)调度器收到请求,会修改目标ip为rip,并且将请求根据相应的调度算法发往后端web服务器(请求报文:源cip,目标rip)

(3)Web服务器收到请求,发现目标ip是自己,并且也提供相应的服务,就会响应这个请求报文,并且发送给调度器。(相应报文:源rip,目标cip)

(4)调度器收到web服务器的相应报文,会根据相应的机制判断出用户的目标ip是vip,这时会修改源ip为vip发送给客户端响应。(源vip,目标cip)

 

不足

1. RS/ROUTER配置策略路由

lvs 理论3_第4张图片 

 

(1)客户端发送请求到调度器的vip;

(2)调度器根据调度算法选择一台real server 进行转发,这个时候的源ip为cip,目标ip为vip,如果直接转发,目标ip就为rip了,所以需要在vip到rip这个过程进行隧道封装,封装两个ip首部,转发的报文源cip目标vip,但是还会在ip首部再添加一个ip首部,目标地址是rip,这个过程要求支持隧道协议。

(3)real server接受到数据包之后,由于ip首部的目标ip是自己,就会拆开封装,还有一个首部内容为cip请求自己的vip,就会响应这个请求给cip。(响应报文的源ip为vip,目标ip为cip)

 

不足

1. RS配置复杂(IPIP模块等)

2. RS上绑定VIP,风险大;

lvs 理论3_第5张图片 

(1)首先,客户端CIP的请求发送给LVS调度器的VIP。

(2)LVS调度器收到客户端的请求包后,会选择一台real server,将数据包的MAC地址改成选择的Real ServerMAC地址,并通过交换机(数据链路层)发送给RS服务器(因为MAC地址是rs服务器,所以,rs可以接收到该数据报。)注意:此时数据包的目的及源ip地址没有发生任何改变。

(3)A.RS的数据链路层收到发送来的数据报文请求后,会从链路层往上传给IP层,此时IP层需要验证请求的目标IP地址。因为包的目标IP(即VIP)并不是像常规数据报那样为RS的本地IP,而仅仅目的MAC地址是RS的。所以,在RS上需要绑定一个VIP这样包的目标ip就没有发生变化。而且这个vip是隐藏的,不会响应arp解析。

B.RS处理数据包完成后,直接将应答返回给客户端,此时的源ipvip,目标为cip,回复这个过程不经过调度器

 

不足

1. LVS-RS间必须在同一个VLAN

2. RS上绑定VIP,风险大;

 

 

 

 

 

 

 

– 某台RealServer down了,怎么办? --- 健康检测

LVS本身down了,怎么办?---LVS冗余

 

Keepalived – LVS管理软件

– 健康检测:支持4/7监测;

– 主备冗余:采用VRRP协议癿HeartBeat;

– 如何配置?--- 配置文件

Keepalived –f /etc/keepalived/keepalived.conf

 

 

LVS各转发模式运维成本高

– 新转发模式FULLNAT:实现LVS-RealServer间跨vlan通讯,并且in/out流都经过LVS;

缺少***防御模块

SYNPROXY:synflood***防御模块

– 其它TCP FLAG DDOS***防御策略

性能无法线性扩展

Cluster部署模式

 

 

 

 

 

 

 

 

 

lvs 理论3_第6张图片 

(1)客户端发送请求给调度器。(源cip,目标vip)

(2)Vip经过调度算法,讲请求发送给real server。(源dip,目标rip)

(3)Real server 接收到请求后,发现源地址是dip,则对dip进行响应。(源rip,目标dip)

(4)调度器收到real server 的响应后,会修改数据报的源地址为vip,目标地址为cip进行响应。

 

 

主要思想:引入local address(内网ip地址),cip-vip转换为lip->rip,而 lip和rip均为IDC内网ip,可以跨vlan通讯;