利用LVS配置负载均衡集群服务(1)

 

集群的概念

集群(Cluster)是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提

供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故

障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互连,每个群集节点都

是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,

协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务

器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并

通过系统级的冗余提供固有的可靠性和可用性。

集群的分类:

1、高性能计算科学集群(HA):

  以解决复杂的科学计算问题为目的的IA集群系统。是并行计算的基础,它可以不使用专门的由十至

上万个独立处理器组成的并行超级计算机,而是采用通过高速连接来链接的一组1/2/4 CPU的IA服务器,

并且在公共消息传递层上进行通信以运行并行应用程序。这样的计算集群,其处理能力与真正超级并行

机相等,并且具有优良的性价比。 

2、负载均衡集群(LB):

  负载均衡集群为企业需求提供更实用的系统。该系统使各节点的负载流量可以在服务器集群中尽可

能平均合理地分摊处理。该负载需要均衡计算的应用程序处理端口负载或网络流量负载。这样的系统非

常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态

分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了大量入网流量,无法

迅速处理,这就需要将流量发送给在其它节点。负载均衡算法还可以根据每个节点不同的可用资源或网

络的特殊环境来进行优化。

3、高可用性集群(HA):

  为保证集群整体服务的高可用,考虑计算硬件和软件的容错性。如果高可用性群集中的某个节点发

生了故障,那么将由另外的节点代替它。整个系统环境对于用户是一致的。

  实际应用的集群系统中,这三种基本类型经常会发生混合与交杂

二,LVS负载均衡集群

类似于iptables的架构,在内核中有一段代码用于实时监听数据包来源的请求,当数据包到达端口时做一次重定向。这一系列的工作必须在内核中实现。在内核中实现数据包请求处理的代码叫做ipvs。ipvs仅仅提供了功能框架,还需要自己手动定义是数据对哪个服务的请求,而这种定义需要通过写规则来实现,写规则的工具就称为ipvsadm。

LVS 与iptables一样是在四层网络结构的软件,不同于squid作用在7层,所以LVS是以ip地址和端口号来判断服务以及转发服务。实现了高吞吐,冗余,和多种适应性。

三,LVS的三种模型

Virtual IP (VIP) address (向外提供服务的虚拟ip)
The IP address the Director uses to offer services to client computers
Real IP (RIP) address (realserver真正的ip)
The IP address used on the cluster nodes
Director's IP (DIP) address (director的ip)
The IP address the Director uses to connect to the D/RIP network
Client computer's IP (CIP) address (客户机的ip)
The IP address assigned to a client computer that it uses as a source IP address for requests sent to the cluster
一般来说LVS的工作方式:客户机访问VIP,director通过内部的算法根据不同的场景,负载把服务定向到不同realserver上来,通过多个realser提供相同的服务来完成负载均衡。
LVS-NAT模型:

 在NAT模型下,director是作为类似网关的作用,进出都需要通过director。但是受限于director一台主机的性能,通常NAT的吞吐量不大。

LVS-DR模型:

 类似NAT优化,访问时通过director转发,回应是通过realserver自己,这样需要realserver和director都有一个公用的公网IP,同时director的只做访问用不回应,realserver的只做会应用,不能直接访问。

LVS-TUN 模型:

 类似LVS-dr的模型,只是多了异地服务的功能,实现了director和realserver可以不在同个地方(很少用到)。

v
  四,LVS算法
     什么是LVS的算法,利用lvs做负载均衡,director会转发请求到不同的realserver上面去,所以我们需要一个调度方法,这个就是Lvs的调度算法。
分为动态和静态两大类
静态算法(固定,不考虑服务器情况)
      Round-robin(RR):轮调算法(所有server 处理能力都相同)
      Weightted round-robin (WRR):加权轮调算法
      Destination     hashing (目标散列):来自同一个目标的 定义到 同一个服务器
       Source hashing hasing(源地址散列):
动态算法(考虑服务器的负载)
        
        LC:根据当前连接数分发 active*256+inactive
        WLC:加权LC算法 value/weight
        SED(最短期望延迟) :
        NQ(Never Q):永不排队
        LBLC(locality-based least-connection基于本地的最少链接):
        LBLCR(带复制的本地最少链接):

你可能感兴趣的:(负载均衡,LVS,职场,休闲,集群服务)