LVS负载均衡群集(理论)
Cluster,集群,群集 由多台主机构成,但对外只表现为一个整体
在互联网应用中,随着站点对硬件性能,相应速度,服务稳定性,数据可靠性等要求越来越高,单台服务器力不从心
解决方法:
使用价格昂贵的小型机,大型机 使用普通服务器构建服务群集
企业群集分类
根据群集所针对的目标差异,可分为三种类型
负载均衡群集 高可用群集 高性能运算群集
负载均衡群集
?以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发,高负载LB)的整体性能
?LB的负载分配依赖于主节点的分流算法
高可用群集
?以提高应用系统的可靠性,尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
?HA的工作方式包括双工和主从两种模式
高性能运算群集
?以提高应用系统的CPU运算速度,扩展资源和分析能力为目标,获得相当于大型,超级计算机的高性能运算(HPC)能力
?高性能运算群集的高性能依赖于“分布式运算”,“并行计算”,通过专用硬件和软件将多个服务器的CPU,内存等资源整合在一起,实现只有大型,超级计算机才具备的计算能力
负载均衡群集工作模式分析
负载均衡群集是目前企业用的最多的群集类型
群集的负载调度技术有三种工作模式:
地址转换 IP隧道 直接路由
NAT模式
地址转换:
?简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
?服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
TUN模式
DR模式
负载均衡群集结构
负载均衡的结构:
第一层,负载调度器 第二层,服务器池 第三层,共享服务
关于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地址的漂移来实现,适用于各种应用服务器