• LVS实现四层负载均衡


    1. 集群概述

    1.1 Linux Cluster

    • Linux Cluster的类型
      • LB(Load Balance)
      • HA(High Available)
      • HP(High Performance)
    • 分布式系统
      • 分布式存储
      • 分布式计算
    • 系统扩展方式
      • Scale UP
      • Scale OUT

    1.2 LB Cluster的实现

    • 硬件、软件实现
    • 基于工作的协议层次划分
      • 传输层(7层)
      • 应用层(4层)
    • 相关术语
      • 访问模式(胖瘦客户端)
      • 站点指标(PV、UV、IP)
      • 并发访问
    • 会话保持
      • session sticky
      • session replication
      • session server

    2. LVS概述

    • 担任的角色
      • 四层路由器、四层交换机
    • ipvs & ipvsadm
      • ipvs:内核空间netfilter的INPUT钩子上的框架
      • ipvsadm:用户空间的规则管理器
    • LVS图示
    • LVS集群类型的相关术语
      • Server类型:VS,RS
      • IP类型:CIP,VIP,DIP,RIP
    • 报文流向
      • CIP <--> VIP == DIP <--> RIP

    3. LVS的工作类型

    • LVS-NAT
    • LVS-DR
    • LVS-TUN
    • LVS-FULLNET

    4. ipvs scheduler(调度算法)

    4.1 静态调度算法

    • RR
    • WRR
    • SH
    • DH

    4.2 动态调度

    • LC:Overhead=activeconns*256+inactiveconns
    • WLC:Overhead=(activeconns*256+inactiveconns)/ weight
    • SED:Overhead=(activeconns+1)*256 / weight
    • NQ:将最开始的请求先按顺序来安排,之后再根据权重来分配,是对之前的优化
    • LBLC:动态的DH算法
    • LBLCR:带复制功能的LBLC

    5. ipvsadm/ipvs 的使用

    5.1 概述

    • 集群和集群之上的各个RS是分开管理的
    • 查看系统是否支持ipvs

    5.2 ipvsadm管理工具

    • ipvsadm软件结构
    • 管理集群服务
      • ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]
    • 管理集群之上的RS
      • ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]
    • 清空和查看
      • ipvsadm -C
      • ipvsadm -L [options]
    • 保存和载入

    6. FWM&持久链接&保存载入规则

    6.1 FireWall Mark,防火墙标记

    • iptables -t mangle -A PREROUTING -d $vip -p $protocol -d port -j MARK --set-mark NUMBER
    • ipvsadm -A -f NUMBER [options]

    6.2 lvs persistence 持久连接

    • ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]

    6.3 保存及载入规则

    7. 进而引起的可用性思考

  • 相关阅读:
    FPGA学习之基本结构
    凸优化和机器学习
    第6篇如何访问pod
    吉日嘎拉DotNet.BusinessV4.2中的一处bug,及我的修复和扩展
    吉日嘎拉C#快速开发平台V4.0到V4.2升级记
    布隆过滤器简介及实现-----源自数学之美
    poj [1753]
    Zookeeper Hello World
    获取用户真实IP,php实现
    mysql中engine=innodb和engine=myisam的区别
  • 原文地址:https://www.cnblogs.com/hgzero/p/12838604.html
Copyright © 2020-2023  润新知