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. 进而引起的可用性思考

原文地址:https://www.cnblogs.com/hgzero/p/12838604.html