一.集群的概念
通俗的说集群就是为了完成一些单个计算机不可能完成的或者完成起来很吃力的工作而将多个计算机通过一点的技术连接到一块,但在外界看起来起来还只是一台计算机的技术
Cluster集群技术是将一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。一旦在服务器上安装并运行了群集服务,该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。
 
二.集群的分类
Linux集群分为三类
1.高可用性集群 HA (High Avaliability)
高可用性集群运行于两个或多个节点上,目的是在系统出现某些故障的情况下,仍能继续对外提供服务。高可用性集群的设计思想就是要最大限度地减少服务中断时间。这类集群中比较著名的有Turbolinux TurboHAHeartbeatKimberlite等。
2.负载均衡集群 LB (Load Balaceing)
负载均衡集群目的是提供和节点个数成正比的负载能力,这种集群很适合提供大访问 量的Web服务。负载均衡集群往往也具有一定的高可用性特点。Turbolinux Cluster ServerLinux Virtual Server(LVS)都属于负载均衡集
3.高性能计算集群 HP (High perfomancing)
高可用性集群对一种服务而言不具有负载均衡功能,它可以提高整个系统的可靠性,但不能增加负载的能力。当然,高可用性集群可以运行多种服务,并适当分配在不同节点上,比如节点A提供Oracle服务,同时节点B提供Sybase服务,这也可以看成是某种意义上的负载均衡,不过这是对多种服务的分配而言。
三.LVS实现原理
 
 
名词解释:
DIP(Director's IP address)
VIP(Virtual IP address)
CIP(Client computer's IP address)
RIP(Real IP address)
原理:通过向ipvs中写规则来过滤数据流,从而达到分发控制数据流向,均衡服务器负载的目的:当client来访问服务器时,其目标IPdirector分发器的对外网声明的一个viretual ip地址,当director接收到请求后通过自己的真实director ip将请求传递给内网的real serverclient实际访问的是real server上的服务,director只是起到一个分发任务给内网各服务器的作用。
四.基于ipvs来实现虚拟服务:
1. 通过NAT实现虚拟服务器(LVS/NAT
特点:
IP DIP必须在同一网段,而且必须为私有地址IPRIPdefault gateway
;Director很容易会成为整个网络的瓶颈点IP可支持端口映射。
 
特点:
1RIP DIP必须在同一网段,都不必是私有地址,
2IP直接给CIP回复,directory只需要处理请求数据,这样的工作效率将成倍的提高,解决了LVM-NAT的瓶颈问题。不能进行端口映射
3IP不支持端口映射。服务必须使用默认的端口
4.管理员可以直接通过Internet连接到RIP对服务器进行配置。但这里同时也存在着来自Internet的网络安全隐患
3.通过IP隧道实现虚拟服务器(LVS/TUN
 
特点:
1IP DIP 都必须为公网地址,DIP RIP之间数据通过网络Internet传送。因此directoryserver可以不再同一个网段,可以跨越地区,其他的都和LVM-DR形式的一样。
2.因为其耗资源,投资较大,很少使用。
 
五.LVS的调度方法:
1. 轮叫 Round-robin (RR)
调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
2. 加权轮叫 Weithted round-robin (WRR)
调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值
3. 目标地址散列 Destination hashing (DH)
"目标地址散列"调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
4. 源地址散列 Source hash (SH)
"源地址散列"调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
Dynamic Scheduling (lc wlc sed nq lblc lblcr)=====
动态调度方法
其算法是:活动链接数x256+非活动链接数client请求分给数值小的服务器。
5. 最少链接 Least-connect (LC)
调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载。
6. 加权最少链接 Weighted least-connection (WLC) (Default)
在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。
7.最短期望连接Shortest Expected delay(SED)
wlc的改进,在wlc算法的基础上给权重值加一,主要用来针对某个服务器活动链接数值为0情况
8. 从不排队Never Quene(NQ)
基于SED算法的改进,不排队
9. 基于局部性的最少链接locality-based least-connection (LBLC)
基于局部的最少连接
10. 带复制的基于局部性最少链接 Locality-Based Least Connectionswith Replication (LBLCR)
 

2

收藏

晨曦追梦

49篇文章,21W+人气,0粉丝