前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >lvs 理论3

lvs 理论3

作者头像
py3study
发布2020-01-09 10:47:53
5630
发布2020-01-09 10:47:53
举报
文章被收录于专栏:python3

LVS理论

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

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

wKiom1feHfKxNYcgAAC7Ug2VYWo141.png
wKiom1feHfKxNYcgAAC7Ug2VYWo141.png

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

wKioL1feHfPxy28dAABwWTREguQ980.png
wKioL1feHfPxy28dAABwWTREguQ980.png
wKiom1feHfiBvSOUAAHyw5kOueU229.png
wKiom1feHfiBvSOUAAHyw5kOueU229.png

(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配置策略路由

wKioL1feHfyBPCLGAAF83VQx1qM565.png
wKioL1feHfyBPCLGAAF83VQx1qM565.png

(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,风险大;

wKiom1feHgHhqS3rAAGmq8Soeh4590.png
wKiom1feHgHhqS3rAAGmq8Soeh4590.png

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

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

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

B.RS处理数据包完成后,直接将应答返回给客户端,此时的源ip为vip,目标为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部署模式

wKioL1feHgeyzvu6AAIRa15vztc289.png
wKioL1feHgeyzvu6AAIRa15vztc289.png

(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通讯;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档