集群技术综述

摘自:北京中科红旗软件技术有限公司 Red Flag Server 4.0集群技术白皮书

一、什么是集群
    多台同构或异构的计算机用某种方式连接起来协同完成特定的任务就构成了集群系统,根据所要完成的任务的不同,集群通常分为三种类型:
(1)科学计算集群:主要用以进行大规模数值计算,解决复杂的科学问题。
    在这种集群上运行是专门开发的并行应用程序,它可以把一个问题的数据分布到多台的计算机上,利用这些计算机的共同资源来完成计算任务,从而可以解决单机不能胜任的工作(如问题规模太大,单机计算速度太慢)。
    这种集群主要应用在需要大规模数值计算的环境中,如天气预报、石油勘探与油藏模拟、分子模拟、生物计算等。这些应用通常在并行通讯环境MPI、PVM等中开发,由于MPI是目前的标准,故现多使用MPI为并行环境。
    比较有名的集群Beowulf就是一种科学计算集群项目。
(2)高可用集群:
    它的主要功能就是利用集群系统的容错性对外提供7x24小时不间断的服务,如高可用的文件服务器、数据库服务器等关键应用。
    目前已经有在Linux下的高可用集群,如Linux HA项目,红旗高可用服务器。
负载均衡集群:使任务可以在集群中尽可能平均地分摊到不同的计算机进行处理,充分利用集群的处理能力,提高对任务的处理效率。
    由于完成的任务不同,负载均衡集群又可进一步分类,如批处理型与网络流量型。我们目前所要开发的就是网络流量负载均衡服务集群。
在实际应用中这几种集群类型可能会混合使用,以提供更加高效稳定的服务。如在一个实用的网络流量负载均衡集群中,就会包含高可用的网络文件系统、高可用的网络服务。
(3)网络负载均衡集群:
    网络负载均衡集群主要面向网络服务。随Internet的普及与发展,Internet服务器的数量在不断增加,其中一些服务器经常需要处理大量用户的请 求,如http、mail/pop3服务,当用户的请求超过系统的响应能力时,系统响应速度就会变慢甚至不能正常处理,这时就需要对服务器进行升级来满足 需要。直接的解决办法是使用更高性能的服务器系统,这种方式的费用较高而且可扩展性差,另一种方法就是采用我们所说的集群。

二、为什么要使用集群
随着技术的发展,计算机越来越多的进入到人们的生活中,被应用到各个方面;同时随着应用的深入,人们对于计算机的要求也越来越高。当一台服务器在使用过程 中不能满足要求时,传统的方法是使用一台新的服务器来替换原有服务器,新服务器一般比旧服务器有更快的CPU、更大的内存等资源,从而可以满足用户的需 要。这种对服务器的升级方式有几个方面的缺点:
     在升级后,旧服务器一般不会再参与原有服务,服务的效能完全由新服务器决定。当对服务的需求快速增长并超过新服务器的效能时,就要再次更新系统,使用功能更强大的服务器,现有服务器就会被淘汰从而造成浪费。同时新服务器很快将会成为系统性能的瓶颈。
    为了获得更高的性能,人们不断研制新的超级计算机,这些计算机内部的处理器数也在不断的增长,目前最多已达9600多。但随处理器数目的增加,计算机的复杂度急剧增加,从而加大了研究与制造难度,服务器的价格随性能增加而超线性增长,一般用户难以承受。
    对现代企业来说,利用计算机系统来提供及时可靠的信息和服务是必不可少的;然而,计算机硬件与软件都不可避免地会发生故障,从而导致整个服务的终止,网络 的瘫痪等等而给企业带来较大的损失。因此,企业的关键应用必须有适当及时的措施来确保系统提供7x24不间断的服务,以避免单点失效,保证系统的整体可用 性。信息系统的可用性通常在两种情况下会受到影响,一种是系统Down机、错误操作和管理引起的异常服务失败,另一种是由于系统维护和升级,需要安装新的 硬件或软件而正常关机。高可靠性软件必须为这两种情况提供不间断的系统服务。
    通常的系统没有容错功能,也没有特殊的软件来做错误处理,系统的错误检查和恢复完全依靠系统管理员来完成。红旗高可用(HA)集群系统是在红旗Linux Server系统基础上通过冗余架构,运行集成的高可靠性软件而构成。高可靠性软件用于自动检测系统的运行状态,在一台服务器出现故障的情况下,自动地把 设定的服务转到另一台服务器上。
    随网络技术的进步以及处理器性能的提高,越来越多的人开始用相对廉价的以太网把相对便宜的服务器/工作站连接起来组成集群使用,从而以较少的代价获得较高 的性能。集群已成为超级计算机研究开发的一个方向,如在TOP 500 Supercomputers列表中就有不少集群 系统。特别是基于Linux的科学计算集群就有穷人的超级计算机之说。集群的应用范围也在不断的扩大,从科学计算到网络服务、事务处理。使用集群有下面一 些优点:
1. 成本低。集群都是将普通PC工作站、工作站或服务器通过某种方式连接起来构成的多机系统,通常的连接方式是采用网络适配器和网络集线器/交换机。这种集群与性能相当的服务器相比价格通常可以便宜很多。
2. 可用性好。集群系统具有良好的可用性,能够在集群的某部分资源出故障的情况下继续向用户提供持续的服务。由于集群内的各节点都是独立的计算机,某些部分的故障不会影响其它计算机的正常工作,集群系统的服务可以保持,从而可使故障造成的损失最小化。
3. 可扩展性好。集群系统有良好的可扩展性,只需很少的配置工作就可以方便地向集群中加入或删除工作节点。当现有集群不能满足要求时,一个简单的方法就是在集群中增加新的服务器来扩充集群的处理能力或增加新的功能。
4. 利用率高。集群系统提供负载平衡功能,它能够通过监视集群中的实际节点的负载情况并动态地进行调度,最大程度地利用集群中的一切资源。

你可能感兴趣的:(集群技术综述)