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

相关推荐

  • hello 北京&Linux启程

    北京初感&Linux启程

    Linux干货 2018-03-26
  • LAMP+logzilla+sphinx+syslog-ng实现集中日志管理(第一版)[原创]

    一、前言        目前查看系统日志比较被动,遇到系统不正常或故障时才会主动去检查服务器系统日志,这样一来不能及时了解系统的运行情况,因此部署Logzilla+sphine+syslog-ng来弥补这不足。以下为安装、部署平台详细步骤。(Logzilla是什么新东西?其实前身就是php-syslog-ng,引用作者…

    Linux干货 2015-03-27
  • LAMP+NFS实现双web服务负载均衡

        一、实验拓扑          二、系统环境      1、主机A、主机B、主机C:CentOS 6.5        测试PC:         Windows 7 旗舰…

    Linux干货 2015-07-06
  • RPM的使用

    概述 RPM 是 Red Hat PackageManager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用; RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和W…

    Linux干货 2016-02-14
  • Linux进程查看与管理命令总结

    Linux进程查看与管理命令总结 内核的功能: 进程管理 文件系统 网络功能 内存管理 驱动程序 安全功能 Process:运行中程序的一个副本。(存在生命周期) Linux内核存储进程信息的固定格式:task struct 多个任务的task struct组件的链表:task list 进程创建: init 父子关系 进程:都有其父进程创建 fork(),…

    Linux干货 2016-09-07
  • N22-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d' ' -f1| uniq -u  执行前的情况:  执行后的情况:    &nbsp…

    Linux干货 2016-09-06