1 引入
集群是为解决某个特定问题将多台计算机组合起来形成的单个系统,有以下三种类型:
LB:Load Balancing,负载均衡集群HA:High Availiablity,高可用集群
HPC:High-performance computing,高性能计算集群
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一款可实现负载均衡集群的开源软件。
2 lvs集群类型中的术语
VS:Virtual Server, Director, Dispatcher(调度器)、Load Balancer
RS:Real Server(lvs), upstream server(nginx)、backend server(haproxy)
CIP:Client IP
VIP:Virtual serve IPVS外网的IP
DIP:Director IPVS内网的IP
RIP: Real server IP
3 lvs集群的类型
(1)LVS-NAT
本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某RS的RIP和PORT实现转发
(2)LVS-DR
即直接路由,通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。
(3)LVS-TUN
不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP是CIP)
(4)LVS-FULLNAT
通过同时修改请求报文的源IP地址和目标IP地址进行转发
CIP --> DIP
VIP --> RIP RS的RIP和PORT实现转发
4 lvs调度算法
根据其调度时是否考虑各RS当前的负载状态可以分为静态调度算法和动态调度算法
静态方法:仅根据算法本身进行调度
(1)RR:roundrobin,轮询
(2)WRR:Weighted RR,加权轮询
(3)SH:Source Hashing,实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定
(4)DH:Destination Hashing;目标地址哈希,将发往同