lvs工作原理,算法,工作模式?

lvs:实现负载均衡集群部署的软件,有一台或多台调度器组成,通过加载lvs内核模块并且生成虚拟ip,通过虚拟ip接收客户端的请求,再根据自身配置的调度算法,实现对请求的转发
算法:大概有10种,主要的有下面几种:

静态算法: 只是根据算法进行调度并不考虑后端REALSERVER的实际连接情况

rr:轮询算法: 按照节点顺序一个一个来,均等地对待每一台服务器,不管服务器上的实际连接数和系统负载。

wrr:加权轮询算法:根据节点权重以及节点顺序分发请求,调度器可以自动问询真实服务器的负载情况,并动态调整权值。

sh:源地址散列调度算法:匹配客户端最近一次访问的服务节点,并将请求交给这个服务节点,根据源地址散列算法进行静态分配固定的服务器资源。

dh:目标地址散列算法:根据目标ip地址进行哈希计算,得到散列值,匹配客户端最近一次访问的服务节点,并将请求交给这个服务节点,根据目标ip地址通过散列函数将目标ip与服务器建立影射关系,出现服务器不可用或负载过高的情况下,发往该目标ip的请求会固定发给该服务器。

动态算法:

lc:最少连接数算法:动态地将网络请求调度到已建立的连接数最少的服务器上。

wlc:加权最少连接数算法:调度器可以自动问询真实服务器的负载情况,并动态调整权值。

lblc:基于局部的最少连接数调度算法: 先根据请求的目标ip地址寻找最近的该目标ip地址所有使用的服务器,如果这台服务器依然可用,并有能力处理该请求,调度器会尽量选择相同的服务器,否则会继续选择其他可行的服务器,即:
如果服务节点因为自身故障暂时无法接收请求,则调度器在服务器集群中找出一台连接量最少的节点来处理请求。

lblcr:带复制的基于局部的最少连接算法:记录的不是要给目标ip与一台服务器之间的连接记录,它会维护一个目标ip到一组服务器之间的影射关系,防止单点服务器负载过高。

工作模式:主要模式有3种

1).DR模式:(也是默认模式,直接路由模式)
客户端访问负载均衡器的vip,此时在集群中负载均衡器和后端的realserver都具有vip,所以负载局衡器通过vip进行转发是不实际的。那么只能通过二层协议,修改数据包二层的目标mac地址来进行转发,后端服务器处理后,通过本机的lo网卡上的vip直接返回数据包。
a).环境,为了模拟生产环境,我们将dip rip 设置为同一个网段,dr和rs上面的虚拟ip均为vip(生产环境中的公网ip)。
b).注意,arp静默需要开启,后端服务器不接受请求,只处理

2).NAT模式:
客户端访问负载均衡器的vip,负载均衡器通过转换目标ip地址的方式,实现负载均衡,将本该发送给负载均衡器的数据包的目标地址,修改成后端real server的ip地址,然后又rs进行处理并返回,返回过程中,经过负载均衡器,负载均衡器将源地址转换为vip,完成本次请求。
a).环境,为了模拟生产环境,我们使用 一台centos7服务器作为负载均衡器,配置两块网卡,一块设置vip(桥接,生产中是公网ip),一块设置dip(nat或仅主机模式,生产中是内网ip),后端设置rip(nat或仅主机模式,于dip同一网段)
b).注意,负载均衡器需要开启路由转发,所有服务器均关闭防火墙,selinux。如果测试环境中,使用的是于后端服务器同一网段的客户端访问,则会丢弃数据包,超时连接,这种情况需要在后端real-server添加路由规则,route add -host cip gw dip 则可以访问

3).TUN模式(隧道模式):
客户端访问负载均衡器的vip,这种模式,可以跨区域进行负载均衡,vip和rip均为公网ip,dip将请求发送给rip的过程中是加密的,后端rs上的vip直接将请求进行回复,不经过dr负载均衡器。
a).环境,需要两个公网ip
b).添加vip在隧道网卡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值