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 保存及载入规则