lvs-dr原理

1.LVS-DR模式原理图:

过程:①客户端发送请求数据包,包的源地址为CIP,目标地址为VIP。

②lvs根据合适的算法选择出提供服务的真实服务器,然后将数据包的mac地址改成选择的真实服务器的mac地址,并通过交换机发送给真实服务器。

③真实服务器的数据链路层收到报文,往上传给IP层,IP层验证请求的目标IP。由于包的目标IP是VIP,只有目标mac地址是真实服务器的。所以,在真实服务器的lo接口(不会跟lvs的ip冲突)上绑定VIP。

④lvs调度器和真实服务器群在一个局域网内,当客户端进行arp广播时,调度器和真实服务器都能收到,会白白浪费很多资源。我们只需要让调度器对用户响应,因此要在真实服务器端抑制arp。具体方法:修改/etc/sysctl.conf文件

net.ipv4.ip_forward = 1

net.ipv4.conf.lo.arp_ignore = 1
        net.ipv4.conf.lo.arp_announce = 2
        net.ipv4.conf.all.arp_ignore = 1
        net.ipv4.conf.all.arp_announce = 2

⑤真实服务器处理完后。将应答直接给客户端。RS最好为带公网IP的服务器(也可以无公网ip,直接走机房网关,但效率较低)。

2. lvs三种模式比较:

lvs-nat模式:调度器重写请求报文的目的地址,根据调度算法将请求分派给realserver;realserver的响应报文通过调度器时,报文的源地址被重写,再返回给客户(lvs调度器可能成为瓶颈)。

lvs-tun模式:调度器把请求通过ip隧道转发至realserver,realserver响应报文直接给客户,调度器只处理请求报文(ip隧道,花销较大)。

3. 十种调度算法:

① 四种静态算法,不考虑后端服务器实际负载情况:

RR:  根据规则依次论调,不考虑RS的性能。轮到谁就转发给谁。

WRR:加权轮询,加入了weight(权重),可以根据RS的性能为其设置权重值,权重越大功能越强,但是不能发硬当前的服务器的运行的情况。

DH:目标地址hash,适用于前段是一个drector后端是几个缓存服务器,当客户端第一次访问到的是RS1的时候,DH这种算法保证,在客户端刷新后还是访问的是RS1。

SH:源地址hash,用于保证响应的报文和请求的报文是同一个路径。

② 六种动态算法,考虑后端服务器当前负载后再进行分配:

LC:least connection,当一个用户请求过来的时候,就计算下哪台RS的链接谁最小,那么这台RS就获得了下次响应客户端请求的机会,计算的方法Overhead=active*256+inactive,如果两者的结果是相同的则从LVS中的规则依次往下选择RS。这种算法也是不考虑服务器的性能的。

WLC: 这个就是加了权重的LC,考虑了RS的性能,即是性能好的就给的权重值大一些,不好的给的权重值小一些。缺点就是如果Overhead相同,则会按规则表中的顺序,由上而下选择RS,Overhead=(active*256+inactive)/weight

SED: 就是对WLC的情况的补充,Overhead=(active+1)*256/weight,加一,就是为了让其能够比较出大小。

NQ: never queue 基本和SED相同,避免了SED当中的性能差的服务器长时间被空闲的弊端,它是第一个请求给性能好的服务器,第二个请求一定是给的空闲服务器不论它的性能的好与坏。以后还是会把请求给性能好的服务器

LBLC: 它就是动态DH和LC的组合,适用于cache群,对于从来没有来过的那些新的请求会分给当前连接数较少的那台服务器。

LBLCR:带有复制功能的LBLC,它的适用场景这里举例说明一下,比如说现在又RS1和RS2,第一次访问RS1的5个请求第二次又来了,理所应到Director将会将其交给RS1,而此时在RS2是非常闲的,所以此时最好的处理方法就是可以将后来的这5个请求分别交给RS1和RS2,所以此时就需要把客户端第一次请求的资源复制下来。(特殊情况)

时间: 2024-10-29 19:11:40

lvs-dr原理的相关文章

第三十三天 LVS基础原理、调度算法、NAT和DR的实现 、LXC虚拟化

大规模站点构建框架 LVS的基础原理 LVS调度方法及NAT模型的实现 LVS  dr模型及lxc虚拟化 一.大规模站点架构框架 http: stateless keep-alive cookie: session 系统的:可扩展性.高可用性:99%, 99.9%, 99.999% .性能: 可扩展性: 容量:在一定时间内能完成的工作量 scale up: 向上扩展 scale out: 向外扩展 Cluster: 集群 构建高可扩展性系统的重要原则:在系统内部尽量避免串行化和交互 调度器:di

LVS/DR模式原理剖析(FAQs)

1. LVS/DR如何处理请求报文的,会修改IP包内容吗? 1.1 vs/dr本身不会关心IP层以上的信息,即使是端口号也是tcp/ip协议栈去判断是否正确,vs/dr本身主要做这么几个事: 1)接收client的请求,根据你设定的负载均衡算法选取一台realserver的ip: 2)以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS: 3)在hash table中记录连接信息. vs/dr做的事情很少,也很简单,所以它的效率很高,不比硬件负载均衡设备差多少.

LVS DR集群

原理:LVS DR(director Routing)技术利用了Internet服务的非堆成特带你,调度器只负责调度Client发出的请求, 而服务器realserver直接将响应结果发挥给Client,因此相对LVS NAT方式而言可以提高整个集群数据包的吞吐量.关 于LVS DR的搭建架构应满足:电镀漆和服务器在物理上有一个网卡通过局域网链接,VIP地址被电镀漆和服务器组共享, 电镀漆配置的VIP地址对外部是可见的,用于接收虚拟服务的请求报文.把所有服务器的VIP地址配置在各自的NOn-AR

lvs工作原理

LB Load Balancing:解决方案 硬件: F5 BIG-IP 思杰 Citrix Netscaler A10 A10 Array Redware 软件:lvs linux Virtual Server 作者章文嵩博士 ipvs相当于netfilter,工作在内核中,将用户转发 框架,需要依赖以规则完成转发 ipvs集群服务 定义一个或多个后端的服务器 ipvsadm LVS:四层交换.四层路由(据说并发400w,F5 600w) VIP: keepalived CIP   clien

使用LVS+DR搭建集群实现负载均衡

使用LVS+DR搭建集群实现负载均衡 DR模式的概述与工作原理 DR模式服务概述:        Direct Routing(直接路由) --在同一个地域,同一个网段 Director分配请求到不同的real server.real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接.负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性.Direct Routing由与采用物理层(修改MAC地址)技术,因此所有服务器都必须在一

高可用群集lvs DR模式搭建

上一篇文章已经解释过lvs的原理已及作用,DR模式与NAT模式在部署上是有区别的:  此拓扑中调度器只作为用户访问web的入口,各个web回应时直接利用的是网络,不通过调度器回应. 部署DR模式的lvs环境需要注意几个点: 调度器以及各个节点都必须配置VIP地址 调度器中关闭icmp定向(ICMP重定向报文是ICMP控制报文中的一种.在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求重新选择路由.此类报文有可能用以攻击, 有的攻击利用icmp

lvs基础原理

lvs的术语: director/real server ip: vip: Virtual IP DIP:Diector IP RIP:Real Server IP CIP:Client IP ipvs: ip virtual server lvs的类型: lvs-nat  地址转换 lvs-dr    直接路由 lvs-tun   隧道 nat类型特性: 1.RS应使用私有地址,私有地址更安全.路由上也不会出现问题.RS的网关必须指向DIP: 2 .DIP和RIP应该在同一个网段内. 3.请求

LVS DR NAT keepalived

LVS LVS 架构 LVS是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层(Director).server集群层(Real server)和共享存储层. LVS-DR DR(调度器将请求来的数据包的目标mac地址改为real server的mac地址,返回的时候也不经过调度器,直接返回给客户端),其实该过程就就是利用"以太网"通讯是通过mac地址的原理,从而让realserver将数据直接返回给目标地址,而不经过DR返回数据 案例lvs-dr 第一步:完成IP地

LVS之原理篇--深入全面理解LVS工作原理

一.介绍 LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统.该项目由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良好可靠性.可扩展性和可操作性.从而以低廉的成本实现最优的服务性能. 负载均衡技术有很多实现方案,如基于DNS域名轮流解析的方法.基于客户端调度访问的方法.基于应用层系统负载的调度方法,还有基于IP

LVS 工作原理解析

LVS即Linux Virtual Server,淘宝大牛章文嵩读博士时发起的开源软件项目,是性能非常好的四层负载均衡集群服务,Linux内核2.4以后已经被直接收录至内核. LVS的工作模式: 在了解工作模式之前首先要晓得为什么会有不同的工作模式,用户的请求进来会先发送到director(virtual server),然后director通过一定的调度算法把请求比较公平的分发到后端的real server,那么自然由real server响应回去给用户. 本文中提到的缩写解释: VIP: D