zoukankan      html  css  js  c++  java
  • LVS概述

    HA ----> RHCS , heartbeat , keepalived

    LB ----> HAproxy , LVS , Nginx , 硬件F5 , Piranha

           LVS -> ----DR模式-直接路由

    LVS  -----> LVS -> ----NAT模式 - NAT

           LVS -> ----TUN模式 - IP 隧道  (分发到不同的地方)

    负载均衡有10种调度算法:4种静态,6种动态

       轮循调度(Round Robin) ---rr   --- 理解为 一个给你,一个给她 ,轮着来,不会管你是否忙还是闲

    静态:加权轮循 (Weighted Round Robin) ---wrr  --- 理解为在rr轮循调度的基础上,根据优先级来调度

       目标地址散列 (Destination Hashing) ---DH  --- 理解为记住一个IP就一直给她

       源地址散列(Source Hashing) --- SH    ---- 理解为回来的时候从源回来

       最少链接 (Least Connections) --- LC  --- 根据公式进行计算 后面会单独列出文章进行测试

       加权最少链接 (Weight Least Connections) --- WLC   ----------> 最优算法,后面的动态都是在其基础上做出微调,同时也是企业经常使用的最好,最优方法

    动态:最短的期望延迟(Shortest Expected Delay Scheduling) --- SED

       最少队列调度 (Never Queue scheduling) --- NQ

       基于局部性的最少链接 ( Locality-Based LeastConnections Scheduling) --- LBLC

       带复制的基于局部性最少链接 ( Locality-Based LeastConnections withReplication Scheduling) --- LBLCR

    LVS --- 是国人发起的开源项目,目前已经编译到2.6.18 以上的Linux内核中,无需重新编译内核实现其功能,只要安装管理LVS的一款软件(ipvsadm)即可,此类现象和Linux下防火墙类似,也是已经编译到内核,只需要通过安装一款软件来管理即可(iptables)

    下面是翻译好的ipvsadm的参数使用方法:(经供参考,如有错误请指正)

    ipvsadm

    命令选项解释:
    -A --add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。
    -E --edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。
    -D --delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。
    -C --clear 清除内核虚拟服务器表中的所有记录。
    -R --restore 恢复虚拟服务器规则
    -S --save 保存虚拟服务器规则,输出为-R 选项可读的格式
    -a --add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器 记录。也就是在一个虚拟服务器中增加一台新的真实服务器
    -e --edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录
    -d --delete-server 删除一条虚拟服务器记录中的某条真实服务器记录
    -L|- l -- list 显示内核虚拟服务器表
    -Z --zero 虚拟服务表计数器清零(清空当前的连接数量等) 其他的选项:
    -t --tcp -service service-address 说明虚拟服务器提供的是 tcp 的服务
    [vip:port] or [real -server- ip:port]
    -u --udp-service service-address 说明虚拟服务器提供的是 udp 的服务
    -f --fwmark-service fwmark 说明是经过 iptables 标记过的服务类型。
    -s --scheduler scheduler 使用的调度算法,有这样几个选项 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,
    -p --persistent [timeout] 会话保持。意思是同一个客户的多次请求,将被同一台真实的服务 器处理。
    timeout 的默认值为 300 秒。
    -r --real-server server -address 真实的服务器[Real -Server:port]
    -g --gatewaying 指定 LVS 的工作模式为直接路由模式(也是 LVS 默认的模式)

    -i -- ipip 指定 LVS 的工作模式为隧道模式
    -m --masquerading 指定 LVS 的工作模式为 NAT 模式
    -w --weight weight 真实服务器的权值
    --mcast-interface interface 指定组播的同步接口
    -c --connection 显示 LVS 目前的连接 如:ipvsadm -L -c
    --timeout 显示 tcp tcpfin udp 的 timeout 值 如:ipvsadm -L –timeout
    --daemon 显示同步守护进程状态
    --stats 显示统计信息
    --rate 显示速率信息
    --sort 对虚拟服务器和真实服务器排序输出
    --numeric -n 输出 IP 地址和端口的数字形式

    ipvsadm 几个实例测试中的命令

    在LVS-NAT 模式下

    1. ipvsadm -A -t 10.10.10.1:80 -s rr
    2. ipvsadm -L -n
    3. ipvsadm -a -t 10.10.10.1:80 -r 192.168.12.11 -m -w 1
    4. ipvsadm -a -t 10.10.10.1:80 -r 192.168.12.12 -m -w 2
    5. services ipvsadm save

    10.10.10.1  是vip        192.168.12.11-12 是rip

    VIP(虚拟 ip 地址):Director 用于向客户端计算机提供服务的 IP 地址    ---- 此IP是给客户访问的IP地址

    RIP(真实 ip 地址):用在集群节点上的 IP 地址               ------ 此IP是跟前端调度的服务器DIP进行通信

    DIP(Director 的 ip 地址):Director 用于连接 RIP 网络的 IP 地址  ----即 就是使用前端调度的服务器的一个IP,而这个IP是可以和后台真实的服务器进行通信的IP (前端调度的服务器有两个IP -- VIP ,DIP)

    CIP(客户端计算机的 ip 地址):分配给客户端计算机的 IP 地址,它用作向集群发送请求的源 IP 地址   ---- 用户自己的IP地址

  • 相关阅读:
    20160813上午训练记录
    [bzoj 2159]Crash的文明世界
    【娱乐】高端小游戏Manufactoria
    【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)
    [CF]codeforces round#366(div2)滚粗记
    洛谷 [P3265] 装备购买
    POJ 1830 开关问题
    洛谷 [P4035] 球形空间生成器
    BZOJ 2973 入门OJ4798 石头游戏
    洛谷 [P1939] 矩阵加速数列
  • 原文地址:https://www.cnblogs.com/autopwn/p/5042958.html
Copyright © 2011-2022 走看看