当前位置:Linux教程 - Linux业界 - 基于linux的集群系统(一)

基于linux的集群系统(一)

内容:

集群系统的分类
集群系统采用的操作系统
作者简介

集群系统概述
许广斌 ([email protected])
工程师
2001 年 5 月

本文是《基于LINUX的集群系统》系列文章的第一篇。作者就集群系统这一概念进行了概述,介绍了集群系统的发展以及国内外主要的集群系统解决方案。
第一台计算机问世已经半个世纪了,在这期间计算机技术经历了五次更新换代。更新换代的标志主要有两个:一个是计算机的器件,另一个是系统体系结构。从第一代到第五代计算机,器件发生了根本的变化:从电子管、晶体管发展到集成电路,而集成电路又经小规模、中规模、大规模、非常大规模等阶段发展到超大规模阶段。系统体系结构的不断改进,许多重要的概念的不断提出并且得到实现,推动计算机技术向更高的层次发展。从早期的变址寄存器、通用寄存器、程序中断和I/O通道等概念,到虚拟存储器、Cache存储器、微程序设计、系列机、基于总线的多CPU系统、向量处理机等概念,发展到64位RISC处理器、基于MPP、NUMA、集群等体系结构的可伸缩并行处理系统,计算机系统技术也取得了突飞猛进的发展。

将多台同构或异构的计算机连接起来协同完成特定的任务就构成了集群系统。早在二十世纪七八十年代,Digital equipment公司和Tandem计算机公司就开始了集群系统的研究与开发工作。

集群系统主要分为两种:
高可用性集群和高性能集群。

高可用性集群的主要功能就是提供不间断的服务。有许多应用程序都必须一天二十四小时地不停运转,如所有的web服务器、工业控制器、ATM、远程通讯转接器、医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的后果。

高性能集群通过将多台机器连接起来同时处理复杂的计算问题。模拟星球附近的磁场、预测龙卷风的出现、定位石油资源的储藏地等情况都需要对大量的数据进行处理。传统的处理方法是使用超级计算机来完成计算工作,但是超级计算机的价格比较昂贵,而且可用性和可扩展性不够强,因此集群成为了高性能计算领域瞩目的焦点。

集群系统采用的操作系统主要有VMS、UNIX、WindowsNT和Linux。

美国DEC公司(Digital Equipment Corporation)开发的VMScluster系统开发最早,技术也很成熟,应用也很广泛,但由于VMS操作系统只能在DEC公司的VAX系列和Alpha系列服务器上运行,VMScluster的应用受到很大限制。

UNIX是服务器或工作站上普遍使用的操作系统,它运行稳定、安全性也比较好,因此许多大的公司都采用了基于UNIX的集群系统解决方案,如DEC、HP、SUN、IBM、NCR和DG等公司,其中在国内影响比较大的主要是DEC、HP、SUN和IBM。其中DEC公司的Trucluster系统提供了由4台Digital Alpha Server组成的集群系统,它集高可靠性、高可用性和易管理性于一身,是关键业务计算机系统的理想解决方案。

基于WindowsNT的集群系统解决方案厂商主要有Mircrosoft和DEC。Microsoft于1995年就开始了集群系统的开发工作。Windows 2000中已经增加了集群功能,该高可用性集群叫做WolfPack,也叫做Microsoft Cluster Server (MCS)。它主要是在企业级对基于Windows NT服务器的应用程序提供可用性和可升级性。WolfPack现在支持两个服务器,一个用来对用户提供服务,另一个作为备份服务器使用。Microsoft下一步的目标是将WolfPack支持的节点数扩展到16个。Wolfpack的缺陷在于:它只提供了两个节点的失败恢复功能,而没有采用复杂的应用程序资源管理功能,因此在一定程度上影响了系统的高可用性、高可靠性和可升级性。Wolfpack不能支持多种操作系统,而只能运行于Windows NT操作系统上。由于WindowsNT操作系统本身在稳定性、大型并行计算上与UNIX系统存在较大差距,目前主要在中小型系统上应用。但是随着WindowsNT系统走向成熟,基于WindowsNT的计算机集群系统将获得更广泛的应用。

九十年代末期,Linux操作系统不断走向成熟,它的健壮性不断增强,并且提供了GNU软件和标准化的PVM、MPI消息传递机制,最重要的是Linux在普通PC机上提供了对高性能网络的支持,这样就大大推动了基于Linux的集群系统的发展。

Turbolinux公司推出了能够显著地提高基于TCP/IP协议的多种网络服务的服务质量的高可用性集群系统Turbocluster。Red Hat也提供了基于Linux Virtual Server思想构建的高可用性集群系统Piranha。由Ericsson软件工程研究中心开发的高可用性集群系统Eddie的主要目的是提供一个商业级的,能提供较好的服务质量的web服务器的解决方案。

Platform公司开发的高可用性集群系统Lsf提供了分布式集群系统的解决方案,通过将物理上分离的多个集群连接在一起使使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。

高性能集群系统MOSIX为Linux核心增添了集群计算的功能。在MOSIX集群环境中,用户无需对应用程序进行修改,或将应用程序与库连接起来,或将应用程序分配到不同的节点上运行。MOSIX会自动将这些工作透明地交给别的节点来执行。

日本的F5公司开发出了高可用性集群BIG-IP,它是使用于本地网络站点或数据中心的高可用的、智能化的负载平衡产品,它提供了对网络流量的自动和智能的管理。与前几种集群系统不同的是,BIG-IP向用户提供的是一个即插即用设备,而其它的提供的都是软件方法。

IBM、Microsoft和Intel于2000年7月联合发布了一种高可用性服务器集群软件及硬件包,这种服务器集群的配置包括32台IBM Netfinity 8500R及Intel Pentium Ⅲ Xeon处理器,运行IBM的DB2 Universal Database和Microsoft Windows 2000 Advanced Server操作系统,每分钟可以执行440879次交易。这套系统面向数据密集的应用,特别是B2B、电子商务和企业资源规划领域。

在科学计算领域中,人们开始把注意力投向通过普通PC机或工作站的集群来代替昂贵的超级计算机。比较成功的例子是高性能集群系统Beowulf,它最初是由NASA的Goddard Flight Center进行开发的,主要目的是支持大规模的科学计算问题,如地球和太空科学面临的一些计算问题。

国内也有不少公司进行了集群系统的研究和开发工作。

联想公司在1999年9月推出了用于分布式高性能计算的NS10000高性能集群服务器,该系统是一个四节点的系统,主要基于联想万全4500R服务器,以总体成本相对较低的设备组合,足以替代传统RISC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2--1/4。

朗新公司也推出了类似于Turbocluster的高可用性集群系统LongShine Cluster Server。

1999年9月20日,中国第一家专业面向Linux高端应用市场的集群网络有限公司推出了国内首例Linux安全集群系统。它是国内第一个通过公安部认证的安全Linux系统,而其集群技术也已应用于诸多国际著名网站,如Linux的门户www.linux.com、英国国家JANET Cache网、奥地利的入口站点和瑞士电信等。其核心代码也已被纳入美国Red Hat Linux发布版的核心。

中国自主开发研制的集群式高性能计算机集群系统"自强2000-SUHPCS"于2000年9月在上海大学问世。这一系统的峰值速度达到每秒3000亿次浮点操作。是当前中国国内集群式高性能计算机系统中速度最快的。

作者简介
许广斌,男,工程师。您可以通过电子邮件 [email protected] 与他联系。