• 保存到桌面加入收藏设为首页
服务器技术

面向高端应用的服务器集群技术

时间:2012-11-02 09:44:00   作者:汤鑫   来源:魅力中国   阅读:5277   评论:0
内容摘要:  随着网络的普及,网络服务器需要为越来越多的用户提供服务。因此,为提高效率人们使用多台服务器为众多用户提供服务,通过网络提供高质量综合信息服务,形成一个安全、可靠、实用、可扩展的现代化的信息服务器系统,以达到信息资源共享、合理利用和高效整合的目的。因此叭嗣蔷徒杓了并行计算技术研究中的有关技术,形成了目前的服务器集群技术。

  随着企业ERP、CRM和 SCM等的应用,数据量急剧增长,一台服务器往往不能满足需求,那么如何才能提高处理速度,数据可用性、数据安全性和数据集可扩性。对此,引起了越来越多的人们广泛关注。
  在这样的背景下,人们提出了集群(Cluster)的概念。它通过b用特定的连接方式,将价格相对较低的硬件设备结合起来,同时也能提供高性能相当的任务处理能力。采用服务器集群技术,可以提高访问数据库的效率,提高可靠性和安全性。
  简单地说,集群是由两台或多台节点机(服务器)构成的一种松散耦合的计算节点集合,为用户提供网络服务或应用程序(包括数据库、Web服务和文件服务等)的单一客户视图,同时提供接近容错机的故障恢复能力。集群系统一般通过两台或多台节点服务器系统通过相应的硬件及软件互链,每个群集节点都是运行其自己进程的独立服务器。这些进程可以彼此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应用程序、系统资源和数据。除了作为单一系统提供服务,集群系统还具有恢复服务器级故障的能力。集群系统还可通过在集群中继续增加服务器的方式,从内部增加服务器的处理能力,并通过系统级的冗余提供固有的可靠性和可用性。
  一、集群的分类
  1.高性能计算科学集群
  以解决复杂的科学计算问题为目的的IA集群系统。是并行计算的基础,它可以不使用专门的由十至上万个独立处理器组成的并行超级计算机,而是采用通过高速连接来链接的一组124 CPU的IA服务器,并且在公共消息传递层上进行通信以运行并行应用程序。这样的计算集群,其处理能力与真正超级并行机相等,并且具有优良的性价比。
  2.负载均衡集群 负载均衡集群为企业需求提供更实用的系统。该系统使各节点的负载流量可以在服务器集群中尽可能平均合理地分摊处理。该负载需要均⒓扑愕挠τ贸绦虼理端口负载或网络流量负载。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡。对于网络流量也如此。通常,网络服务器应用程序接受了大量入网流量,无法迅速处理,这就需要将⒘糠⑺透在其他节点。负载均衡算法还可以根据每个节点不同的可用资源或网络的特殊环境来进行优化。
  3.高可用性集群
  为保证集群整体服务的高可用,考虑计算硬件和软件的容错性。如果高可用性群集中的某个节点发生了故障,那么将由另外的节点代替它。⒏鱿低郴肪扯杂谟没是一致的。实际应用的集群系统中,这三种基本类型经常会发生混合与交杂。
  二、网络服务器集群技术主要特点
  1.服务器镜像技术 服务器镜像技术是将建立在同一个局域网之上的两台服务器通过软件或其他特殊的网络设备(比如镜像卡)将两台服务器的硬盘做镜像。其中,一台服务器被指定为主服务器,另一台为从服务器。客户只能对主服务器上的镜像的卷进行读写,即只有主服务器通过网络向用户提供服务,从服务器上相应的卷被锁定以防对数据的存取;主从服务器分别通过心跳监测线路互相监测对方的运行状态,当主务器因故障宕机时,从服务器将在很短的时间内接管主服务器的应用。 服务器镜像技术的特点是成本较低,提高了系统的可用性,保证了在一台服务器宕机的情况下系统仍然可用,但是这种技术仅限于两台服务器的集群,系统不具有可扩展性。
  2.应用程序错误接管集群技术 错误接管集群技术是将建立在同一个网络里的两台或多台服务器通过集群技术连接起来,集群节点中的每台服务器各自运行不同的应用,具有自己的广播地址,对前端用户提供服务,同时每台服务器又监测其他服务器的运行状态,为指定服务器提供热备份作用。当某一节点因故障宕机时, 群系统中指定的服务器会在很短的时间内接管故障机的数据和应用,继续为前端用户提供服务。 错误接管集群技术通常需要共享外部存储设备——磁盘阵列柜,两台或多台服务器通过SCSI电缆或光纤与磁盘阵列柜相连,数据都存放在磁盘阵列柜上;这种集群系统中通常是两个节点互为备份的,并不是几台服务器同时为一台服务器备份,集群系统中的节点通过串口、共享磁盘分区或内部网络来互相监测对方的心跳。  错误接管集群技术经常用在数据库服务器、MAIL服务器等的集群中。这种集群技术由于采用共享存储设备,所以增加了外设费用,但是可以实现最多32台机器的集群,极大的提高了系统的可用性及可扩展性。
   3.容错集群技术  容错集群技术的一个典型的应用即容错机,在容错机中,每一个部件都具有冗余设计。在容错集群技术中集群系统的每个节点都与其他节点紧密的联系在一起,它们经常需要共享内存、硬盘、CPU和IO等重要的子系统,容错集群系统中各个节点被共同影像成为一个独立的系统,并且所有节点都是这个影像系统的一部分。在容错集群系统中各种应用在不同节点之间的切换可以很平滑的完成,不花费任何时间。
  容错集群技术的实现往往需要特殊的软硬件设计,因渤杀竞芨撸但是容错系统最大限度的提高了系统的可用性,是财政、金融和安全部门的最佳选择。
  4.可连续升级的集群技术  这种集群技术提供了可连续升级的能力,是前几种技术的一个组合。在这种集群系统中通常有一个负责管理整个集群系统的中央节点,中央节点苍鸾用户的请求分配给集群系统中的某个节点,然后这个节点将直接通过INTERNET网络向用户提供服务。在集群系统中每一个节点都互为备份,包括中央节点,他在完成向集群节点分配任务的同时,也向用户提供服务,一旦中央节点宕机,系统将自动推举一个节点为中央节点,来接管它的膊坑τ谩 这种可连续升级的集群系统通常只需简单的设置就可以添加或移除一个节点,使用管理比较简单。通常用在WEB、MAIL、FTP等服务上。 
  三、网络服务器集群的技术实现
  1.构建服务环境
  为了使得多台系统能表现的如同一台服务器系惨谎,那么就必须具备一个基本条件,就是这么多台服务器系统,每台单独运行,都能提供完全一致的服务,否则,不同的服务器提供不一致的服务,又如何对外表现出完全一致的表现呢?这里,最简单的例子是Web服务器,我们可以设置Web服务器,使多个Web服务器中保存的网页文件内容完全一致,这样,无论访问哪个服务器,只要使用同样的URL就能得到同样的结果。
  因此,在这个阶段要保证内容的一致性,就需要使用诸如服务器之间的同步镜像、网络存储系统NAS或SAN,数据库的同步复制等等技术。
  2.实现任务调度
  实现任务荻鹊姆绞接泻芏嘀郑一种方法是在系统内部完成,所有的服务器能够自我协调,完成任务调度,这种方法要涉及所有的服务器,依赖于具体的应用系统,因而更为复杂。另一种方法是不在服务器之间实现调度,而依赖于外部的任务调度设备执行调度。无论那种任务调度方式,最大的问题就莺ε氯挝竦鞫缺旧泶来的额外消耗或性能瓶颈,因此使用硬件设备和单一的高效率系统,作为外部任务调度设备,成为了集群的首选方案。
  3.外部任务调度,负载平衡和虚拟服务器
  使用外部任务调度设备对任务按照网络连接进行分配,这种情况通常被称为网络菸衿鞯母涸仄胶狻M獠康娜挝竦鞫壬璞赣泻芏嘀郑例如基于BSDOS的F5,CISCO的LocalDirector,以及一些七层交换机,例如Foundry的交换机等等。
  目前,除了一些基于硬件交换机设备之外,完全软件的实现中最为流行的就是LVS,Linux Virtual Server,作为一个开放源代莸南钅浚他得到了Linux社区的大力支持,并用于大部分Linux集群设备中。 LVS是由国防科技大学的章文松提出的一个开放源代码项目,事实上这也是国内Linux开发工作中最被国际认可的一个工作,这也标志着国内在这个方向上的研究并不次于国际同行。
  LVS中最为优秀的特点是实现了策略路由的观念,它允许一个TCP连接由任务分配设备分配给后端服务器中之后,后端服务器使用不同的路由,不再经过任务分配器,而是直接返回给客户,这种方式需要后端服务器也是Linux设备,因此不是简单的任务调度。
  4.集群的可靠性
  任务调氐墓丶是将所有的任务平均的分配给所有的服务器,如果不能做到合理的分配,就能出现部分服务器上的拥塞现象,此时还可能有后台服务器类型差异造成的处理能力的不一致等情况。
  为了达到这个任务分配的目的,必须使用一种方法来获得服务器状态,这里就有不同的几种方法。最简单的方法是按照当前服务器的任务数量来衡量服务器负荷,通常就是按照网络连接的数量来衡量,这种方法应该是比较模糊的,因此不同的连接对服务器造成的压力是不同的,例如一个静态网页的处理和一个后台CGI程序的处理,服务器负担就绝对不同。
  一些负载趾馍璞竿ü测量设备对网络连接响应时间来判断服务器的负荷,这基本上能够反映一些情况,但也并非绝对如此,因为优秀的服务器对于基本的网络响应是迅速的,但对于后面的处理过程则受系统负荷的影响。
  因此,一些系统甚至引入了客户/服务器机制,在后台服务器中安装代理来完成探测系统性能的任务。当任务调度设备能够精确的了解服务器负荷的时候,它显然就能够达到了解后台服务器的可用性,就是说任务调度设备能够检测出某些后台服务器不能正确运行,从而避开这个服务器,将任务分配给其他设备,达到容错的目的。
  5.共享数据及会话管理
  以Web访问为例,对于普通的网页,不同的HTTP连接就可以认为是不同的任务。但是,对于更复杂的应用,例如需要用户登录,并根据不同用户提供不同服务的情况呢?此时,如果仍然还是要把不同的HTTP连接看作不同的任务,那么这些连接之间实际上还是有一定菹档模事实上每个用户从登录到退出,可以被看作一个完整的HTTP会话。
  服务器集群实际上就是多个服务器以某种模式连接在一起的系统,它不但可以自动将计算任务并行化,充分调动大型服务器计算能力,而且还可以自动应对大多数系统故障,实现高水平的自主管理。也正因此,很多赫赫有名的中外大型IT企业都在不惜投入巨资研发服务器集群技术。
  我们相信,集群技术的广泛应用将不仅从根本上改变我们的网络环境,而且将从根本上改变IT产业的盈利模式,是真正几十年一遇的重大变革,对于一些企业和技术人员来说是难得的历史机遇。
  参考文献:
  [1]吴景茂.基于遗传算法的Web服务器集群负载均衡研究.《计算机安全》
  [2]杨孟辉,朱晓民.基于软交换的集群媒体服务器的系统特征.《无线电电子学与电信技术》
  [3]李双庆.《Web服务器集群技术研究》
  [4]李捷.面向广域Web集群的仿真平台,《计算机应用


IDCsped 提供最新的IT互联网资讯,本着分享传播的宗旨,我们希望能帮助更多人了解需要的信息!

部分文章转载自互联网、部分是IDCsped原创文章,如果转载,请注明出处:www.idcsped.com !
微信号:13430280788  欢迎加微信交流!

标签:网络服务器集群技术  服务器  负载均衡技术    
相关评论

销售电话:13430280788

Copyright © 2012-2017 | www.idcsped.com 版权所有

  粤公网安备 44010502001126号  粤ICP备12006439号-1