群集的含义

Cluster,集群,群集
由多台主机构成,但对外只表现为一个整体

在互联网应用中,随着站点对硬件性能,相应速度,服务稳定性,数据可靠性等要求越来越高,单台服务器力不从心

解决方法:

使用价格昂贵的小型机,大型机
使用普通服务器构建服务群集

企业群集分类

根据群集所针对的目标差异,可分为三种类型

负载均衡群集
高可用群集
高性能运算群集

负载均衡群集

 以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载LB)的整体性能
 LB的负载分配依赖于主节点的分流算法

高可用群集

 以提高应用系统的可靠性,尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
 HA的工作方式包括双工和主从两种模式

高性能运算群集

 以提高应用系统的CPU运算速度,扩展资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力
 高性能运算群集的高性能依赖于“分布式运算”,“并行计算”,通过专用硬件和软件将多个服务器的CPU,内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力

负载均衡群集工作模式分析

负载均衡群集是目前企业用的最多的群集类型

群集的负载调度技术有三种工作模式:

地址转换
IP隧道
直接路由

NAT模式

LVS负载均衡群集(理论)_第1张图片

TUN模式

LVS负载均衡群集(理论)_第2张图片

DR模式

LVS负载均衡群集(理论)_第3张图片

负载均衡群集结构

负载均衡的结构:

第一层,负载调度器
第二层,服务器池
第三层,共享服务

LVS负载均衡群集(理论)_第4张图片

关于LVS虚拟服务器

确认内核对LVS的支持:

modprobe ip_vs
cat /proc/net/ip_vs

LVS的负载调度算法

轮询:

 将受到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等的对待每一台服务器,而不管服务器实际的连接数和系统负载

加权轮询:

 根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重
 保证处理能力强的服务器承担更多的访问流量

最少连接:

 根据真实服务器已建立的连接数进行分配,将收到的请求优先分配给连接数最少的节点

加权最少连接:

 在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重
 权重较高的节点将承担更大比例的活动连接负载

使用ipvsadm工具

LVS群集创建与管理

1,创建虚拟服务器
2,添加,删除服务器节点
3,查看群集及节点情况
4,保存负载分配策略

LVS-DR中的ARP问题

在LVS-DR负载均衡集群中,负载均衡器与节点服务器都要配置相同的VIP地址

在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱

 当一个ARP广播发送到LVS-DR群集时,因为负载均衡器和节点服务器都是连接到相同的网络上的,他们都会接受到ARP广播
 此时只有前端的负载均衡器进行响应,其他节点服务器不应该响应ARP广播

对节点服务器进行处理,使其不响应针对VIP的ARP请求

使用虚接口lo:0承载VIP地址
设置内核参数arp_ignore=1:系统只响应目的IP为本地IP的ARP请求

路由器收到ARP请求后,将更新ARP表项

原有的VIP对应的Director的MAC地址会被更新为VIP对应RealServer的MAC地址

keepalived实现原理

keepalived采用vrrp热备份协议,实现Linux服务器的多机热备功能
vrrp,虚拟路由冗余协议,是针对路由器的一种备份解决方案

keepalivd案列讲解

keepalived可实现多机热备,每个热备组有多台服务器,最常用的就是双机热备
双机热备的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器