1.1 集群概述
1.1.1 什么是集群?
一组各自相互独立且又相互依赖的,通过高速网络互联的计算机组成的一个计算机组, 以单一的系统模式加以管理, 为用户提供服务, 对用户来说, 用户只会认为对方是一个服务. 这个里面, 一组计算机的一台计算机就是集群的一个节点
1.1.2 集群的特性:
可伸缩性, 可靠性, 可管理性
1.1.3 应用场景:
例:
一台服务器 如果能够响应10000个并发 返回的状态码全部是200
如果现在有20000个并发 返回的状态码[ 200 304 301 500 404 ]
由以上例子说明,web服务已经达到瓶颈
解决这个问题的办法:
加配置: 加CPU, 加内存, 加带宽, 加SSD 这种解决方法称为“向上扩展”, 能够解决一时, 却不能持久一世[单台服务器上做动作]
加服务器: 一台==>两台, 两台==>四台 四台==>8台 使用多台服务器同时为用户提供服务 ,而这一种解决方法则称为“横向扩展”或“向外扩展”
向外扩展: 就是集群
1.1.4 集群的种类:
集群系统主要分为
负载均衡(Load Balance)集群,简称LB
高可用(High Availability)集群,简称 HA 集群
高性能计算(High Perfermance Computing)集群,简称 HPC 集群
1.2 LVS集群
1.2.1 LVS(Linux Virtual Server)
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一,是根据iptables的实现来开发的,所以使用时候会和iptables相当类似
官网:http://www.linuxvirtualserver.org/
中文站点: http://zh.linuxvirtualserver.org/
1.2.2 LVS 集群工作结构图:
负载调度器,:分发器(Load Balancer, Director): 整个集群对外的最前端机, 负责接收用户请求, 并且根据自己的调度算法, 将请求转发到后端真实服务器上的动作,而客户认为服务是来自一个IP地址(我们可称之为VIP虚拟IP地址)上的。
服务器池: Server Pool 真正为用户提供服务的服务器, 每一台服务器就是一台RS[RealServer],执行的服务有WEB、MAIL、FTP和DNS等。
共享存储: Shared Storaged 为RS保持相同内容, 提供数据的一致性,也就是说,它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
1.3 LVS模式及工作原理
1.3.1 LVS(4层) 模式:
/VS/NAT
LVS-VS/DR
\VS/TUN
1.3.2 LVS负载均衡的三种包转发方式
LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routin