在传统的终端主机网络模式时代,终端功能简单,无需维护工作,在主机一端进行专门的管理与维护,具有资源共享、便于管理的特点。但是,主机造价昂贵,终端没有处理能力,限制了网络的规模化发展。之后的客户端服务器模式推进了计算产业的标准化和开发化的发展,为系统提供了相当大的灵活性,但是随着分布系统规模的规模扩大,系统的维护和管理带来了巨大的开销。

而服务器集群系统中,服务器不再分布在各处,而是集中在一起统一进行管理和维护。它保持了分布式客户端/服务器模式的开发性、可扩展性的优点,同时又具备了终端主机模式的资源共享和集中易于管理的优点。相对集中的集群系统,降低了系统管理的成本,而且还提供了和大型服务器系统相媲美的处理能力。

面向Internet的服务型应用需要高性能硬件平台作为支持。将并行技术应用在服务器领域中是计算机发展的必然趋势。并行处理技术在高性能计算领域中高可用和高性能是集群服务器系统发展的两个重要方向。集群英文名称是CLUSTER,是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。

相比传统高性能计算机技术,集群技术可以利用各档次的服务器作为节点,系统造价低。可以实现很高运算速度完成大运算量计算具有较高响应能力能够满足当今日益增长服务信息需求。Internet用户数量呈几何级数增长科学计算复杂性要求计算机有更高处理能力而CPU发展无法跟上不断增长需求于是我们面临以下问题:大规模计算如基因数据分析气象预报石油勘探需要极高计算性能应用规模发展使单个服务器难以承担负载不断增长需求需要硬件有灵活可扩展性关键性业务需要可靠容错机制IA集群系统(CLUSTER)特点由若干完整计算机互联组成统一计算机系统可以采用现成通用硬件设备或特殊应用硬件设备例如专用通讯设备

服务器集群是一种将多台服务器组成一个整体的系统,以提高系统的可靠性和性能。为了实现服务器集群,需要特殊的软件支持,例如支持集群技术的操作系统或数据库等等。同时,可以实现单一系统映像,即操作控制、IP登录点、文件结构、存储空间、I/O空间、作业管理系统等等的单一化。在集群系统中可以动态地加入新的服务器和删除需要淘汰的服务器,从而能够最大限度地扩展系统以满足不断增长的应用的需要。可用性是集群系统应用中最重要的因素,是评价和衡量系统的一个重要指标。能够为用户提供不间断的服务,由于系统中包括了多个结点,当一个结点出现故障的时候,整个系统仍然能够继续为用户提供服务。具有极高的性能价格比,和传统的大型主机相比,具有很大的价格优势。资源可充分利用,集群系统的每个结点都是相对独立的机器,当这些机器不提供服务或者不需要使用的时候,仍然能够被充分利用。

要实现服务器集群,需要硬件配置。例如网络服务器两台;服务器操作系统硬盘两块;ULTRA 160 LVD SCSI磁盘阵列一个;18G SCSI硬盘三块;网络服务网卡四块。

服务器集群的实践步骤如下:在安装机群服务之前进行准备;安装配置服务器网络要点;添加新节点至现有群集;创建新域和组;管理群集中的用户和组;监视群集状态;备份群集数据;迁移群集数据等。

在配置内网时,需要设置IP地址、子网掩码和网关。在这个例子中,我们有以下信息:

内网IP地址:10.10.10.12

子网掩码:255.255.255.0

网关:192.168.0.191

在配置外网时,需要设置IP地址和网络名称。在这个例子中,我们有以下信息:

外网IP地址:192.168.0.193

网络名称:外网

接下来,我们需要安装配置阵列,创建一个小分区(至少50兆)用来存储群集配置数据库的检测点和日志文件。然后,其他分区根据用户需求自行设定。在集群中所有的磁盘都必须是基本盘并且都要采用NTFS格式。

安装集群服务软件后,我们需要配置首节点。首先关闭所有设备(两台服务器、一台磁盘阵列),然后开启磁盘阵列。接着,使用管理员权限的用户名登录到域,用添加删除程序来添加组件——集群服务。在安装过程中选择这是集群的首节点,并创建集群名称(例如Mycluster)。

接下来,我们需要配置群集磁盘。由于只有一个共享的磁盘阵列,所以将该阵列中的两个分区都配置成群集磁盘。然后配置群集网络。首先配置外网,保持网络名称和IP地址与外网一致,选中该网络可用于集群服务,并选中所有的通信(混合网络)选项。接下来配置内网,确保网络名称和IP地址与内网一致,选中该网络可用于集群服务,并选中只用于内部群集通信选项。

点击下一步按钮后,屏幕出现使用网络的顺序。调整为表里的第一个连接是内网,因为在正常的操作中,该连接将用于群集通信。如果内部网络连接失效,群集服务将自动切换到表里的下一个网络。接下来执行下一步将出现集群的IP和掩码选项。这里输入唯一的集群IP(例如192.168.0.195),掩码仍为255.255.255.0。单击完成,完成首节点的群集配置。

最后,配置第二个节点。保持阵列和第一个节点的开机和可用,然后给第二个节点上电开机。像在首节点上安装群集服务一样,对第二个节点开始进行安装。

在安装群集服务时,过程与在首节点上安装大体相同,只有下列不同之处:在创建或添加群集对话框中,选择第二个或下一个节点,并单击下一步。输入前面所创建的群集名称(在本例中,是 MyCluster),并单击下一步。将连接到群集设为未选中。群集服务配置向导将自动提供,在安装首节点时选定的用户帐号名称。输入该帐号的口令(如果有的话),并单击下一步。

在下一个对话框中,单击完成,结束配置。启动群集服务。关闭添加/删除程序。如果要安装额外的节点,重复这些步骤,以便在其他节点上安装群集服务。检验安装:单击开始,单击程序,单击管理工具,并单击群集管理器。显示的两个节点表明存在群集,并且它正在运行。

对于容错能力的检验,我们进行了以下几个实验:

1. 在两台节点和集群服务同时运行的情况下,断掉其中一个节点的外网连接或是当掉一台节点,此时运行在这个节点上的集群服务被迫断开并转移到另外一个连接正常的节点上,此过程大概要4秒钟(视集群上运行的服务数量而定,在安装了SQL Server 2000服务之后这个过程延长到了9-15秒)。

2. 在两台节点和集群服务同时运行的情况下,我们更改了一台节点的时间,在经过大约10分钟时间被修改的时间自动调整成同另一台节点相同的设置。

3. 我们在集群服务上开启了web服务,并设置了下载项目。在客户端正在下载过程中断掉集群中的一个节点,客户端并没有明显的感觉出有变化。

由以上实验可见用Windows 2000 Advance Server所做的集群在容错方面具有良好的效能。他几乎是瞬间就能把出错的节点上的服务接管过来,相对于客户端几乎感觉不到有任何变化。同时他在周期时间内所有节点进行同步,以保证其一致性。

对于负载均衡能力的检验:

1. Windows 2000 Advance Server所做的集群是基于TCP/IP构建的。他为共同工作且使用两个或两个以上主机群集的Web服务器提供了高度可用性和可伸缩性。因特网客户使用单一的IP地址访问这些Web服务器。

在进行集群实验时,我们发现客户无法将单个服务器与群集区分开来。服务器程序也无法识别它们正在运行在一个群集中。然而,由于网络负载均衡和群集的冗余设计,即使群集主机发生故障,群集仍然能提供不间断的服务。因此,群集与运行单一服务器程序的单一主机有很大的不同。相较于单一主机,群集能够更迅速地响应客户需求。

在实验过程中,我们遇到了一些问题,虽然最后都得以解决,但我认为还是有必要在此提请大家注意,以免在今后的工作中产生不必要的重复错误。

首先,我们需要重视群集中的X盘。在实验过程中,我们了解到X盘具有非常重要的地位。为了验证这一点,我们进行了以下实验:在X盘下只有一个名为“MSDN”的文件夹,其中包含两个文件:“*.tmp”和“*.log”。这两个文件分别是群集配置数据库的检测点和日志文件。我们尝试删除这两个文件,结果发现“*.tmp”文件可以被删除,而“*.log”文件因正在使用而无法删除。当我们删除了“*.tmp”文件后,重新启动两台节点和集群,一切正常。但是当我们查看X盘中的文件时,发现被删除的“*.tmp”文件竟然又回到了原来的位置,只是名字稍有变化。这表明“*.tmp”文件是每次集群启动时自动生成的一个文件,而在集群启动后,这个文件就不再被使用。

接下来,我们进行了一个后来被证明具有毁灭性的结果的实验:在我的电脑管理中调整了磁盘管理,将X盘删除了。结果令人震惊:在不到10秒钟的时间内,两台节点相继报告机群服务发生错误,将无法运行且终止服务。我们试图再次进入磁盘管理,发现阵列的磁盘已经变成了不可读取的状态。无奈之下,我们只能重新启动所有设备,期望能出现超出预期的好结果。然而,事实让我们感到失望。集群服务无法启动,阵列磁盘变得不可读取。在没有任何办法的情况下,我们不得不重新配置集群。