首页 > 范文大全 > 正文

群集技术在校园网服务的应用研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇群集技术在校园网服务的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:集群技术是提高服务器系统计算能力、可扩展性和可靠性的一种重要方法,该文介绍在校园网中如何规划和实施服务器集群,以提高校园网服务的高可靠性和高性能。

关键词:集群;可靠性;负载均衡

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)26-6360-04

Application of Cluster Technique in Campus Network Servers

TAO An, ZHANG Wu-rong

(Army Academy of PLA, Hefei 230031, China)

Abstract: Cluster technique serves as an important method to promote the calculating ability, scalability and reliability of server systems. The article introduces how to plan and apply server cluster in campus network so as to enhance the reliability and performance of campus network.

Key words: cluster; reliability; load balance

随着教育信息化的深入和“数字化校园化”项目的建设,校园网的应用范围已延伸到高等学校的教学、科研、学术交流、管理、后勤保障、政治思想工作等各个方面,教职员工从先期的依靠校园网已发展依赖校园网来完成上述工作。这种需求快速的增长,使得对校园网关键应用系统可用性的要求变得非常重要,许多学校的教学和科研等活动在很大程度上都依赖于校园网系统,任何的宕机都会造成严重的损失,因此,这些校园网上的应用系统必须能提供7×24不间断服务。

为了提高整个校园网服务系统的可靠性和不间断性,除了提高计算机各个部件的可靠性以外,一般情况下都会采用集群的方案。

1 集群技术

所谓集群,就是共同为客户机提供网络资源的一组计算机系统。而其中的每一台提供服务的计算机,我们称之为节点(node)。当一个节点不可用或者不能处理客户的请求时,该请求将会转到另外的可用节点来处理,而这些对于客户端来说,它根本不必关心这些要使用的资源的具置,集群系统会自动完成。

应用最为广泛的群集计算技术可以分为三大类:高可用性群集技术、高可扩展性群集技术和高性能计算群集技术。

1)高可用性群集技术

高可用性群集(High Availability Cluster, HAC)是指以减少服务中断(宕机)时间为目的的服务器群集技术。高可用性群集系统可使应用程序服务能够在发生硬件或软件故障时仍继续运行。高可用性系统使用户不受软件故障以及系统处理设备 (SPU)、磁盘或局域网 (LAN) 组件的故障的影响。当某个组件出现故障时,将由冗余组件接管操作。群集和其他高可用性子系统负责协调各组件之间的切换。在实际应用中,通常将HAC群的一个节点配置成主服务器,另外一个节点配置成从服务器。主从服务器有各自的IP地址,并且有一个共享的虚拟IP地址,客户端仅须向这个虚拟IP地址请求服务,而不需要分别向主从服务器的实际IP地址请求服务。这种措施确保集群服务的切换不会影星客户的IP层的访问。常用的HA集群系统由2台服务器组成,每台服务器作为HAC的一个节点。由2个节点构成的HA集群典型应用模式有双机热备和双机互备两种。

2)高可扩展性群集技术

高可扩展性群集技术(Loading Balance Cluster,LBC)就是带均衡策略(算法)的服务器群集。负载均衡群集在多节点之间按照一定的策略(算法)分发网络或计算处理负载。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能力,同时又可以避免单点故障。

3)高性能计算群集技术

高性能计算集群(High Performance Computing Cluster,HPC)是指以提高科学计算能力为目的计算机集群技术。HPC是一种并行计算(Parallel Processing)集群的实现方法。并行计算是指将一个应用程序分割成多块可以并行执行的部分并指定到多个处理器上执行的方法。目前的很多计算机系统可以支持SMP(对称多处理器)架构并通过进程调度机制进行并行处理,但是SMP技术的可扩展性是十分有限的,比如在目前的Intel架构上最多只可以扩展到8颗CPU。为了满足哪些计算能力饥渴"的科学计算任务,并行计算集群的方法被引入到计算机界。著名的“深蓝”计算机就是并行计算集群的一种实现。

2 规划

2.1 操作系统

任何群集需要面对的第一个主要决定就是操作系统的选择。事实上,群集可以运行任何一个操作系统,现行的群集运行的操作系统包括Windows、Solaris、HP-UX、AIX,MacOS X、FreeBSD、Linux。

对于一个只考虑设计要求而没有操作系统倾向性的高校来讲,运行Linux是阻力最小的一个选择,因为大量的面向Linux的免费群集工具的存在。

当然了,操作系统的选择就比较复杂。需要考虑的重要因素包括硬件平台,本地是否有富有经验的系统管理员,是否有需要使用的应用程序,维护是否方便,系统性能以及是否有必要对操作系统做必要的更改。

2.2 节点的运行方式

集群中节点可以以不同的方式来运行,这要看它们是如何设置的。在一个理想的2个节点的集群中,2台服务器都同时处于活动状态,也就是在两个节点上同时运行应用程序,当一个节点出现故障时,运行在出故障的节点上的应用程序就会转移到另外的没有出现故障的服务器上,这样一来,由于两个节点的工作现在由一台服务器来承担,自然会影响服务器的性能。

针对这种情况的解决方案是,在正常操作时,另一个节点处于备用状态,只有当活动的节点出现故障时该备用节点才会接管工作,但这并不是一个很经济的方案,因为你不得不买两个服务器来做一台服务器的工作。虽然当出现故障时不会对性能产生任何影响,但是在正常运行时的性能价格比并不太好。

从上面的工作方式出发,我们可以把集群分为下面几种(特别是两节点的集群):

1)主/主 (Active/active)。这是最常用的集群模型,它提供了高可用性,并且在只有一个节点在线时提供可以接受的性能,该模型允许最大程度的利用硬件资源。每个节点都通过网络对客户机提供资源,每个节点的容量被定义好,使得性能达到最优,并且每个节点都可以在故障转移时临时接管另一个节点的工作。所有的服务在故障转移后仍保持可用,但是性能通常都会下降。

2)主/从(Active/passive)。为了提供最大的可用性,以及对性能最小的影响,Active/passive模型需要一个在正常工作时处于备用状态,主节点处理客户机的请求,而备用节点处于空闲状态,当主节点出现故障时,备用节点会接管主节点的工作,继续为客户机提供服务,并且不会有任何性能上影响。

3)混合型(Hybrid)。混合是上面两种模型的结合,只针对关键应用进行故障转移,这样可以对这些应用实现可用性的同时让非关键的应用在正常运作时也可以在服务器上运行。当出现故障时,出现故障的服务器上的不太关键的应用就不可用了,但是那些关键应用会转移到另一个可用的节点上,从而达到性能和容错两方面的平衡。

2.3 寻址与命名

为一个群集中的节点分配IP地址有三种方式。对于小的群集,许多架构就简单地把他们放在已有的网络中。这样做的话,群集中的节点不需要另外的路由开销即可和随机的外部数据源进行通讯;缺点就是IP地址和物理节点并不会一一对应,因而很难区分各个节点;另外,群集之间没有子网划分也使得节点之间的通讯很容易影响到外部网络。另外的两种方式都是把群集放在一个单独的子网中,无论是使用私有IP或者是公网IP。使用公网IP的好处是,群集节点可以通过一个适当的路由器和随机的外部数据进行通讯和数据交换。在一个子网中(通过某一特定的方式分配之后),IP地址可以帮助管理员记忆某一IP属于哪个节点。使用公网IP的缺点就是这一资源正变得越来越稀缺因而很难获得大批的连续公网IP,即使可以也是非常昂贵的。当然缺点就是群集节点无法直接和外部数据进行交换。

选择节点名称则是群集架构时面对的另一个问题。通常的主机命名规则可以用来命名核心服务器。然而,除非是一个群集非常小而且以后不会扩展,数字化的命名方案,比如node00,node01等,可能是一个比较好的选择。

2.4 管理方式

由于一个群集中节点往往是数量最多的,那么有效的节点配置管理就成为至关重要的一环。众所周知,网络管理方式可以简单地分为带外管理(out-of-band)和带内管理(in-band)两种管理模式。所谓带内管理,是指网络的管理控制信息与用户网络的承载业务信息通过同一个逻辑信道传送,简而言之,就是占用业务带宽,常用的方法有Telnet、Web、网管工具等。而在带外管理模式中,网络的管理控制信息与用户网络的承载业务信息在不同的逻辑信道传送,也就是设备提供专门用于管理的带宽。

对于高可用性群集进行带外管理的有许多优点,一是故障探测和恢复较为方便,当某节点到群集内部通讯网络的通路故障时,带外管理可以分析原因,恢复故障点,或者减弱网络故障的影响。二是可以减少网络传输,与管理相关的网络传输被迁移到带外路由上面,所以用户应用可以使用全部的网络带宽。三是降低安全风险,所有的带外远程管理方式使用定制的操作系统。这些特殊的操作系统提供安全特性和特别目的图形化用户界面或命令集,这样可以降低受到病毒和非授权访问的攻击。

对于高可用性群集的带外管理有3种选择:串口通信连接器、键盘/监视器/鼠标(KVM)切换器、数字KVM切换器。

3 应用

目前,在高校的大多数应用系统都是基于B/S架构,这就要求作为应用服务器的Web服务器具有高可用性和高性能,而数据库服务器又是各种应用系统的核心。

3.1 Web服务器负载均衡群集

在学校的某些应用系统中,例如电子图书馆、BBS、远程教育等,由于涉及的信息量十分庞大,用户访问的频率也高,随之而来的是Web流量的激增。这就需要在实时性和吞吐量方面都具有较高性能的Web服务器支持,如何提高Web服务器的性能和效率成为一个亟待解决的问题。

实际上,服务器的处理能力和I/O已经成为提供Web服务的瓶颈。如果客户的增多导致通信量超出了服务器能承受的范围,那么其结果必然是服务质量下降。显然,单台服务器有限的性能不可能解决这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。显然,采用高性能的主机系统(小型机乃至大型计算机)是可行的。但是,除了其价格昂贵外,这种高速、高性能的主机系统,很多情况下也不能解决同时处理几万个并发。因为,高速主机系统只是对于复杂单一任务和有限的并发处理显得高性能,而Internet中的Web服务器绝大多数处理是“简单任务”、高强度并发处理,因此,即便有大资金投入采用高性能、高价格的主机系统 ,也不能满足Web应用的需要。这就是利用Web服务器群集实现负载均衡的最初基本设计思想。

在Web负载均衡群集的设计中,网络拓扑被设计为对称结构。在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务。通过负载算法,分配设备将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器都独立回应客户的请求,如图1所示。

这种Web服务器群集有如下特点:

1)高性能。一个Web服务器群集系统由多台Web服务器组成,对外部而言,整个群集就如同一台高性能Web服务器,系统只有一个对外的网络地址(主机名或IP地址),所有的HTTP请求都发到这个地址上。系统中有专门的机制能够将这些请求按照一定原则分发到群集中的各台服务器上,让它们各自分担一部分工作。

2)可扩展性。它是采用同样的方法或技术高效率地支持较大规模系统的能力。Web服务器群集系统的组成结构和工作原理决定了它能够比较容易地达到较好的可扩展性,因为扩大系统规模非常容易,只要在网络中增加新的Web服务器计算机即可。

3)高可用性。Web服务器群集系统将会在各种商业应用领域中占有举足轻重的地位。商用系统最重视系统的可靠性和容错性,二者合在一起称为系统的可用性。常用的系统可用性指标有系统平均无故障时间、期望不间断工作时间及年平均故障率等。由于Web服务器群集系统中各台Web服务器之间相对独立,采用一些不太复杂的技术就能使Web服务器群集系统达到很高的可用性。一些商用产品中已经部分实现了这种技术。

此外,Web服务器群集系统还具有价格便宜、能够保护原有投资等特点。

3.2 数据库群集

数据库是校园网各类应用的核心,目前应用在校园网上的主流的数据库管理系统主要有Orcale、Mircosoft SQL Server和MySQL等。

3.2.1 Oracle

真正应用集群(Real Application Clusters,RAC) 是Oracle数据库支持网格计算环境的核心技术,它解决了传统数据库应用中面临的一个重要问题:高性能、高可伸缩性与低价格之间的矛盾。

Oracle RAC 是一个可“共享一切”的体系结构,用于获得数据库高可用性和负载平衡,在此体系结构中,有两个或多个 Oracle RAC 节点集群在一起,共享同一存储区。 RAC 节点通过高速互连连接在一起,此互连方式支持 Oracle 节点之间的快速通信,可以在启动、锁定信息、事务信息、数据等过程中交换各种类别的数据块所有权信息。

ORACLE RAC具有以下特性:

1)高可用性。Oracle RAC提供一个高性能低成本的应用平台,支持所有类型的应用系统,无论是事务处理型应用还是分析型应用。所有应用共享同样的服务器和存储资源。出现任何的服务器或磁盘故障,系统会自动重新接管发生故障的功能。这些对前端用户的完全透明的。同样,如果您需要增加服务器或改变其他组件的配置也不会影响到应用系统。

2)负载均衡。除高可用性外,还可以将 Oracle RAC 配置为提供工作负载均衡数据库的工作负载均衡在连接级别发生。Oracle 使用随机算法把连接请求分发给 RAC 节点。

3)可按需扩充。Oracle RAC可以基于当前的工作负载而构建的。当应用规模需要扩充时(支持更多的数据、用户或应用),就需要扩展系统以保证系统的性能。当应用是构建于大型的SMP主机时,可能需要购买另一台昂贵的主机,但可能只能使用到其处理能力的很小一部分。但是如果使用Oracle RAC的话,可以通过增加一台或多台低成本的服务器来扩充应用系统的处理能力,满足应用需求。

4)第三方应用支持。Oracle RAC数据库服务器象一个单一镜像的数据库服务器,所有的应用无需任何改动都可以直接部署,同时可以提高应用性能和可靠性。

3.2.2 SQL Server

SQL Server 故障转移群集为整个 SQL Server 实例提供高可用性支持,包括一个或多个 Microsoft群集服务(Microsoft Cluster Server,MSCS)节点,以及专用群集资源组。其中,专用群集资源组主要有:用来访问集的网络名称、IP 地址、用于 SQL Server 数据库和日志存储的共享磁盘、控制 SQL Server 故障转移行为的资源 DLL、在所有故障转移群集节点中自动保持同步的检查点注册表项。

SQL Server 故障转移群集在网络上显示为一台计算机上的单个 SQL Server 实例。在群集内部,一次只有一个节点拥有群集资源组,满足针对该故障转移群集实例的所有客户端请求。在出现故障(硬件故障、操作系统故障、应用程序或服务故障)或进行计划升级时,组所有权就转移至故障转移群集内的其他节点。此过程称为故障转移。

SQL Server 故障转移群集构建于MSCS之上,也就是说,若要创建 SQL Server 故障转移群集,首先需要创建基础Microsoft群集群集。由于MSCS群集是用于获得高可用性的,而非用于实现负载平衡,SQL Server也没有任何内置的、自动负载平衡功能,因此,用户必须通过应用程序的物理设计来实现负载平衡。

3.2.3 MySQL

由于MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,它与其他遵循GPL的开放源码软件Linux、Apache、PHP一起,构成了Internet上流行的网站构架方式LAMP。目前,这种网站架构方式在高校中也有普遍的应用。

为了能在群集系统上部署的其开放源代码数据库,MySQL公司于2004年4月份发售MySQL Cluster这一高可用性版本。

MySQL Cluster能够实现在多种软、硬件平台上的数据库群集功能,其中包括Linux、Windows、Solaris操作系统平台和Inter、Sparc硬件平台。

4 结束语

校园网的高可用性一直是网络管理人员追求的目标之一,而单一计算机只能提供有限级别的服务器可靠性和可伸缩性。但是,通过将两台或两台以上高级服务器的主机连成群集,就能够提供关键任务服务器所需的高可靠性和高性能。

参考文献:

[1] 陈刚,郭学理,韦智.Web服务器负载均衡的研究[J].计算机应用,2001(9).

[2] 付社良,田斌.Oracle RAC 10g系统高可用性测试及分析[J].武汉理工大学学报:信息与管理工程版,2007(2).

[3] 古俐明.集群服务器负载均衡技术研究[J].微计算机信息,2007(12).

[4] 江小云.建立基于服务器群集的负载均衡架构[J].重庆科技学院学报:自然科学版,2007(2).

[5] 门华.数字化校园中门户服务负载均衡的分析与实现[J].重庆工商大学学报:自然科学版,2007(1).

[6] 任娜,张文强,王洪江.HP-UNIX集群系统下ORACLE RAC实现方案简析[J].科技信息:学术研究,2007(19).

[7] 王璐璐.Web服务负载均衡群集的设计与实现[J].辽宁师专学报:自然科学版,2007(2).

[8] 喻莉,阮文涛.负载均衡技术的研究与实现[J].计算机技术与发展,2007(8).

[9] 张基温,杜精益,江森林.基于负载均衡的Web服务双向选择方案[J].计算机工程与设计,2007(16).

[10] 张志友.计算机集群技术概述[J].实验室研究与探索,2006(5).

[11] 赵水宁,邵军力.多Web服务器负载均衡技术的研究[J].电信科学,2001(7).