LVS-->Linux Virtual Server

实现算法-->静态/动态,共10种

静态算法:
    rr(round robin):
        解析:轮叫算法,即0-9循环选用Real Server
    wrr(weight round robin):
        解析:带有权重的轮叫,轮叫一遍后,根据记录信息+随后信息,选出资源空闲的进行选择
    sh(source hash):
        解析:以原地址为基准的hash,用于持久链接,以Client为基准,同一个Client发往上次的RealServer(内置一个hash表,key/value)
    dh(destination hash):
        解析:以目的地址为基准的hash,缓存命中高,以目的Real Server为基准,发往同一个Real Server,都走上次的路线
动态算法:
    lc(最少连接least connect):
        解析:不计算权重,仅依照连接数来判定,算法是active*256+inactive=N(N越小,越优先).
        问题:当active相同,反而会造成inactive很大的服务器,算法得出的结果越大,故不合理
    wlc(加权最少连接weight least connect):
        解析:在lc的基础上,添加weight,算法是[active*256+inactive]/weight=N(N越小,越优先)
        问题:初始第一次计算,active和inactive都是0,故此时依照算法,不管权重大小,结果都是0,所以总是默认选择第一个Real Server,如果第一个Real Server性能确实是最好的,那没有问题,但是如果第一个Real Server性能是最差的,则不合理
    sed:
        解析:在wlc的基础上,不计算inactive,即算法是(active+1)*256/weight=N(N越小,越优先)
        问题:因为刚开始active为0,故算法的结果就是weight越小,越不会被选择,故而其他服务器的active总是>=0,因此会造成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算法和模型的更多相关文章

  1. 负载均衡集群之LVS的DR模型详解(Diretor Routing)

    LVS的默认模型:默认模型DR DR模型原理图--> 在讲DR模型要点之前,需要了解网络的相关知识: 接收的报文拆解顺序:帧(MAC)-->数据包(IP)-->数据报文(port) ...

  2. 负载均衡集群之LVS配置命令

    ipvs/ipvsadm 添加集群服务--> ipvsadm -A|E -t|u|f VIP[:Port] -s scheduler [-p timeout] [-O] [-M netmask] ...

  3. 负载均衡集群介绍 LVS介绍 LVS调度算法 LVS NAT模式搭建

    LVS BAT模式搭建 更改主机名: hostnamectl set-hostname centos7-three bash 准备工作 • 三台机器 • 分发器,也叫调度器(简写为dir) • 内网: ...

  4. 负载均衡集群之LVS持久链接

    原理--> 通过构建一个hash表,利用CIP与RS的对应关系,来保持来自一个CIP的各种服务都走同一个RS 目的--> 保持持久链接的同时,将多个服务合并起来,例如http和https ...

  5. LVS+Keepalived搭建MyCAT高可用负载均衡集群

    LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...

  6. LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

    LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...

  7. 通过LVS+Keepalived搭建高可用的负载均衡集群系统

    1. 安装LVS软件      (1)安装前准备操作系统:统一采用Centos6.5版本,地址规划如下: 服务器名 IP地址 网关 虚拟设备名 虚拟ip Director Server 192.168 ...

  8. LVS负载均衡集群服务搭建详解(二)

    lvs-nat模型构建 1.lvs-nat模型示意图 本次构建的lvs-nat模型的示意图如下,其中所有的服务器和测试客户端均使用VMware虚拟机模拟,所使用的CentOS 7 VS内核都支持ipv ...

  9. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

随机推荐

  1. Log4net从下载到使用例子

    一.首先下载log4net.dll   http://pan.baidu.com/s/1gdigrwJ 二.添加log4net引用 三.代码: using System; using System.C ...

  2. vc获取时间戳

    CTime cTime = CTime::GetCurrentTime(); CString msg; msg.Format("%u",cTime .GetTime()); Afx ...

  3. Codeforces 245H Queries for Number of Palindromes

    http://codeforces.com/contest/245/problem/H 题意:给定一个字符串,每次给个区间,求区间内有几个回文串(n<=5000) 思路:设定pd[i][j]代表 ...

  4. XJOI网上同步训练DAY2 T1

    [问题描述] 为了迎接校庆月亮中学操场开始施工.不久后操场下发现了很多古墓这些古墓中有很多宝藏.然而学生们逐渐发现自从操场施工之后学校的运气就开始变得特别不好.后来经过调查发现古墓下有一个太守坟由于操 ...

  5. Chrome小技巧:如何下载离线版安装文件

    每当chrome有更新之后,都有不少用户想要下载离线版的安装文件,但苦于找不到下载地址而发愁,其实这个问题很简单,下面我来分享一下方法(仅针对Windows操作系统): 对于稳定版(正式版)Chrom ...

  6. Windows 1252和ISO 8859-1之间的区别(ISO 8859-1就是Latin-1,但1252与Latin1略有不同)

    2.6.5. ANSI字符编码和Windows 1252 Windows为了支持英语和西欧字符,自己设计了一个编码,对应的在Code Page号是1252,被称为Windows 1252. Windo ...

  7. SSL和SSH和OpenSSH,OpenSSL有什么区别

    ssl是通讯链路的附加层.可以包含很多协议.https, ftps, ..... ssh只是加密的shell,最初是用来替代telnet的.通过port forward,也可以让其他协议通过ssh的隧 ...

  8. bzoj3431 [Usaco2014 Jan]Bessie Slows Down

    Description [Brian Dean, 2014] Bessie the cow is competing in a cross-country skiing event at the wi ...

  9. Find Median from Data Stream 解答

    Question Median is the middle value in an ordered integer list. If the size of the list is even, the ...

  10. LeetCode198 House Robber

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...