- 一、企业群集应用概述
- 1、群集的含义
- 2、问题及解决方法
- 3、根据群集所针对的目标差异,可分为三种类型
- 4、负载均衡群集(Load Balance Cluster)
- 5、高可用群集(High Availability Cluster)
- 6、高性能运算群集(High Performance Computer Cluster)
- 7、系统性能扩展方式
- 二、负载均衡群集架构
- 三、Linux Virtual Server简介
- 1、 LVS介绍
- 2、 LVS工作原理
- 3、 LVS 功能及组织架构
- 4、 LVS集群类型中的术语
- 四、LVS工作模式和相关命令
- 1、LVS集群的工作模式
- 2、三种模式比较
- 五、关于LVS虚拟服务器
- 1、Linux Virtual Server是什么
- 2、LVS的负载调度算法
• Cluster、集群、群集
• 由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机
2、问题及解决方法问题:
互联网应用中,随着站点对硬件性能,响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用的要求
解决方法:
• 使用价格昂贵的小型机、大型机
• 使用多台相对廉价的普通服务器构建服务群集
在企业中常用的一种群集技术–LVS(Linux virtual server,linux虚拟服务器)
注:通过整合多台服务器,使用LVS来达到服务器的高可用和负载均衡,并以同一个IP地址对外提供相同的服务
3、根据群集所针对的目标差异,可分为三种类型• 负载均衡群集
• 高可用群集
• 高性能运算群集
4、负载均衡群集(Load Balance Cluster)• 提高应用系统的响应能力,尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能
• LB的负载分担依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载压力。例如 "反向代理 "
5、高可用群集(High Availability Cluster)• 提高应用系统的可靠性、尽可能的减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
• HA的工作方式包括双工和主从两种模式,双工即所有节点同时在线;主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点。
例如 “故障切换” “双机热备” 等
• 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力
• 高性能依赖于“分布式运算”、“并行计算”,通过专用硬件和软件将多个服务器的cpu、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力,例如 “云计算” “网路计算”等
7、系统性能扩展方式Scale UP:垂直扩展,向上扩展,增强,性能更强的计算机运行同样的服务
Scale Out:水平扩展,向外扩展,增加设备,并行地运行多个服务调度分配问题,Cluster(集群)
随着计算机性能的增长,其价格会成倍增长,垂直扩展不再提及,单台计算机的性能是有上限的,不可能无限制地垂直扩展,多核CPU意味着即使是单台计算机也可以并行的,也就是使用集群技术
二、负载均衡群集架构第一层:负载调度器 (Load Balancer)
访问整个群集系统的唯一入口,对外使用所有服务器的共有的VIP(虚拟IP)地址,也称之为群集IP地址。通常会配置主、备两台调度器实现热备份,当主调度器失效以后能够平滑替换至备用调度器,确保高可用性。
第二层:服务器池 (Server Pool)
群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求。当某个节点暂时失效时,负载调度器的容错机制会将其隔离,等待错误排除以后再重新纳入服务器池。
第三层:共享存储(Share Storage)
为服务器池中的所有节点提供稳定、一致的文件存储服务,确保整个群集的统一性。共享存储可用使用NAS设备,或者提供NFS共享服务的专用服务器。
LVS:Linux Virtual Server,负载调度器
针对Linux内核的负载均衡解决方案
1998年5月,由我国的章文嵩博士创建
官方网站:http://www.linuxvirtualserver.org/
VS根据请求报文的目标 IP 和目标协议及端口将其调度转发至某 RS,根据调度算法来挑选 RS。LVS 是内核级功能,工作在 INPUT 链的位置,将发往 INPUT 的流量进行“处理”
3、 LVS 功能及组织架构负载均衡的应用场景为高访问量的业务,提高应用程序的可用性和可靠性。
4、 LVS集群类型中的术语VS:Virtual Server,Director Server(DS), Dispatcher(调度器),Load Balancer(lvs服务器) RS:Real Server(lvs), upstream server(nginx), backend server(haproxy)(真实服务器) CIP:Client IP(客户机IP) VIP:Virtual serve IP (VS外网的IP) DIP:Director IP (VS内网的IP) RIP:Real server IP (真实IP)四、LVS工作模式和相关命令 1、LVS集群的工作模式
负载均衡群集是目前企业用的最多的群集类型。
群集的负载调度有三种工作模式:
lvs-nat:地址转换(NAT) lvs-dr: 直接路由(DR) lvs-tun:IP隧道
LVS的NAT模式
类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口。
服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式。
直接路由
采用半开放式网络结构,与TUN模式结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。
负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。
IP隧道
IP Tunnel,加成TUN模式
采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器。特点是节点可以分散在各地
LVS工作模式总结和比较:
NAT和DR都会将调度器作为客户机访问入口,但是NAT模式进行回应客户机请求时候的出口,也是调度器作为出口。而DR则不经过调度器,直接回应客户机。
NAT的安全性也要比DR高,因为NAT会进行一次SNAT转换,而DR是直接回应客户机,服务器地址直接暴露给客户端,所以安全性低一点
2、三种模式比较| NAT | DR | TUN | |
|---|---|---|---|
| 优点 | 端口转换 | 性能最好 | WAN |
| 缺点 | 性能瓶颈 | 不支持跨网段 | 服务器支持隧道模式 |
| 真实服务器要求 | any | Non-arp device | Tunneling |
| 支持网络 | private(私网) | LAN(私网) | LAN/WAN(私网/公网) |
| 真实服务器数量 | low (10~20) | High (100) | High (100) |
| 真实服务器网关 | lvs内网地址 | Own router(网工定义) | Own router(网工定义) |
• 针对Linux内核开发的负载均衡解决方案
• 1998年5月,由我国的章文嵩博士创建
• 官方网站: http://www.linuxvirtualserver.org/
• LVS实际上相当于基于IP地址的虚拟化应用,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法
LVS现在已经成为 LInux 内核的一部分,默认编译为ip_vs模块,必要时能够自动调用
2、LVS的负载调度算法• 轮询 (Round Robin)
✔ 将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每一台服务器,而不是服务器实际的连接数和系统负载
• 加权轮询(Weighted Round Robin)
✔ 根据调度设置的权重值来分发请求,权重值高的节点优先获得任务,分配的请求数越多
✔ 保证性能强的服务器承担更多的访问流量
• 最少连接 (Least Connections)
✔ 根据真实服务器已建立的连接进行分配,将收到的访问请求优先分配给连接数最少的节点
• 加权最少连接(Weighted Least Connections)
✔ 在服务器节点的性能差异较大时,可以为真实服务器自动调整权重
✔ 性能较高的节点承担更大比例的活动连接负载



