基于Linux的集群系统.docx

上传人:b****6 文档编号:14170024 上传时间:2023-06-21 格式:DOCX 页数:165 大小:118.56KB
下载 相关 举报
基于Linux的集群系统.docx_第1页
第1页 / 共165页
基于Linux的集群系统.docx_第2页
第2页 / 共165页
基于Linux的集群系统.docx_第3页
第3页 / 共165页
基于Linux的集群系统.docx_第4页
第4页 / 共165页
基于Linux的集群系统.docx_第5页
第5页 / 共165页
基于Linux的集群系统.docx_第6页
第6页 / 共165页
基于Linux的集群系统.docx_第7页
第7页 / 共165页
基于Linux的集群系统.docx_第8页
第8页 / 共165页
基于Linux的集群系统.docx_第9页
第9页 / 共165页
基于Linux的集群系统.docx_第10页
第10页 / 共165页
基于Linux的集群系统.docx_第11页
第11页 / 共165页
基于Linux的集群系统.docx_第12页
第12页 / 共165页
基于Linux的集群系统.docx_第13页
第13页 / 共165页
基于Linux的集群系统.docx_第14页
第14页 / 共165页
基于Linux的集群系统.docx_第15页
第15页 / 共165页
基于Linux的集群系统.docx_第16页
第16页 / 共165页
基于Linux的集群系统.docx_第17页
第17页 / 共165页
基于Linux的集群系统.docx_第18页
第18页 / 共165页
基于Linux的集群系统.docx_第19页
第19页 / 共165页
基于Linux的集群系统.docx_第20页
第20页 / 共165页
亲,该文档总共165页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Linux的集群系统.docx

《基于Linux的集群系统.docx》由会员分享,可在线阅读,更多相关《基于Linux的集群系统.docx(165页珍藏版)》请在冰点文库上搜索。

基于Linux的集群系统.docx

基于Linux的集群系统

 

基于Linux的集群系统

(一)集群系统概述

 

本文是《基于LINUX的集群系统》系列文章的第一篇。

作者就集群系统这一概念进行了概述,介绍了集群系统的发展以及国内外主要的集群系统解决方案。

 

第一台计算机问世已经半个世纪了,

在这期间计算机技术经历了五次更新换代。

更新换代的

标志主要有两个:

一个是计算机的元器件,另一个是系统体系结构。

从第一代到第五代计算

机,器件发生了根本的变化:

从电子管、晶体管发展到集成电路,而集成电路又经小规模、

中规模、大规模、非常大规模等阶段发展到超大规模阶段。

系统体系结构的不断改进,许多

重要的概念的不断提出并且得到实现,

推动计算机技术向更高的层次发展。

从早期的变址寄

存器、通用寄存器、程序中断和

I/O通道等概念,到虚拟存储器、

Cache存储器、微程序设

计、系列机、基于总线的多

CPU系统、向量处理机等概念,发展到

64位RISC处理器、基于

MPP、NUMA、集群等体系结构的可伸缩并行处理系统,计算机系统技术也取得了突飞猛进

的发展。

将多台同构或异构的计算机连接起来协同完成特定的任务就构成了集群系统。

早在二十世纪

七八十年代,Digitalequipment公司和Tandem计算机公司就开始了集群系统的研究与开发工作。

 

集群系统主要分为两种:

 

高可用性集群和高性能集群。

 

高可用性集群的主要功能就是提供不间断的服务。

有许多应用程序都必须一天二十四小时地不停运转,如所有的web服务器、工业控制器、ATM、远程通讯转接器、医学与军事监测仪以及股票处理机等。

对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的后果。

 

高性能集群通过将多台机器连接起来同时处理复杂的计算问题。

模拟星球附近的磁场、预测龙卷风的出现、定位石油资源的储藏地等情况都需要对大量的数据进行处理。

传统的处理方法是使用超级计算机来完成计算工作,但是超级计算机的价格比较昂贵,而且可用性和可扩展性不够强,因此集群成为了高性能计算领域瞩目的焦点。

 

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

 

美国DEC公司(DigitalEquipmentCorporation)开发的VMScluster系统开发最早,技术也很

成熟,应用也很广泛,但由于VMS操作系统只能在器上运行,VMScluster的应用受到很大限制。

DEC公司的VAX系列和Alpha系列服务

 

UNIX是服务器或工作站上普遍使用的操作系统,它运行稳定、安全性也比较好,因此许多

大的公司都采用了基于UNIX的集群系统解决方案,如DEC、HP、SUN、IBM、NCR和DG

等公司,其中在国内影响比较大的主要是DEC、HP、SUN和IBM。

其中DEC公司的Trucluster系统提供了由4台DigitalAlphaServer组成的集群系统,它集高可靠性、高可用性和易管理

 

性于一身,是关键业务计算机系统的理想解决方案。

基于WindowsNT的集群系统解决方案厂商主要有

Mircrosoft和DEC。

Microsoft于1995年就

开始了集群系统的开发工作。

Windows2000中已经增加了集群功能,

该高可用性集群叫做

WolfPack,也叫做MicrosoftClusterServer(MCS)。

它主要是在企业级对基于

WindowsNT服

务器的应用程序提供可用性和可升级性。

WolfPack现在支持两个服务器,

一个用来对用户提

供服务,另一个作为备份服务器使用。

Microsoft

下一步的目标是将

WolfPack支持的节点数

扩展到16个。

Wolfpack的缺陷在于:

它只提供了两个节点的失败恢复功能,而没有采用复

杂的应用程序资源管理功能,因此在一定程度上影响了系统的高可用性、

高可靠性和可升级

性。

Wolfpack不能支持多种操作系统,而只能运行于

Windows

NT操作系统上。

由于

WindowsNT操作系统本身在稳定性、

大型并行计算上与

UNIX系统存在较大差距,

目前主要

在中小型系统上应用。

但是随着

WindowsNT系统走向成熟,基于

WindowsNT的计算机集

群系统将获得更广泛的应用。

九十年代末期,Linux操作系统不断走向成熟,它的健壮性不断增强,并且提供了

GNU软件

和标准化的PVM、MPI消息传递机制,最重要的是

Linux在普通PC机上提供了对高性能网

络的支持,这样就大大推动了基于

Linux的集群系统的发展。

Turbolinux公司推出了能够显著地提高基于

TCP/IP协议的多种网络服务的服务质量的高可用

性集群系统Turbocluster。

RedHat也提供了基于

LinuxVirtualServer

思想构建的高可用性集

群系统Piranha。

由Ericsson软件工程研究中心开发的高可用性集群系统

Eddie的主要目的是

提供一个商业级的,能提供较好的服务质量的

web服务器的解决方案。

 

Platform公司开发的高可用性集群系统Lsf提供了分布式集群系统的解决方案,通过将物理

上分离的多个集群连接在一起使使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。

 

高性能集群系统MOSIX为Linux核心增添了集群计算的功能。

在MOSIX集群环境中,用户

无需对应用程序进行修改,或将应用程序与库连接起来,或将应用程序分配到不同的节点上运行。

MOSIX会自动将这些工作透明地交给别的节点来执行。

 

日本的F5公司开发出了高可用性集群BIG-IP,它是使用于本地网络站点或数据中心的高可

用的、智能化的负载平衡产品,它提供了对网络流量的自动和智能的管理。

与前几种集群系

统不同的是,BIG-IP向用户提供的是一个即插即用设备,而其它的提供的都是软件方法。

 

IBM、Microsoft和Intel于2000

年7月联合发布了一种高可用性服务器集群软件及硬件包,

这种服务器集群的配置包括32

台IBMNetfinity8500R

及IntelPentiumⅢXeon处理器,运

行IBM的DB2UniversalDatabase和MicrosoftWindows

2000AdvancedServer操作系统,每

分钟可以执行440879次交易。

这套系统面向数据密集的应用,特别是

B2B、电子商务和企

业资源规划领域。

在科学计算领域中,人们开始把注意力投向通过普通

PC机或工作站的集群来代替昂贵的超

级计算机。

比较成功的例子是高性能集群系统

Beowulf,它最初是由

NASA的GoddardFlight

Center进行开发的,主要目的是支持大规模的科学计算问题,

如地球和太空科学面临的一些

 

计算问题。

 

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

 

联想公司在1999年9月推出了用于分布式高性能计算的

NS10000高性能集群服务器,该系

统是一个四节点的系统,主要基于联想万全

4500R服务器,以总体成本相对较低的设备组

合,足以替代传统RISC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2--1/4。

朗新公司也推出了类似于

Turbocluster的高可用性集群系统

LongShineClusterServer。

1999年9月20日,中国第一家专业面向

Linux高端应用市场的集群网络有限公司推出了国

内首例Linux安全集群系统。

它是国内第一个通过公安部认证的安全

Linux系统,而其集群

技术也已应用于诸多国际著名网站,如

Linux的门户、英国国家JANETCache

网、奥地利的入口站点和瑞士电信等。

其核心代码也已被纳入美国

RedHatLinux发布版的核

心。

中国自主开发研制的集群式高性能计算机集群系统

"自强

2000-SUHPCS"于2000年9月在上

海大学问世。

这一系统的峰值速度达到每秒

3000亿次浮点操作。

是当前中国国内集群式高

性能计算机系统中速度最快的。

 

基于Linux的集群系统

(二)典型集群系统介绍

 

在《基于Linux的集群系统》系列文章的第二部分,作者将向我们介绍几个最典型的集群系统。

 

Lsf

 

如何管理各种各样的计算资源(如:

CPU时间、内存空间、网络带宽、应用程序等)是许多企业当前都很头疼的问题。

尤其是对于那些员工遍布全球的公司而言,如何充分利用有限的计算资源是非常关键的问题。

由platform公司开发的lsf多集群系统使多个异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。

Lsf现在主要支持以下三种大规模资源共享:

 

1.一个大企业中的多个部门,每个部门可以有一个或多个集群,这样就使得部门内部和部门之间可以共享资源。

2.较小部门的数据中心。

大的昂贵的计算资源如超级计算机可以透明地与远方较小的部门直接进行共享。

3.通过松散连接的站点共享资源。

 

Lsf将多个集群连接在一起,一个集群往往是企业中的一个部门,每个集群中有一个主控机,此主控机负责收集该集群系统中的各台主机的负载信息,并且根据各主机的负载信息情况对作业进行调度。

各个集群系统之间根据一定的策略进行资源共享。

在每个主控机上定义了该集群能共享哪些集群系统中的资源。

当用户发送了一个任务请求时,lsf系统能将此任务发

 

送到对应的资源所在地,并根据调度策略选择负载较轻的机器对此任务进行处理。

当多个用

户请求同一个资源时,根据用户的请求优先级来确保优先级高的用户的紧急任务能首先得到满足。

 

Lsf还具有以下特点:

 

1.提供了增强的计算能力。

通过全局资源共享,用户可以访问各种各样的计算资源,许多闲置的计算机现在都可以

充分利用起来进行任务处理,许多机器也可以并行地执行同一个任务,这样就大大增强了用户的计算能力。

2.lsf提供了用户可配置的安全策略。

通过让用户使用RFC931协议、Kerberos、和DCE认证等策略,系统保证了远方的任务来自授权的用户。

3.每一个集群都是一个自治的系统。

每个集群中的主控机的配置文件中记录了如下信息:

如允许在多个集群系统之间传输的任务的数量与类型,允许在多个集群之间共享资源的用户名。

4.提供非共享的用户账号和文件系统。

当任务在多个集群之间进行传输时,用户的账号可以根据配置文件进行映射。

为了支持异构的系统,lsf通过在任务执行前后将文件在集群系统之间传递来提供对非共享的文件系

统的支持。

5.良好的可扩展性。

在单一的集群系统中通过主控机进行管理,所有的配置信息都在主控机上,多个集群系

统之间信息的传递主要是与主控机有关,而与集群中的其它主机无关。

因此lsf的集群能非

常容易地扩展到成百甚至上千台。

6.lsf系统支持多种操作系统平台。

如主要的UNIX平台:

SunSolaris、HP-UX、IBMAIX、DigitalUNIX/CompaqTru64UNIX、

SGIIRIX以及RedhatLinux、WindowsNT、Windows2000等。

 

TurboCluster

 

TurboCluster是一个企业级的集群方案,它允许在多个计算机上构建高可用的、可扩展的网

络。

它支持Intel和Alpha芯片,支持Linux、WindowsNT和Solaris操作系统平台。

使用

TurboCluster系统可以显著地提高基于TCP/IP协议的多种网络服务的服务质量,这些服务包

括Web、Mail、News和Ftp等。

TurboCluster具有良好的可用性、可扩展性和可管理性,

集群内部的实际服务器的数量可以扩充到无限台。

TurboCluster是一种基于软件的集群系统

解决方案,它还能够支持异构的网络环境。

它的结构如图2-1所示。

 

当客户向集群系统发送一个请求时,该请求首先到达高级流量管理器,高级流量管理器通过

一定的调度策略将此请求转发到集群中的某一台实际服务器上对此请求进行处理,最终的回

应请求将直接发送给客户。

由于最终的回应请求没有通过高级浏览管理器而是直接发送给客

户,这样大大减轻了高级浏览管理器上的负载,从而降低了瓶颈产生的可能。

TurboCluster

中采用的调度策略有:

轮回(RoundRobin)、加权轮回(WeightedRoundRobin)、最少连接(Least

Connection)。

为了减少高级流量管理器产生失效的可能,TurboCluster为高级流量管理器准

备了一个备份机。

该备份机不断询问管理器来确认它正在正常工作,一旦发现主管理器已经

 

失效,备份机将接替它继续工作。

 

图2-1turbocluster结构图

 

TurboCluster具有如下一些增强的性能。

 

1.通过heartbeat在备份机上监测流量管理器的运行状态来提供更高的可用性。

2.对不可预测的系统或应用程序的失效进行自动管理。

3.提供动态的负载平衡,它能够消除瓶颈并且处理峰值负载。

4.高级流量管理器只转发已经授权的请求,通过在实际的应用程序服务器的前端增加虚拟防火墙来提高网络的安全性。

5.TurboCluster对外只显现出流量管理器的IP,而集群系统中的实际服务器的IP地址对外

界而言是不可见的。

6.当实际服务器正在对外界提供服务时就可以对它进行维护工作。

 

LinuxVirtualServer

 

Linux虚拟服务器(LinuxVirtualServer,LVS)建筑于实际的服务器集群之上,用户看不到提

供服务的多台实际服务器,而只能看见一台作为负载平衡器的服务器。

实际的服务器通过高

速局域网或地理上分散的广域网连接。

实际服务器的前端是一台负载平衡器,他将用户的请求调度到实际服务器上完成,这样看起来好像所有服务都是通过虚拟服务器来完成的。

Linux虚拟服务器能够提供良好的可升级性、可靠性和可用性。

用户可以透明地增加或减少一个节点,可以对实际服务器进行监测,如果发现有节点失败就重新配置系统。

 

LinuxVirtualServer的结构如图3-1所示。

 

图3-1Linux虚拟服务器结构图

 

调度算法

 

LVS提供了四种调度算法:

轮转调度,加权轮转调度,最少连接调度,加权最少连接调度。

 

1.轮转调度(RoundRobinScheduling)

轮转调度不考虑服务器的连接数和响应时间,它将所有的服务器都看作是相同的。

当以

轮转的形式将连接分发到不同的服务器上。

2.加权轮转调度(WeightedRoundRobinScheduling)

根据每个机器的处理能力的不同给每个机器分配一个对应的权重,然后根据权重的大小

以轮转的方式将请求分发到各台机器。

这种调度算法的耗费比其它的动态调度算法小,但是

当负载变化很频繁时,它会导致负载失衡,而且那些长请求会发到同一个服务器上。

3.最少连接调度(LeastConnectionScheduling)

最少连接调度将用户请求发送到连接数最少的机器上。

最少连接调度是一种动态调度方法,如果集群中各台服务器的处理能力相近,则当负载的变化很大时也不会导致负载失衡,

 

因为它不会把长请求发送到同一台机器上。

但是当处理器的处理能力差异较大时,最少连接

调度就不能很好的发挥效能了。

4.加权最小连接调度(WeightedLeastConnectionScheduling)

根据服务器的性能不同而给它们分配一个相应的权重,权重越大,获得一个连接的机会

就越大。

有如下的运算方法:

(假设共有n台机器,每一台服务器i的权重为Wi(i=1,..,n),活跃连接数为Ci(i=1,..,n),所有的连接数为Ci(i=1,..,n)的总和,下一个连接会发送给服务器j,服务器j满足以下的要求):

(Cj/ALL_CONNECTIONS)/Wj=min

{(Ci/ALL_CONNECTIONS)/Wi}(i=1,..,n)由于ALL_CONNECTIONS是一个常数,因此上面的式子可以优化为:

Cj/Wj=min{Ci/Wi}(i=1,..,n)

 

负载平衡方法

 

LVS提供了三种IP级的负载平衡方法:

 

VirtualServerviaNAT

 

、VirtualServerviaIPTunneling、

VirtualServerviaDirectRouting。

 

VirtualServerviaNAT

 

方法使用了报文双向重写的方法,

 

VirtualServerviaIPTunneling

 

采用的

是报文单向重写的策略,VirtualServerviaDirectRouting

将在以后的文章中详细描述。

采用的是报文转发策略,

这些策略

 

MOSIX

 

MOSIX为Linux核心增添了集群计算的功能。

它支持的操作系统平台有BSD/OS和Linux,它允许任意多个基于X86/Pentium的服务器和工作站协同工作。

在MOSIX集群环境中,用户无需对应用程序进行修改,或将应用程序与库连接起来,或将应用程序分配到不同的节点上运行。

MOSIX会自动将这些工作透明地交给别的节点来执行。

 

MOSIX的核心是适应性的资源管理算法,

它对各节点的负载进行监测并做出相应的回应,

而提高所有进程的整体性能。

它使用抢先的进程迁移方法来在各节点中分配和再分配进程,

从而充分利用所有的资源。

适应性的资源管理算法具体上又包括适应性的负载平衡算法、

存引导算法和文件I/O的优化算法。

这些算法都对集群中的资源使用情况的变化做出响应。

如:

节点上的不平衡的负载分布或由于内存不足而导致的过多的磁盘换入换出。

在这种情况

下,MOSIX将进程从一个节点迁移到另外一个节点上,

从而来均衡负载或将进程迁移到有足

够的内存空间的节点上。

由于MOSIX是在Linux的核心中实现的,因此它的操作对应用程序而言是完全透明的。

可以

用它来定义不同的集群类型,这些集群中的机器可以相同也可以不同。

 

与Turbocluster、LinuxVirtualServer、Lsf等集群系统不同的是,MOSIX集群中的每个节点既

是主节点又是服务节点,不存在主控节点。

对于那些在本地节点创建的进程而言,该节点就

是一个主节点;对于那些从远方节点迁移过来的进程而言,该节点就是服务节点。

这意味着

可以在任意时刻向集群中增加节点或从集群中删除节点,而不会对正在运行的进程产生不良

的影响。

MOSIX的另外一个特性就是它的监测算法能够监测每个节点的速度、负载、可用内

存、IPC以及I/Orate。

系统使用这些信息来决定将进程发送到哪个具体的节点上。

当在某

个节点上创建了一个进程以后,该进程就在这个节点上执行。

当该节点的负载超过了一定的

 

阀值以后,就将该进程透明地迁移到别的节点上继续执行。

 

MOSIX文件系统采用直接文件系统访问的方法,它可以允许迁移到别的节点的进程在本地进行I/O操作。

这样就减少了需要进行I/O操作的进程与创建该进程的节点之间的通讯,从而

允许这些进程更加自由地在集群中的节点中进行迁移。

MOSIX文件系统使所有节点都可以像访问本地文件系统一样透明地访问其它节点上的所有目录和文件。

 

一个低端的MOSIX配置可以包含通过以太网连接起来的多台PC机。

一个较大的配置可以包

含通过快速以太网连接起来的多台工作站和服务器。

高端的MOSIX配置可以包含通过Gigabit-Ethernet连接起来的多台SMP或非SMP工作站和服务器。

 

EDDIE

 

Eddie的主要目的是提供一些供那些进行重要任务处理的网站使用的工具,从而使这些网站

能够提供持续的高级服务。

Eddie创建了一个真正的分布式不同的物理地点的web服务器。

它的结构如图5-1所示。

web

服务器结构,它支持分布于

 

图5-1所示的分布式服务器包含两个集群,它们分别是site1和site2。

每个集群都包含着

一台域名服务器和若干台运行web服务器软件的实际的服务器。

当用户敲入一个域名时,

首先在LocalDNS上对这个域名进行解析,找出与其对应的IP地址。

如果LocalDNS无法对

这个域名进行解析,就将此域名发送到AuthoritativeDNS上,AuthoritativeDNS返回应该访

问的服务器的IP地址,然后用户就可以访问指定的服务器上的内容了。

 

图5-1Eddie集群结构图

 

Eddie主要包含两个软件包:

HTTP网关和增强的DNS服务器。

如图5-2所示,在每个站点上

增加一个新的服务器(即前端机),在其上运行HTTP网关来接受外界发来的请求并且将请

求调度到合适的后端机上执行,DNS服务器上运行增强的DNS服务器软件,通过该软件可

以在多个地理上分散的网址上均衡负载。

 

Eddie主要有以下与众不同的特点:

 

1.提高了

 

web

 

服务器的吞吐量。

通过提供强大的负载平衡能力,

 

Eddie使用户可以充分利

用分布式web服务器中的所有资源。

主要在两个地方使用了负载平衡。

首先后端机将本机

上的负载信息如CPU负载、内存、磁盘延迟、运行队列数据以及页面错等信息发送给前端

机,前端机根据负载轻重将外界请求发送到合适的服务器上。

另外在增强DNS服务器软

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2