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

相关推荐

  • DNS服务基础

    DNS服务:是一种工作在应用层的特定应用,也是.c/s架构模式的,DNS的是一种应用层协议,他的端口是UPD协议的53号端口,()根据应用场景不同也会用到tcp协议)这就意味着DNS是默认通过UDP协议进行通信的 我们访问任何一个网站都是通过主机名的方式进行访问的;例如www.baidu.com,这是个主机名.称之为FQDN(完全限定域名) 常见的顶级域中的…

    Linux干货 2016-11-07
  • 马哥教育网络班22期第4周课程作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@MyCloudServer ~]# cp /etc/skel/ /home/tuser1  [root@MyCloudServer ~]# c…

    Linux干货 2016-09-19
  • root用户密码破解

    方法一:进入单用户模式破解root密码 (1)编辑grub菜单(选定要编辑的title,而后使用e命令) (2)在选定的kernel后附加 1,s,S或single都可以 (3)在kernel所在行键入"b"命令即可进入单用户模式 (4)运行passwd命令修改root用户密码 并重启 (5)输入密码即可登录 方法二:进入救援模…

    Linux干货 2016-09-15
  • Linux磁盘分区创建及bash 简单应用

    1、创建一个10G分区,并格式为ext4文件系统; (1)要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; (2)挂载至/data/mydata目录,要求挂载是禁止程序自动运行,并且更新文件的访问时间戳; [root@danry ~]# fdisk /dev/sdb Welcome to fdisk (util…

    2017-09-11
  • Linux基础命令之文本命令

    关于文本的命令:     1.文件查看命令:        a.cat:查看文件,实现参数给的内容一个个显示出来            -n:显示行号(显示的空行的行号)          …

    Linux干货 2016-08-07
  • 磁盘分区,文件系统的创建、修改和检测

        写博客,对我来说不仅是学习的过程,也是一个心理历练的过程,多说无益,开始吧!!!     博客是马哥视频里的博客作业:文件系统的创建、修改和检测。我就从磁盘管理开始把      环境:     创建的centos6.5虚拟机 &nb…

    Linux干货 2016-06-26