LVS类型及其调度算法

LVS类型:
    NAT:-->(DNAT) (多目标的DNAT)
    DR:
    TUN:
    FULLNAT:

LVS NAT的特性
    1.RS的应该使用私有地址
    2.RS的网关必须指向DIP
    3.RIP和DIP必须在同一网段内
    4.请求和响应的报文都得经过Director,在高负载场景中,Director很可能成为性能瓶颈
    5.支持端口映射
    6.RS可以使用任意支持集群服务的OS

LVS类型及其调度算法


LVS DR类型
    1.让前段路由将请求发往VIP时,只能是Dirctor上的VIP
        解决方案
        1.静态地址绑定
            未必有路由器的配置权限
            Director高可用时静态地址绑定将难以适用
        2.arptables(命令行工具):相当于iptables,限制ARP通告和应答
        3.修改linux内核参数,将RS上的VIP配置在lo接口的别名上,限制linux仅对对应接口的ARP请求做响应

    负载均衡器如何转发:
        如果修改目标IP为RIP,则响应时源IP为RIP,此时客户端并没有请求RIP,所以不能使用RIP响应
        此时,负载均衡器中有规则;定义那个是集群服务器,其下有哪些real server;
        RIP1:MAC1
        RIP2:MAC2
        RIP3:MAC3
        此时,转发时,会修改目标MAC地址

LVS DR类型的特性
    1.RS可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入RS,以实现配置,监控等
    2.RS的网关一定不能指向DIP(负载均衡器不负责响应报文的转发)
    3.RS跟Dirctory(DIP)要在同一物理网络内(基于MAC地址通信),(不能有路由器分隔)
    4.请求报文经过Directory,但响应报文一定不经过Director
    5.不支持端口映射
    6.RS可以使用大多数的操作系统

LVS类型及其调度算法

LVS TUN类型:IP隧道(IP报文中,还存在IP)(容灾)
    1.RIP、DIP、VIP都得是公网地址
    2.RS的网关不会指向也不可能指向DIP
    3.请求报文经过Directory,但响应报文一定不经过Director
    4.不支持端口映射
    5.RS的OS必须得支持隧道功能

rs server 同样有vip
用于响应(此时客户端请求的vip,所以响应报文的源地址一定是vip)

LVS类型及其调度算法

LNS-FULLNAT类型:
    (需要向内核打补丁才可以使用)
    NAT模型缺陷:所有的real server和DIP必须在同一个网段内(real server的网关要指向DIP)
    DR模型缺陷:所有的real server直接暴露在互联网上、各主机要位于同一物理网络中
    fullnat:可以跨VLAN(网段),基于NAT实现

LVS类型及其调度算法

LVS的调度方法:10种
    静态方法:仅根据算法本身进行调度
        rr:Round Robin 轮询
        wrr:Weighted RR 权重轮询(根据后端服务器的承载能力,性能)
        sh:source hashing   源地址hash(可以实现session绑定;背后仍是rr,wrr算法) (hash会话表)
            能够将同一个IP地址的访问,定向至同一个RS
        dh:destination hashing 目标地址hash(背后仍是rr,wrr算法)
                将发往同一个目标地址的请求始终转发至第一次挑中的RS
                后端为缓存服务器(提高命中率)
            前端有多个防火墙时,为了保证从某一个防火墙进入,一定可以从该台防火墙出去
     动态方法:根据算法及RS当前的负载状况
         lc:Least Connection 最少连接(-c)
            计算当前的负载Overhead=Active*256+Inactive来实现
            TCP其中两种状态,活动连接和非活动连接
            活动连接占用资源多
            非活动连接占用资源少
         wlc:Weighted LC
            Overhead=(Active*256+Inactive)/weight(权重)
                        刚开始时默认为第一个提供服务
         sed:Shortest Expect Delay  最短期望延迟
            Overhead=(Active+1)*256/weight      
             nq:Nerver Queus: 永不排队
                第一次请求给权重最大的
                第二次请求给权重第二的
                第三次请求给权重第三的
                ..
                然后使用sed算法(增强改进的sed算法)
         lblc:Locality-based least connection 基于本地的最少连接
                 相当于dh+lc
         Lblcr:基于复制的基于本地的最少连接 Replicated and Locality-based least connection (lblc with replication)
                   适用于后端是缓存服务器的场景
                       缓存多的服务器复制一部分缓存给另一个缓存少的服务器

原创文章,作者:sixijie,如若转载,请注明出处:http://www.178linux.com/55328

(0)
sixijiesixijie
上一篇 2016-10-29 00:44
下一篇 2016-10-29 10:08

相关推荐

  • 马哥教育网络班20期+第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示一次即可。 [root@llww3317 ~]# who    #显示当前用户登录信息 root     tty1    &nbsp…

    Linux干货 2016-06-26
  • shell脚本编程进阶

    一些常用的编程语句,

    2017-12-23
  • DNS原理详解02

    9、子域授权     1、在父域的区域配置文件中增加以下记录,即为增加了子域授权            opt.patrickli.com.         IN      NS     &…

    Linux干货 2016-08-29
  • 进程的简单概念

    什么是进程?进程是载入内存的一个指令集合。 PID代表进程号, centos7之前的第一个进程都为inet。centos7的第一个位systemd 进程优先级分为系统优先级和实时优先级,系统优先级0到139表示,值越大优先级越低。centos6用0到98表示值越大优先级越低 实时优先级用99到0表示,值越大优先级越高。 进程类型:守护进程和前台进程。(俩者可…

    Linux干货 2017-05-08
  • 正则表达式基础

    一、正则表达式: 元字符是用来阐释字符表达式意义的字符,简言之,就是用来描述字符的字符。 正则表达式RE(Regular Expression)是由一串字符和元字符构成的字符串。 正则表达式的主要功能是文本查询和字符串操作,它可以匹配文本的一个字符或字符集合。实际上正则表达式完成了数据的过滤,将不满足正则表达式定义的数据拒绝掉,剩下与正则表达式匹配的数据。 …

    Linux干货 2017-06-04
  • 从Linux小白到大牛——与狼共舞的日子11

    马哥教育网络班21期+第10周课程练习 1、详细描述一次加密通讯的过程,结合图示最佳。 加密过程 1.使用单向加密算法,提取A的文件的特征码。 2.使用A的私钥对提取出来的特征码进行加密,把加密后的特征码附加在A的文件的后面。 3.使用对称加密对刚刚的A的文件和加密后的特征码进行加密,生成对称加密密钥 4.使用B的公钥对第3步骤的对称加密的密钥进行加密,加密…

    Linux干货 2016-12-05