首页 > 其他 > 详细

负载均衡集群之LVS算法和模型

时间:2014-02-07 09:41:59      阅读:335      评论:0      收藏:0      [点我收藏+]
LVS-->Linux Virtual Server
实现算法-->静态/动态
静态算法:
    rr:轮叫算法,即0-9循环选用Real Server
    wrr:带有权重的轮叫,轮叫一边后,根据记录信息+随后信息,选出资源空闲的进行选择
    sh:用于持久链接,以Client为基准,同一个Client发往上次的RealServer(内置一个hash表,key/value)
    dh:缓存命中高,以目的Real Server为基准,发往同一个Real Server,都走上次的路线
动态算法:
    lc:不计算权重,算法是active*256+inactive,active相同,inactive很大,反而会造成inactive很大的服务器不被选择
    wlc:在lc的基础上,添加weight,算法是[active*256+inactive]/weight,初始第一次计算,active和inactive都是0,故总是选第一个Real Server,如果第一个weight是最低的,则不满足要求
    sed:在wlc的基础上,不计算inactive,即算法是(active+1)*256/weight,但是却可能会造成weight最小的Real Server一直不被选中
    nq:在sed的基础上,忽略初始的第一次计算
    lblc:动态dh算法,即dh+lc
    lblcr:lblc的加强版
工作模式-->
    类似于DNAT,不过LVS实现的是单C-->多S
模型类型-->DNAT;DR;tunnel
    DNAT
  •     Real Server  使用私有地址
  •     Real Server  网关指向DIP
  •     进出报文都经过Director,故Director成为瓶颈
  •     支持端口映射
  •     Real Server 可以是任意OS
  •     IN: PREROUTING-->INPUT-->POSTROUTING
  •     OUT: PREROUTING-->FORWARD-->POSTROUTING
    DR:Director Routin(关键点在Director修改目标MAC,整个过程IP不修改从外在看,只有CIP和VIP两个公有)
  •     Real Server 可以使用私有地址,也可以使用公网地址,使用公有的时候方便远程管理
  •     Real Server 网关一定不能指向DIP,因为Real Server响应数据包的SIP是VIP,DIP是CIP,而Director也有VIP,直接IP冲突了,所以不能按原路径返回(linux的IP是在主机上,而不是在网卡上)
  •     Real Server和Director要在同一物理网络内,否则ARP将从新进行MAC解析;DIP和RIP在同一网段内,否则Director不能得知Real Server的MAC地址
  •     入站报文经过Director,出站由Real Server直接响应Client
  •     不能做端口映射
  •     Real Server可以为大多数常见OS
  • 禁止RS上的VIP直接跟前端路由通信的三种方案:
1、修改路由,使用静态ARP;
2、在RS上使用arptables,禁止响应对VIP的ARP广播请求;
3、在RS上修改其内核参数,并向VIP配置在与RIP不同的接口的别名上;

    Tun:Tunneling
  •     RIP、DIP不能是私有地址;
  •     RealServer的网关不能指向DIP;
  •     入站报文经过Directory,出站则由RealServer直接响应Client;
  •     不支持端口映射;
  •     支持IP tunneling的OS才能用于RealServer;




负载均衡集群之LVS算法和模型

原文:http://www.cnblogs.com/aaa103439/p/3539072.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!