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
下一篇 2016-10-29

相关推荐

  • Linux下装载软Raid

    步骤1.创建磁盘,并转换为fd #fdisk /dev/sdb //这里使用新的磁盘sdb 然后输入n ,创建分区 使用默认的起始点 输入大小为+100M 然后重复刚才的操作4次,创建4个分区,创建完4个分区后 我们还要改变分区的ID 在分区的主菜单输入T 然后输入要改变ID的分区号,也就是最后4个分区 然后输入分区的ID:fd 四个分区都改成FD 完成后,…

    Linux干货 2017-08-12
  • N25_第十二周作业

    1、请描述一次完整的http请求处理过程;     1)建立或者处理连接:建立请求或拒绝请求     2)接收请求:接收来自于网络上的主机请求报文中对特定资源的一次请求的过程;     3)处理请求:对请求报文进行解析,主要获取客户端请求的…

    Linux干货 2017-03-06
  • 大数据计算:如何仅用1.5KB内存为十亿对象计数

    Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K This is a guest post by Matt Abrams (@abramsm), from Clearspring, discussing how they are able to accurat…

    Linux干货 2015-04-08
  • 网卡别名与bonding

    网络接口配置-bonding Bonding简介 Bonding 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高 可用或者负载均衡。然,直接给两块网卡设置同一IP地址 是不可能的。通过bonding,虚拟一块网卡对外提供连接, 物理网卡的被修改为相同的MAC地址。 Bonding模式 Mode 0 (balance-rr) 轮转(Round-robi…

    Linux干货 2016-09-05
  • Linux之启动和内核管理

     Linux之启动和内核管理     本文主要包括以下内容一  CentOS 5和6的启动流程二  服务管理三  Grub管理四  自制Linux五  启动排错六  编译安装内核   Linux组成Linux: kernel+rootfskernel: 进程管…

    Linux干货 2016-09-15
  • N26-第十一周

    1、详细描述一次加密通讯的过程,结合图示最佳。     发送方:1、使用单项加密算法计算数据文件的特征码2、使用发送方私钥加密特征码3、使用对称加密算法生成一对临时密钥4、使用临时密钥加密数据文件和加密后的特征码5、使用接收方的公钥加密使用临时密钥加密后的数据和特征码和临时密钥的解密密码,并将之发送给接收方 接收方1、使用接收方的私钥解密…

    2017-04-09