huihoo.org - The Huihoo Middleware Foundation


高性能集群系统架构简介


(来源:转载自ZDNet China http://www.zdnet.com.cn)

1.系统概述

数据中心领域一直是高端RISC服务器的天下,多年来人们只有选择AS400 、E10000、HP9000等这样的小型机,价格昂贵,维护成本高。而IA 架构服务器价格低廉,易于使用和维护,通过Cluster技术可以构造超级计算机,其超强的处理能力可以取代价格昂贵的中大型机,为行业的高端应用开辟新的方向。

对于成长中的大型用户来讲,数据中心或数据仓库中所保存的企业经营、管理数据的增长是十分惊人的,而这些数据对大型用户的作用又是非常重要的。发展若干年中积累下的数据是一笔宝贵的财富,通过对这些浩若烟海的数据进行分析,经营者们能够得出直观的经营图表、曲线,能够为以后大型用户的发展提供有力的决策支持。但是由于这样的数据随着时间的流逝不断膨胀,给大型用户的IT系统管理人员带来了巨大的压力。 用户到底需要什么样的服务器才能满足目前和未来发展的需要?

首先要有超强的计算能力,可以承受长时间、大用户量的并发访问。

其次,服务器系统的高可用性、易用易管理对于用户也是极为重要的,如果系统出现故障,造成服务的中断,或者重要资料的丢失,会给用户造成挽回的损失。所以,用户在选择服务器系统时一定要考虑高可用的系统方案。

第三,随着数据的不断堆积,对数据的查询和统计将使系统变得越来越慢,硬件设备的更新换代可以说是一个发展中的大型用户必不可少的工作。

利用最新的4、8路IA服务器架构的高性能服务器集群系统[1], 采用了领先的VI(Visual Interface)技术,有效地消除了系统中节点之间通讯的瓶颈;同时,系统采用的负载均衡技术使用户设备可以充分得到利用,并且达到了4个9的可靠性,具有极高的产品性价比,1999年推出以来引起了用户的广泛关注,为国内广大用户提供了一个强有力的数据库服务器平台。

2.系统原理

高性能服务器集群系统是基于2节点或4节点的集群,最多可达32个CPU,内存最大支持32GB。4节点构成一个工作单元,最多可级联16个工作单元。

各节点为IA服务器,它支持4路或8路Pentium III Xeon CPU并行处理。每台服务器上插一块千兆网卡或vi结构的高速交换卡,连接至一台高速交换机(可以是千兆以太网卡交换机或某些特殊的高速交换机,例如vi结构的高速交换机)做为服务器彼此之间的数据交换用,称之为SAN(Server Area Network)交换机。

每台服务器插有一块百兆或千兆以太网卡,连接到局域网用的交换机或集线器上,为客户端的访问提供连接服务。

四台服务器共享一台光纤通道磁盘阵列柜。每台服务器有两块光纤通道卡,分别连接到两个光纤通道的集线器上,每个集线器分别连接到光纤通道磁盘阵列柜的两个控制器上。对于光纤通道磁盘阵列柜,只要有一个控制器能正常工作,整个阵列柜就能正常工作,因此这种配置方案是冗余的,防止单点失效。对于最重要的存放在磁盘阵列柜中的数据,还可采取将集群系统与磁盘阵列柜分别存放的方式来确保数据安全,光纤通道允许集群系统与磁盘阵列柜之间最长10公里的距离。

每台服务器有一个硬盘区域,用于安装本机的引导系统和数据库系统的管理部分。用户数据存储在共享的磁盘阵列柜中。

在局域网中,有一台客户机做为管理控制台,在其上安装有数据库的管理控制台,用于管理并行数据库,可以同时监控四个节点上的数据库实例,实现启动、停止、监控运行性能等功能。

另外在这台客户机上安装有网管系统,SAN的管理控制台,磁盘柜的管理控制台,UPS管理控制台等,实现集群系统的统一管理。有的管理功能实现时只需要安装TCP/IP协议,有的则还需要安装SNMP协议才能正常工作。

一个良好的集群系统除了优秀的性能指标之外,还需要有相应的操作系统和数据库的支持,我们目前的集群系统支持WINDOWS NT 4.0 及WINDOWS 2000操作系统[2],在数据库方面支持ORACLE和DB2。它不运行在单机上,只有在多个节点同时工作时,才能够显示出它的性能,并使得系统能够真正做到负载均衡(Load Balance)。

2.1 两节点集群系统

从方案的配置上来说,用户可以根据需要做不同的选择,可以使用两台高端服务器实现一个虚拟主机。这时,采用vi结构的高速交换设备更具有优越性,不需要使用vi 交换机,可以用每台服务器上的vi结构的高速交换卡直连实现服务器之间的高速数据交换。如果使用千兆以太网卡,还需要千兆交换机,成本较高。



2.2 四节点集群系统
集群系统方案的设计目标是支持4节点的cluster,在实现时以4个节点加相应存储设备和交换设备构成一个工作单元。每个工作单元由四台独立的4路或8路服务器组成的服务器阵列作为一个虚拟的容错主机工作,四台服务器共享一台光纤通道磁盘阵列柜。每台服务器有两块光纤通道卡,分别连接到两个光纤通道的集线器上,每个集线器分别连接到光纤通道磁盘阵列柜的两个控制器上。对于光纤通道磁盘阵列柜,只要有一个控制器能正常工作,整个阵列柜就能正常工作,因此这种配置方案是冗余的,防止单点失效。


3. 系统特性

高性能服务器集群系统解决方案已经可以实现4结点的集群,超过传统cluster两结点的限制。如果集群中每结点采用8CPU服务器,那么4结点的集群系统可以支持32个处理器,在性能上完全可以与传统的RISC小型机和中型机相抗衡。


3.1 负载均衡

负载均衡的概念:多台服务器为对称方式,每台服务器都具备等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。然后通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器都独立回应客户机的请求。

1、 将大量用户的并发访问分别在到多个节点机上并行处理,缩短用户等待响应的时间,系统的处理能力得到提高,并且能够接受更多用户的并发访问。客户机申请数据库连接时,由数据库自动分配连接到哪个节点上,实现这种方式的负载均衡不需要修改已有的应用程序。

2、 将单个用户重负载的运算分担到多个节点机上做并行处理,每个节点机有多个CPU,也做并行处理,处理结束后,将结果汇总,返回给用户。即将一个大的用户查询分担到多个节点上,由多个线程来并行处理,然后再将结果合并,显示给用户,系统处理能力得到大幅度提高。实现这种方式的负载均衡需要修改已有的应用程序,但只需要修改SQL查询语句。

3.2 高可用性:
高可用性意味着最大化的服务器开机时间,也就是最小化的服务器计划外的停机时间,从而可以很好地保护关键性数据、提高生产效率。99%的高可用性意味着每年计划外的停机时间是5000分钟,而99.99%意味着50分钟。

高性能服务器集群系统解决方案是一个true cluster系统,当一台节点机出现故障时,其他节点机仍旧可以正常工作,客户机的访问不会中断。

高性能服务器集群系统中大量采用冗余设备,如多台服务器、多台UPS、多台交换机、磁盘冗余(RAID),在存储设备中采用独立的两套CPU/内存子系统,甚至配置了两套为磁盘柜内存缓冲供电的电源系统,有效地屏蔽了单点失效的危险性,使整个系统的可靠性达到了99.99%以上。

此方案的优势在于在正常工作状态下,四台服务器并行处理任务,没有资源闲置,且并行处理,大大提高系统总体处理能力;而当有一台或几台出现故障时,其他的服务器除执行自己的任务外,还接管其他节点的工作,因此负载加大,但整个集群系统仍在正常工作,客户机的访问不会中断,因为这是专门针对无法容忍停机的用户设计的,从根本上消除了停机因素。出现故障的服务器只是简单地将其从阵列中移去,当这台服务器修理好后,无需人工干预即可重新加入到服务器阵列。这就是我们所说的并行处理、永不停顿的含义。

3.3 集中管理性能
在局域网中,有一台客户机做为管理控制台,在其上安装有数据库的管理控制台,用于管理并行数据库,可以同时监控四个节点上的数据库实例,实现启动、停止、监控运行性能等功能。另外安装有网管系统,磁盘柜的管理控制台,UPS管理控制台等,实现集群系统的统一管理。有的管理功能实现时只需要安装TCP/IP协议,有的则还需要安装SNMP协议才能正常工作。

3.4可扩展性能

高性能服务器集群系统是基于2节点或4节点的集群,可达16个或32个CPU,内存最大支持32GB。2节点或4节点构成一个工作单元。

先使用一个工作单元进行数据处理,随着业务的发展,当发现处理能力不足时,可再级联第二个工作单元,即可获得处理性能的提高。这体现了cluster系统很好的可扩展性。

四节点的服务器并行处理能力是否能达到单台服务器处理能力的四倍呢?

不能。二节点的服务器并行处理能力基本能达到单台服务器处理能力的二倍,但四节点的服务器并行处理能力只能达到单台服务器处理能力的三倍多。因为当节点数增多时,用于cluster系统管理耗费的资源会上升,对系统的总处理能力影响增大。

3.5 Vi的高速传输性能。

VI是Visual Interface的简称,可直译为"虚拟接口",是一种用于服务器和服务器之间的通讯技术。严格来讲,VI是一种工业标准,支持它的企业和机构至少有上百家,其中包括INTEL、COMPAQ、IBM、HP、MICROSOFT等国际知名厂商。它并不代表是某种硬件或软件设备,而是一种特殊的网络通讯协议,凡是符合这种通讯协议的网络设备,我们就称之为VI设备。有时也称这种设备为VIA(Visual Interface Architecture)设备,即"虚拟接口架构"设备。

VI设备的特点是高传输速率-大于1.25Gb/S,甚至高于目前的千兆交换网络设备(千兆交换设备的传输速率为1Gb/S),而且由于它使用了特殊的通讯协议,而不是传统的OSI7层传输协议,在数据的传送速度上要远远高于普通的千兆交换设备。高性能服务器集群系统在服务器彼此之间互相交换数据方面采用了最新的通讯技术,即采用了vi结构的通讯卡,实现服务器之间高速数据交换。

当然也可以用千兆网卡和千兆交换机实现服务器之间的数据交换,但最主要的差别在于,服务器之间的数据交换速度与vi结构的通讯卡相比慢很多。千兆网卡和千兆交换机实现数据交换必须通过TCP/IP的七层协议,而vi结构的通讯卡可以绕过TCP/IP的七层协议,实现应用程序直接访问vi结构的通讯卡,即直接与硬件设备进行数据交换,速度非常高,1.25Gb/s,大大减少CPU资源占用。在cluster系统中,服务器之间数据交换的速度直接影响整体系统性能,在节点数越多的情况下,影响越显著,甚至成为系统性能的瓶径,因为进程在多个节点之间的协调占用了大部分的系统资源。

目前支持vi结构的通讯卡在应用层直接进行数据交换的应用程序有oracle和db2。

实现两个节点的机群系统时,vi结构的通讯卡更具有优越性,因为两个vi结构的通讯卡之间可以直连,不需要交换机,性能好,价格便宜。而如果使用千兆以太网,必须使用千兆交换机。

Internet时代,国内用户对服务器高端的应用的需求越来越大,利用IA服务器架构的高性能服务器集群系统的连续可用性、在线扩展、远程管理等一系列卓越的特点已使许多用户的梦想变为可能。