容量足够大
服务不能中断
处理性能足够强
Scale up:向上扩展,将当前的机器扩展为更强的计算机
scale out:向外扩展,即集群
cluster:
1负载均衡集群(LB Cluster):LVS
2高可用集群(HA Cluster):heartbeat,corosync
3高性能集群(HP Cluster):并行计算集群):hadoop
LB Cluster: 扩展服务容量
1.DNS轮询(Round Robin)。权重不支持,DNS的缓存影响
2.Director调度,伸缩能力强,权重,最小连接,健康状态
3.转发到RealServer
F5:BIG/IP Citix:Netscaler IBM:A10
LVS(Linux Virtual Server)
Haproxy
Nginx()
Varnish
squid
HA Cluster: 提升服务调用 传递心中信息
1.服务的可用性
平均无故障时间
90%,99%,99.9% 五个9(mission critical一年五分钟)
2.冗余的方式 heartbeat信息
高可用资源转移
Fence:
1.资源级别
2.主机级别
STONITH 爆头,防止脑裂brain split
3.
Messaging Layer 信息层,传递集群信息
Resource Agent 资源代理
N-M(M<=N)模型
N个节点M个服务
计票员,协调员统计并同步
HP:并行处理Cluster: Hadoop (Map-Reduce--Google) 提供高性能
1.任务切割
2.数据分布存储
3.程序分发
调度算法:
1.
后端健康状态检测:
1.
前端高可用:
共享存储:
DAS: Direct Attached Storage 直接附加存储。直接连上主机
SCSI:Small Computer System Interface
Wide:16target narrow:8target
Logical Unit:
SCSI Protocal:
Tunnel:隧道 SCSI借助光纤隧道
IDE:
SATA:
SAS:
Controler:
Adapter:
NAS:Newwork Attached Storage 网络附加存储。连接Server提供的DAS
客户端看来为文件
SAN: Storage Area Network 客户端看来为硬盘,但是需要锁管理
内核完成SCSI的报文封装
ISCSI协议
FC SAN 光纤
IP SAN 以太网
http:stateless 无状态协议
TCP:Active,inactive
1Active = 256 inactive
LVS (ipvs与netfilter类似) 四层交换 4 layer switch/router
集群服务转发 INPUT链 ———— Forward链 ————Postrouting
与Iptables 最好不要一起使用
ipvs--ipvsadmin 定义规则,ipvs便之生效
netfilter--iptables
VIP:Virtual IP 真正提供服务的IP在后方
DIP: Director IP 与Realserver 通信的
RIP: Real IP 真实服务器IP
CIP: Client IP 客户端IP
LVS type:模型
NAT:
1.Dirctor 与 RealServer 同一网络中
2.RIP通常使用Private IP
3.Directory 工作在Client和RS中间,负责处理进出的全部报文
4.各RS网关要指向DIP
5.Directory 可实现端口映射
6.任何系统可用于RS
7.Director可能成为性能瓶颈
DR:Direct Routing
目标MAC地址转换
1.RS与Director在同一个网络
2.RIP可以使用Public IP
3.DIP与RIP同网段
4.Director只处理请求报文
5.RS的网关不能指向DIP
6.不能用端口映射
7.大多数OS都可以用于RS
8.DR的Director 可以响应更多的请求
9.RS必须能隐藏自己的VIP对于ARP请求
TUN:IP Tunneling
1.RS跟Director不必在同一网络中
2.RIP一定不能使用私有地址
3.Director只处理请求报文
4.响应报文不能经过Director
5.不能使用端口映射
6.仅允许支持隧道协议的OS用于RS
调度方法:
静态:仅根据算法本身调度,不关心RS上的连接状态
RR(RoundRobin):轮调
WRR:加权weight,不能反映服务器的状态
DH:Destination Hashing hash为个保证唯一性 用于缓存
SH:Source Hashing
动态:要将RS的连接状态记入调度考量标准
LC:Least Connetions Overhead=active*256+inactive
WLC:Weight Least Connetions Overhead=(active*256+inactive)/weight 常用
SED:Overhead=(active+1)*256/weight
NQ:Never Queue
LBLC:Locality-Based Least connection 结合DH+RC 缓存常用
LBLCR:Locality-Based Least Replication 可以共享缓存
Rules
管理集群服务:每个集群服务有哪些RS
ipvsadmin -A|E -t|u|f service-address [-s scheduler]
TCP/UDP ip:port -s 指定调度方法
ipvsadmin -D -t|u|f service-address
管理集群服务中的主机:
ipvsadmin -a|e -t|u|f service-address -r service-address [-g|i|m] [-w weight]
g gateway
i iptunenling
m masque
ipvsadmin -d -t|u|f service-address -r service-address
查看定义的服务
ipvsadmin -L|l -n 不反解 -c 连接数 --stats 统计 --rate 速率 -z 清空计数器 --persistent-conn
清空所有的定义
ipvsadm -C
保存规则:
ipvsadmin -R <
ipvsadmin -S >
ipvs支持的集群服务类型
TCP
UDP
FWM(FireWall Mark)
DR:
arp_ignore = [ 0|1 ]
0 响应本机上所有mac地址 default
1 响应从网卡进来的mac,其它的不于响应
arp_announce = [ 0|1|2 ] arp 通告级别
0 所有接口所有地址通告
1 避免使用与目标网络内的地址通告
2 只使用最匹配的地址通知给网络
先改arp参数与路由信息,再配置lo的vip
添加路由信息让响应报文的源地址为vip
iptables 通过 mangle给数据包打标记,ipvs通过标记来实现防火墙标记
持久连接:
PCC per 将一个用户的所有请求都转发到一个RS
PPC 将一个服务转发到一个RS
PFWM 将几个服务合并为一种服务 防火墙标记
-p 指定timeout 与算法无关
记录在/proc/net/ip_vs_conn hash表
-f mangle的标记号