集群系统扩展 1.向上扩展 增强系统 2.向外扩展 增加设备
Cluster 类型
LB(负载均衡) A= MTBF/(MTBF+MTTR) 指标越高可用性越高
HA 高可用性 MTBF 平均无故障时间 MTTR 平均故障时间
HPC 高性能
LB实现 A
硬件 F5,Big-IP,Citrix,Netscaler 软件: LVS,nginx,Apache(后面两者支持七层调度)
LVS的四种模式
nat:修改请求报文的目标IP
dr:操纵封装新的MAC地址 LVS默认模式
tun:于请求报文前添加新的IP头部
full-nat:请求报文的目标及源IP都修改 Linux内核不支持
VS:virtual server director server dispatcher 调度器 CIP: client IP DIP:director IP VIP:virtual server IP RIP:real server IP
NAT模式(多目标IP的DNAT)
Client (cip)------> (vip) LVS (dip) -------> (rip) RS
Client (cip)<-----(vip) LVS (dip) <------(rip) RS
cip port -----> vip port rip port ------> cip port
cip port ------> rip port vip port ------> cip port
1.DIP,VIP一般为同网段,内网
2.请求、响应报文都经过director
3.支持端口映射(RS的port与lient访问的port不相同)
DR模式
Client (cip) --------> (1) route (2) --------> switch ----->(vip) LVS (dip)
<------- <------- | |
RS (rip,vip)
Source Dest
cip port MAC vip port MAC1
cip port MAC2 vip port MAClvs
cip port MAClvs vip port MACrs
vip port MACrs cip port MAC2
vip port MAC1 cip port MACc
1.DIrector和各个RS都需要有VIP
2.解决IP冲突
@1.前端路由做vip和director的MAC地址绑定
@2.RS上使用arptables
arptables -A IN -d $VIP -j DROP
arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP
@3.RS上修改内核参数以及arp通告回应 (常用)
/proc/sys/net/ipv4/conf/all/arp-ignore
/proc/sys/net/ipv4/conf/all/arp-announce
@4. RS的RIP可为私网地址(物理上switch连接为同一网段,逻辑上为公网。此时router接口上有3个网关(公网、私网皆为内网,对外网关))
4.请求报文经过director,响应报文不用
5.不支持端口映射
TUN模式 跨区域、容错性高
Client(cip)-------> (vip) LVS (dip) ------> (rip) RS
<-----------------------------------
1.DIP、VIP、RIP一般为公网地址
2.请求报文经过director,响应报文直接回应
3.支持端口映射
FULL-NAT模式
Client -------> LVS------->RS
Client <------LVS <-------RS
1.VIP是公网地址,RIP和DIP为私网
2.RS收到请求报文源地址是DIP,只需要响应DIP但director还须将其发往Client,请求、回应报文都经过director
3.支持端口映射
调度算法
静态
1.RR:轮询
2.WRR:Weighted Round Robin 加权轮询 (按权重分配)
3.SH:源地址Hash
4.DH:目的地址Hash
动态
1.LC:适用于长连接应用 Overhead=activeconns* 256+inactiveconns activeconns:活动连接数 inactiveconns :不活动连接数(连接无传输)
2.WLC:默认调度算法 Overhead=(activeconns* 256+inactiveconns)/weight
3.SED:初始连接权重优先 Overhead=(active+1)*256 /weight
4.NQ:第一轮均分,后续遵循SED
5.LBLC:动态DH算法 场景:根据负载均衡状态实现正向代理
6.LBLCR:复制功能的LBLC
配置管理集群
ipvs策略(ipvsadm包提供)
配置文件 /etc/sysconfig/ipvsadm-config
规则保存 /usr/sbin/ipvsadm-save 规则重载 /usr/sbin/ipvsadm-restore
集群服务
增、改:ipvsadm -A|E -t|u|f serivce-address (-s scheduler)指定调度算法 (-p timeout)
删除:ipvsadm -D -t|u|f service-address
t: TCP端口 (vip:tcp_port) u:UDP端口 (vip:udp_port) f:fireall MARK 标记(为一个数字)
集群的RS
增改:ipvsadm -a|e -t|u|f service-address -r server-address(指定RS) (-g|i|m) (-w weight)
工作模式: g:dr默认 i:tun m:nat
删除: ipvsadm -d -t|u|f
ipvsadm -R 重载 -C 清空 -S 保存