集群的种类:
LB:Load Balance负载均衡集群,提供并发处理能力
HA:High Available高可用集群,提供服务在线能力
    在线时间/(在线时间+故障处理时间)
HP:High Performance高性能集群,并行处理集群,科学计算集群

Hardware
F5,BIG IP
Citrix,Netscaler
A10

Software
四层:LVS
七层:
      Nginx:http/smtp/POP3/imap、Haproxy
      Haproxy:http,tcp(mysql,smtp)

LB: Load Balancing
lvs
haproxy
HA:
heartbeat
corosync+openais: (pacemaker)      RHCS
ultramokey
keepalived
HP:
bowerful

======================================================================================================
LVS部分
LVS:Linux Virtual Server(工作在内核上的INPUT链,不可与iptables同时使用)
            ---- realserver
---director ---- realserver
    (调度器)---- realserver

iptables构成:
        ①用户空间:iptables负责写规则
        ②内核空间:netfilter框架用来过滤
LVS构成:
        ①用户空间:ipvsadm用来管理集群服务的命令行工具
        ②内核空间:ipvs工作在INPUT链负责监控是否要转发包(根据ip:port规则判断)

LVS类型以及特点:
NAT: 地址转换
1,集群节点跟director必须在同一个IP(vlan,subnets)网络中
2,RIP通常是私有地址,引用于各集群节点间的通信
3,director负责位于client和real server之间,负责处理进出的所有通信
4,realserver必须将网关指向DIP
5,director支持端口映射(即向外提供的端口和内部的端口可以不同)
6,realserver可以使用任意操作系统
7,较大规模应用场景中,director易成为系统的瓶颈

DR :直接路由
1,集群节点跟director必须在同一个二层网络中(一个交换机上)
2,RIP可以使用公网地址,实现便捷的远程管理和监控
3,director只响应入站请求,响应报文由realservers直接发往客户端
4,realserver不能将网关指向DIP,直接使用前端的网关
5,不支持端口映射
6,大多数OS可以用在realserver上,因为OS必须支持隐藏VIP

TUN:隧道
1,集群节点跟director可以跨越Internet
2,RIP必须是公网地址
3,director只响应入站请求,响应报文由realservers直接发往客户端
4,realserver网关不能指向director
5,只有支持隧道功能的OS才能用于realserver
6,不支持端口映射

常见调度算法
①静态(固定)调度:不考虑服务器是否繁忙,活动连接和非活动连接的情况
    rr :轮叫,轮询
    wrr:Weight,加权轮询
    sh :source hash,源地址哈希
        缺点: 一定程度上打破了负载均衡
        优点:由于http协议是无状态,每次请求都认为是新的。
              web服务通过“客户端cookie-服务器session”记录用户信息

    dh :可以理解为相同的请求在一个目的缓存服务器上

②动态调度
    lc:最少连接
        active*256+inactive
        谁小,选谁
    wlc:加权最少连接
        (active*256+inactive)/weight

sed:最迟期望延迟
    (active*256)/weight
nq: never queue,改进sed,即使是最低负载量的机器,也分配任务。

LBLC:基于本地的最少连接

LBLCR:基于本地的带复制功能的最少连接

默认方法:wlc

ipvsadm:
    管理集群服务
        添加:-A -t|u|f service-address [-s scheduler]
              -t: TCP协议的集群
              -u: UDP协议的集群
                service-address: IP:PORT
              -f: FWM 防火墙标记
                service-address: Mark Number

        修改: -E
        删除:-D -t|u|f service-address

        # ipvsadm -A -t 172.16.100.1:80 -s rr

    管理集群服务中的RS
        添加:-a -t|u|f service-address -r service-address [-g|i|m] [-w weight]
              -t|u|f: 事先定义好的集群服务
              -r service-address: 某个RS的地址,在NAT模型中,可使用IP:PORT实现端口映射
                service-address: IP:PORT
              [-g|i|m]: LVS类型
                    -g: DR
                    -i: TUN
                    -m:NAT

        修改: -e
        删除:-d -t|u|f service-address -r service-address

        # ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.8 -m
        # ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.9 -m

    查看:
        -L|l
            -n:数字格式显示主机地址和端口
            --state:统计数据
            --rete:速率
            --timeout:显示tcp,tcpfin和udp的会话超时时长
            -c:显示当前ipvs连接状况

    删除所有集群服务
        -C:清空ipvs规则

    保存规则
        -S:
        # ipvsadm -S > /path/to/somefile (导出)
        # ipvsadm -R > /path/to/somefile(导入)

(待续)

备份地址: 【Cluster