服务器群集技术

2024-07-08

服务器群集技术(共6篇)

服务器群集技术 篇1

Windows群集 (Cluster) 技术起源于Windows NT企业版, 在Windows Server 2003的企业版和数据中心版中均提供了对服务器群集服务 (Cluster service) 的支持。所有群集服务是减轻服务器工作压力的最实用的设计之一, 它可以有效保证服务器不会因访问量过大而出现速度缓慢、死机等现象, 同时亦可以确保浏览者能够快速、稳定地访问服务器。Windows群集提供了两种不同但互补的群集技术服务器群集和网络负载平衡群集。下面仅就服务器群集的相关技术与大家进行探讨。

1、什么是群集服务

计算机群集的出现和使用已经有十几年的历史。作为最早的群集技术设计师之一, G.Pfister对群集的定义是, "一种并行或分布式的系统, 由全面互连的计算机集合组成, 可作为一个统一的计算资源使用"。

以微软公司的服务器http://www.microsoft.com为例。微软的服务器在每天都有非常多的人访问。即使微软使用了世界上最快的服务器来应对, 也可能会产生非常强的工作压力。这时, 解决的方法通常是添加服务器。但这样做, 又会产生诸多问题, 比如, 每台服务器的域名是什么?按常规的设计方法, 第一台服务器是"www.microsoft.com";第二台服务器是"www.1microsoft.com";第三台服务器就是"www.2microsoft.com"。如此多的域名, 不仅造成了域名资源的浪费和费用的支出, 还增加了域名维护的工作量。更重要的是--会给访问者带来很多访问上的麻烦。因此, 我们需要一个解决的方法, 这个解决的方法就是群集服务。群集服务器可允许最多添加32台服务器, 这些服务器统一使用一个域名, 当一台服务器忙不过来时, 会自动将访问压力"释放"到其他不忙碌的服务器中。如图1所示。

2、群集服务功能的主要优势

群集服务允许将多重服务器连接成服务器群集, 以使数据和运行于群集内程序具有高度可用性和可管理性。在群集技术中, 群集服务功能具有三种主要优势:

2.1 更高的可用性。

允许服务器群集中的服务和应用在硬件或软件组件故障下或在计划维护期间仍能不间断地提供服务。

2.2 更高的可扩展性。

支持通过增加多个处理器 (在Windows Server 2003 Datacenter Edition中最多可达32个) 和额外内存 (在Windows Server 2003 Datacenter Edition中最多可达64GB) 来扩展服务器。

2.3 更高的可管理性。

允许管理员如同管理单台计算机那样管理整个群集内的设备和资源。如果服务器群集中的任何资源发生了故障, 则不论发生故障的组件是硬件还是软件资源, 作为一个整体的群集都可以使用群集中其它服务器上的资源来继续向用户提供服务。

3、注意群集的使用环境

群集的使用是要注意应用环境的, 比如Web服务器、终端服务器就可以很好地应用群集, 但是某些交互式的应用程序服务器则可能不适合群集。例如, 我们使用了两台Web服务器构成了群集, 这两台服务器的任务就是接受用户的某些订单, 如果这些订单数据都是保存本地数据库中, 那么这将会形成两个数据内容截然不同的数据库, 此时就必须将这些数据合并起来, 但这样做起来会很累, 否则会看到以下这种糟糕情况:用户如果第一次是在第一台服务器中建立了订单, 第二次访问被分配到第二台服务器后, 他将查不到第一次下的订单!

因此, 至少在没有完善的条件和规划下, 有些环境的确是不推荐使用群集服务的。如果企业网络有以下需求, 可建议实施Windows群集:

·为了减少因日常维护或者发生计划外故障而造成停机的时间。

·为了在不中断客户端访问的情况下, 升级节点、资源和应用程序。

·执行滚动升级。在不中断客户端的情况下, 对操作系统进行升级。

·提高服务器对执行关键任务的应用程序和网络服务的可用性。

·利用支持群集的应用程序, 如Exchange Server或SQL Server。

表1列出了在哪些网络服务中可以或不推荐使用群集技术的情况。

4、群集服务的软硬件要求

4.1 软件要求

下表列出了不同版本的操作系统及其所支持的群集技术。需要注意的是, 群集的所有节点, 都必须采用同一版本的操作系统。

4.2 硬件要求

·在每个服务器的启动分区上, 安装Windows服务器版本操作系统。

·支持SCSI或光纤信道的独立的存储适配器, 用于实现与共享存储设备的连接。

·每个服务器上都必须拥有两块PCI网卡, 分别用于连接至专用网络和企业网络。

·一个或多个能够连接所有服务器的外部驱动器。

·每台服务器的内存、CPU和硬盘配置应当完全相同。·群集中所有服务器的全部硬件都应当完全一致。

5、建立群集的条件

群集功能的启用, 需要服务器符合一定的条件才能正常使用。下以两台服务器建立群集服务为例, 给出各自所需条件:

(1) 每台服务器都需要一个静态的IP地址;

(2) 需要另外准备一个静态的IP地址, 作为共享的群集地址;

(3) 需要每台服务器安装IIS (Internet Information Service) 组件;

(4) 需要所有服务器有相同的内容。

为了便于后面操作, 下面给出两台服务器的基本情况:第一台服务器名为:zhong, 静态地址为:192.168.1.2;第二台服务器名为:zhong1, 静态地址为:192.168.1.3。群集共享的IP地址为:192168.1.6。

6、群集的实现

6.1 配置静态IP地址

我们需要对两台服务器进行静态IP地址的配置。

在第一台服务器中, 依次单击"开始|设置|网络连接"菜单, 在打开的窗口中选中网卡 (即"本地连接"图标) 并单击右键, 接着在弹出的快捷菜单中选择"属性"命令。

在接着弹出的"本地连接属性"窗口中, 选中"TCP/IP协议 (TCP/IP) "项并单击"属性"按钮。

接下来, 在"TCP/IP协议 (TCP/IP) "属性设置界面中, 添加静态IP地址192.168.1.2。

最后, 按第一台服务器的设置方法, 为第二台服务器添加好静态IP地址。

6.2 配置群集IP地址

首先分别进入A和B两台计算机的"本地连接"属性界面, 勾选"此连接使用下列项目"中的"网络负载平衡"项并点击其"属性"按钮。

接着在"网络负载平衡属性"对话框中, 分别为两台服务器添加192.168.1.6这个群集IP地址, 并将子网掩码设置为255255.255.0。

接着, 点击切换到"主机参数"选项卡, 在这里分别在两台服务器中添加各自的静态IP地址, 并在"优先级"项中设置两个不同的数据, 如1和2。

接下来, 分别在两台服务器的"TCP/IP协议 (TCP/IP) "属性设置界面, 在点击"高级"按钮后弹出的"高级TCP/IP设置"界面中, 点击"添加"按钮添加群集IP地址192.100.100.6和子网掩码255.255.255.0。

接着退出两台计算机的"本地连接"属性窗口, 耐心等待5-8分钟让系统完成设置。设置完成后, 我们可以先将两台服务器IIS中的网站首页内容稍做修改, 比如, 分别加一个记号。然后, 使用局域网中的多台计算机, 在打开的IE窗口中直接使用192168.1.6这个群集IP地址进行访问, 如果出现以下状态则都是正常的。

(1) 有的计算机出现第一台服务器的网站首页内容 (记号) , 有的计算机出现第二台服务器的网站首页内容 (记号) , 这表示群集的IP是可以访问到两台服务器内容的。

(2) 两台都出现某台服务器的网站首页内容---这也正是群集想要达到的效果。

7、结束语

虽然群集由多个服务器组成, 但对于网络而言, 它们就像一个单独的服务器, 提供包括文件共享、打印机和其他网络服务等资源。群集中的服务器无论从物理上讲, 还是从程序上讲都是彼此相连的。因此, 它们在响应客户端请求时协调通信。群集中的每个服务器都可以在硬件或应用程序出现故障时提供冗余操作。因此, 群集能为应用程序和资源提供很高的可用性。群集技术在服务器中的实现, 提高了整个服务器系统的性能和稳定性。

摘要:介绍了基于Windows Server 2003群集服务的涵义、功能优势、使用环境及建立群集的条件, 并以两台服务器建立群集服务为例, 给出了群集技术在服务器中的实现方法, 这在一定程度上能提高整个服务器系统的性能和稳定性。

关键词:群集,群集服务,服务器群集

参考文献

[1].王淑江等编著.网络管理.北京:机械工业出版社, 2007.

[2].刘晓辉杨淑梅.网管员必读.成都:四川出版集团四川电子音像出版中心, 2007.

[3].电脑报.组建局域网.广东:汕头大学出版社, 2006.

服务器群集技术 篇2

群集服务是指在各个节点上执行群集操作的组件所构成的集合,而资源指在群集内由群集服务管理的硬件和软件组件。服务器群集为实现资源管理而提供的规范机制是资源动态链接库 (DLL) 。资源 DLL 定义了资源抽象方法、通讯接口以及管理操作。

当资源可供使用并且可以向群集提供其服务时,我们说它是 联机 的,

资源是符合以下条件的物理或逻辑实体 :

可以联机 ( 服务 ) 和脱机 ( 停止服务 ) 。

可以在服务器群集中管理。

一次只能由一个节点拥有。

群集资源包括磁盘驱动器和网卡等物理硬件设备以及 Internet 协议 (IP) 地址、应用程序、应用数据库等逻辑实体。 群集中的每个节点都有自己的本地资源。但群集也有共用资源,比如共用的数据存储阵列和专用的群集网络。群集中的每个节点都可以访问这些共用资源。 一个特殊的共用资源是 仲裁资源 ,这是指共用的群集磁盘阵列中对群集运行有着关键性作用的物理磁盘。 它是节点操作(比如构成群集或加入群集)得以发生所必须具备的。

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

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

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,Mac OS X、Free BSD、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和My SQL等。

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 My SQL

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

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

My SQL 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).

服务器群集技术 篇4

关键词:群集技术,虚拟系统,InfoPlus.21实时数据库群集

新一代服务器的双机群集技术不断推陈出新, 相当成熟, 各种关系型数据库也普遍支持群集技术;虚拟系统由于在系统测试、模拟实际运行环境、提高硬件利用率、实现高可用性等方面独特的性能, 近几年正在得到业界广泛关注和应用。正因为此, 基于服务器群集技术的虚拟系统应运而生, 代表特征是各大服务器生产厂商在对其服务器研发过程中引入虚拟技术进行部署管理, 如IBM公司已经在新一代刀片服务器上引入了虚拟系统, 通过对服务器整合, 控制、减少物理服务器的数量, 显著提高单台物理服务器资源利用率, 加快服务器及其应用系统的创建, 最终达到能够优化系统整体性能、提高可靠性及快速响应能力、实现降低企业服务器管理的TCO目标。那么, 如何在信息技术架构中, 综合运用群集技术和虚拟系统这两种先进技术, 构建企业核心业务系统———实时数据库服务器的群集, 专门进行了课题研究与实施。

1 群集技术

1.1 简介

群集是将两个或多个物理服务器连接在一起, 使其对客户端呈现为单个计算机。将服务器连结到一个群集中可以分担负载、启用单点操作管理, 通过群集可以生成高可用性的应用程序, 为满足企业日益增长的业务需求提供了有效途径。

群集技术可分为两种:网络负载平衡 (NLB) 和Microsoft群集服务 (MSCS) 。

1.1.1 网络负载平衡 (NLB)

网络负载平衡充当前端群集, 用于在服务器群集中分配传入的IP流量, 是为电子商务Web站点实现增量可伸缩性和显著可用性的理想选择。可将最多32个Windows.NET Enterprise Server连结在一起共享一个虚拟IP地址。NLB通过在群集内的多个服务器之间分配客户端请求增强了可伸缩性。随着流量的增加, 可以向群集中添加更多的服务器, 任何一个群集最多可容纳32个服务器。NLB在为用户提供连续服务的同时还提供了高可用性, 即自动检测服务器故障, 并在10秒钟内在其余服务器中重新分配客户端流量。

1.1.2 群集服务 (MSCS)

群集服务充当后端群集, 可为数据库、消息以及文件和打印服务等应用程序提供高可用性。当任何一个节点 (群集中的服务器) 发生故障或脱机工作时, MSCS将尝试最大程度地减少故障对系统的影响 (参见图1) 。

MSCS故障转移功能是通过群集中连接的多台计算机中的冗余实现的, 每台计算机都具有独立的故障状态。冗余要求在群集中的多台计算机上安装应用程序。但是, 应用程序任何时刻只在一个节点上处于联机状态。当该应用程序出现故障或该服务器停机时, 此应用程序将在另一个节点上重新启动。

每个节点都具有自己的内存、系统磁盘、操作系统和群集资源的子集。如果某一节点出现故障, 另一个节点将接管故障节点的资源 (此过程称为“故障转移”) 。然后, Microsoft群集服务将在新节点上注册资源的网络地址, 以便将客户端流量能够路由至当前拥有该资源的可用系统。当故障资源恢复联机状态时, MSCS可配置为适当地重新分配资源和客户端请求 (此过程称为“故障恢复”) 。要使应用程序恢复到发生故障转移时的那一点, 节点必须能够访问保持应用程序状态的共享存储器。

Microsoft群集服务旨在提供高可用性, 而不是真正的容错功能。“容错”一词通常用于描述提供更高级别恢复功能的技术。容错服务器通常使用结合了特定软件的高级硬件或数据冗余, 为单个硬件或软件故障提供近乎瞬时的恢复。这些解决方案的成本远远高于群集解决方案, 因为必须支付冗余硬件的费用, 而冗余硬件只不过闲置在那里等待恢复故障。Microsoft群集服务使用价格适宜的标准硬件提供优秀的高可用性解决方案, 同时最大程度地利用计算资源。

Microsoft群集服务基于非共享的群集模型。非共享模型规定, 尽管群集中有多个节点可以访问设备或资源, 但该资源一次只能由一个系统占有和管理。 (在MSCS群集中, 资源是指任何可以联机或脱机、可在群集中进行管理、一次只能由一个节点提供并可在节点之间移动的物理或逻辑组件。)

1.2 实现方法

我们可以利用Microsoft的Windows2000 Advance Server所提供的群集服务功能来完成群集服务器的架设。

首先, 为了实现群集, 必须实现两台服务器间的状态侦测, 该过程称作“心跳”, 可以利用配备双网卡服务器上的一块网卡或专用的“心跳”接口连线, 用于两台服务器 (节点) 间的通讯, 来检测各自的运行状态, 一旦某一节点没有了响应则证明该服务器出现了故障。

按照如下顺序执行服务器的安装:

*为服务器A安装Windows 2000 Advance Server;

*启动服务器A, 分别配置服务器上的两块网卡, 其中连接心跳网线的网卡使用内部网内的保留IP地址 (如:192.168.0.1) , 另一块网卡使用服务器对外的IP地址。同时把服务器A加入已有的域中;

*为服务器B安装Windows 2000 Advance Server;

*将服务器B加入到先前服务器A所加入的域中, 同样将服务器B的两块网卡分别设置不同的IP地址。

*启动服务器A, 但不启动服务器B。选择磁盘管理, 创建多个基本磁盘, 分配盘符;

*启动服务器B, 但不启动服务器A。创建多个基本磁盘, 分配不同的盘符;

*关闭服务器B, 重新启动服务器A, 进入计算机管理中的磁盘管理, 可以看到除了刚才配置的磁盘, 又多出了一些磁盘, 根据它们的顺序, 分别使用服务器B的盘符更改它们的驱动器名称和路径;

*关闭服务器A, 启动服务器B, 重复上面的步骤。

*配置服务器的群集服务, 创建群集名称、建立域用户来管理服务器群集、分配群集文件使用磁盘和共享文件使用磁盘、指定内外网使用的IP地址、分配群集服务IP地址等。

至此, 服务器群集的安装已经基本完成, 接下来就可以根据服务器在网络中发挥的具体功能, 分别配置服务器的其他服务了,

如:WEB、SMTP、NNTP等。

当然, 实际的安装过程中还有很多需要注意的事项, 譬如共享磁盘的配置, 启动顺序等, 我们只要掌握了群集安装的原理, 按照群集安装的手册进行安装就可以成功启动群集功能。

2 虚拟系统

2.1 简介

虚拟机软件可以在一台电脑主机上模拟出来若干台PC, 每台PC可以运行单独的操作系统而互不干扰, 可以实现一台电脑“同时”运行几个操作系统, 还可以将这几个操作系统连成一个网络。

虚拟机毕竟是将两台以上的电脑的任务集中在一台电脑上, 所以对硬件的要求比较高, 主要是CPU、硬盘和内存。

目前主流的虚拟机软件有VMware和Virtual PC, 本文所述虚拟机软件指的是VMware GSX Server, 运行虚拟机软件的操作系统叫Host OS, 在虚拟机里运行的操作系统叫Guest OS。

VMware支持如下Guest OS:

MS-DOS、Win3.1、Win9x/Me、WinNT、Win2000、WinXP、Win.Net、Linux、FreeBSD、NetWare6、Solaris x86。

VMware模拟出来的硬件包括:主板、内存、硬盘 (IDE和SCSI) 、DVD/CD-ROM、软驱、网卡、声卡、串口、并口和USB口。

2.2 VMware三种网络设置方式

2.2.1 Bridged方式

用这种方式, Guest OS的IP可设置成与Host OS在同一网段, Guest OS相当于网络内的一台独立的机器, 网络内其他机器可访问Guest OS, Guest OS也可访问网络内其他机器, 当然与Host OS的双向访问也不成问题。

2.2.2 Host-Only方式

用这种方式, Guest OS可以用虚拟网卡与实际网卡的关联方式来构成各种复杂的网络架构。

2.2.3 NAT方式

这种方式也可以实现Host OS与Guest OS的双向访问。但网络内其他机器不能访问Guest OS, Guest OS可通过Host OS用NAT协议访问网络内其他机器。

正是这些不同的网络设置方式使得我们可以轻松搭建各种复杂的网络架构, 逼真模拟实际网络环境, 基于这些环境实现不同的服务功能。

2.3 群集实现方法

我们可以参照VMware软件手册中的说明, 来配置双服务器群集。关于配置群集的具体步骤和方法, 在此省略。

3 实时数据库系统

3.1 简介

企业的现代化管理离不开两大类数据库:实时数据库和关系数据库。InfoPlus.21是美国Aspen公司开发的实时数据库管理系统, 是用于集成生产过程信息 (如各种工艺参数) 与高层次应用程序 (如先进控制、模拟优化、过程管理) 的基础数据平台。通过标准的数据接口, 可以将生产控制系统中DCS、PLC处理的现场实时数据自动采集到实时数据库中, 将客观真实的过程数据实时地呈现在用户面前, 用户可以通过分析提炼各个时段的生产数据, 改进装置生产能力, 优化生产方案, 为企业增产增收。

3.2 性能特点

InfoPlus.21是一个智能化的实时信息管理系统, 它支持多线程、C/S和B/S结构, 特别是它灵活的数据结构可以根据应用的需要重新定义, 以适应个性化应用的需求, 同时可利用ODBC与关系数据库进行数据交换。

InfoPlus.21实时数据库具有功能强大的数据定义、历史数据管理和分析功能, 通过使用Aspen提供的PE (Process Explorer) 工具, 绘制图形化的生产装置工艺流程实时数据显示界面, 用户不仅可以通过IE以WEB方式浏览工艺流程实时数据, 而且可通过IE任意组合查询DCS、PLC中多个位号的历史趋势, 为用户提供了一条远程集成访问和分析优化生产装置工艺状况的快捷通道, 其承上启下的作用参见图2。

3.3 实施群集的必要性

随着石化企业信息化建设全面拓展, 面向生产过程, 支撑管理运营的实时数据库、MES、ERP等企业资源优化系统得到全面推广, 对应用层的群集技术提出了更高的需求。特别是实时数据库面向生产过程, 本身承担着数据采集和为上层应用提供服务的双重功能, 增强其防范故障的高可用性显得尤为重要, 其海量数据的完整性存储, 也使得支撑实时数据库稳定运行的软硬件环境的创建成为重中之重。

鉴于服务器群集技术得到广泛青睐, 尝试将这种先进技术加以延伸拓展, 运用到实时数据库系统, 使得这种基于虚拟化的分布式服务能够为数据中心提供快速响应能力, 进一步提高实时数据库系统可维护性、稳定性、运行效率和可靠性级别。

3.4 实施方案

3.4.1 解决思路

实现应用层群集的思路为:利用虚拟系统首先实现操作系统的群集, 这个可以参考VMware用户手册来实现, 然后再实现实时数据库系统的群集。

为了实现实时数据库系统的群集, 需要在两台虚拟机上分别安装Infoplus.21实时数据库系统, 配置相同的接口文件, 相同的DBCLOCK, 相同的历史数据库。

对数采机而言, 配置的方法不变, 只是与之通讯的机器从单台服务器变为群集对象, 而不是具体的某一台服务器。

在两台服务器上同时配置以上静态参数的基础上, 如何解决两台虚拟机之间动态同步问题, 如数据库快照、历史配置文件和历史存档文件的共享操作以及数据库的启动和停止的条件等, 作为关键环节进行重点探究。

3.4.2 解决办法

针对上述问题, 经过多次探究试验, 提出以下解决办法:

1) 通过建立数据共享磁盘, 将快照和历史存档文件保存在该共享磁盘上, 修改数据库启动任务Loaddb, 让每次数据库启动时都打开保存在共享磁盘上的数据库快照, 在数据库中修改快照存档调度记录, 从而保证了数据库快照的一致性;

2) 在共享磁盘上配置数据库的历史存档文件集, 在数据库中创建调度记录, 在两台机器间定时同步历史存档MAP文件, 从而保证历史文件集的一致性;

3) 定时监测系统共享磁盘及群集资源的可用性, 从而判断是否能够可靠启动数据库。实时数据库群集切换状态示意图如图3。

正常情况下, 服务器A上运行着实时数据库, 它拥有外部磁盘存储, 服务器B处在监听状态, 实时数据库没有运行, 无法访问外部磁盘存储。

当服务器A出现故障时, 群集服务进行切换, 服务器B接管外部磁盘存储, 自动启动实时数据库, 由于CIMIO接口配置了存储转发功能, 切换间隔丢失的数据会在服务器B上实时数据库正常运行后恢复进来, 对客户端而言会有少许的访问中断, 但很快会恢复正常, 如图4所示。

通过编制监听小程序, 即可实现实时数据库在群集服务状态下的启动与停止之间的切换, 已在虚拟环境中测试通过。图5为在两台机器上运行的监控程序。

4 结束语

通过在虚拟服务器上实现实时数据库群集的方法, 可以使企业以较小的投入达到简化物理服务器配置、增强实时数据库可靠管理的目标, 从而大大提高资源利用率, 降低成本, 增强了实时数据库系统的可用性、可靠性, 提高系统的灵活性和快速响应, 完美地实现了群集服务、虚拟系统以及InfoPlus.21实时数据库群集服务器的三种技术的整合。同时, 也为企业其他应用系统的群集推广奠定了可靠的技术基础。

参考文献

[1]张杰.实战多操作系统与虚拟机[M].北京:清华大学出版社, 2008.

[2]王春海.虚拟机技术与应用—配置、管理与实验[M].北京:清华大学出版社, 2006.

[3]金海.计算系统虚拟化——原理与应用[M].北京:清华大学出版社, 2008.

故障转移群集技术研究与部署 篇5

1 集群类型

根据所要完成任务的不同, 通常把集群分为三种基本类型:

高性能集群 (HP Cluster) , 将问题分为若干部分, 每台计算机同时参与问题的解决, 缩短计算时间。

高可用性集群 (HA Cluster) , 高可用集群的目的是减少服务中断时间, 故障转移集群是其其中一种。

负载均衡集群 (LB Cluster) , 大量的同一类型的并发访问, 分担到多台节点设备上分别处理。

2 构建模式

双机热备模式。主服务器承担所有负载, 备份服务器不处理任何负载。当前者出现异常, 后者主动接管其工作。

双活动模式。两台服务器均提供对外的服务, 当一台服务器出现异常另一服务器接管其工作。

N+1模式。一台备份机同时为多台主机做备份。

3 浮动IP

浮动IP就是客户端访问服务的IP地址

4 失效检测

4.1 心跳原理

节点=2:周期性地通过心跳线向对方节点发送心跳信息, 如果规定的时间内从所有路径都收不到对方的信息, 则确认主节点失效, 备用节点开始故障转移。

节点>2:一个节点检测到与另一节点的通信故障, 则向整个群集发送消息, 要求系统中的各个节点相互进行成员身份检查和测试, 再对测试结果进行分析, 确定发生故障的节点。常见的诊断算法有Majority算法、Hopfield算法。

4.2 心跳路径

私网:专门传递服务器之间信息的网络。

4.3 传播形式

环形心跳和广播心跳。

5 故障转移

首先选择节点, 节点首选项列表直接指定, 反馈节点性能、当前负载和应用程序。其次资源转移, 关闭集群服务, 禁用磁盘。最后重启服务, 故障恢复。

6 故障恢复

后向恢复:快照恢复--检查点多米诺效应仲裁资源。

前向恢复:系统利用故障诊断信息构建一个有效的系统状态, 继续执行下去, 实时性。

7 Windows集群实验

Windows Server 2003、VMware虚拟机、Active Directory注:都是针对主节点的操作

8 结语

服务器群集技术 篇6

关键词:故障转移群集,双节点群集,数据库,SQL Server2008

0 引言

吉林石化公司门户网站是本企业发布新闻、通知, 实现二级单位管理、信息链接与查询、资源共享, 集成各种综合应用系统的统一平台, 保障门户系统的正常运行至关重要。目前根据规划对门户网站系统进行全面的升级, 此次升级后操作系统版本为Windows Server 2008 R2, 数据库的群集服务正是基于此操作系统内置的故障转移群集技术。

1 群集技术及原理

Windows Server 2008提供了两种群集技术:故障转移群集 (Failover Cluster) 和网络负载平衡, 其中故障转移群集主要用于搭建高可用性架构。故障转移群集是一组独立的计算机, 这些计算机相互协作以提高应用程序和服务的可用性。群集内的每台服务器被称为节点 (Node) , 节点之间通过网络硬件和软件连接在一起为用户提供服务, 如果其中一个群集节点出现故障, 另一个节点就会开始提供服务 (该过程称为故障转移) , 通过使用冗余节点来减少宕机时间[1]。其典型的应用包括文件服务器、数据库服务器和打印服务器。

故障转移群集只适用于Windows Server 2008 R2企业版和Windows Server 2008 R2数据中心版, 目前应用最广泛的是双节点故障转移群集。

双节点故障转移群集原理如图1所示。

Node A和Node B组成双节点群集, 对于客户端来说体现为一台虚拟的服务器, 通过软件连接, 将需要管理的资源提交给群集管理器。通过群集服务器, 客户端发送给虚拟主机的服务请求由Node A上的服务程序或应用程序从磁盘阵列中读取业务数据处理以后通过群集服务器返还给客户端。

Node A和Node B采用直连, Node B通过心跳信号检测A的状态, 当群集服务器发现处于Active的节点发生故障时则关闭Node A上的服务和应用程序, 同时释放Node A的主机名, IP地址、磁盘阵列等控制权由Node B接管, 然后启动Node B上的服务和程序, 从而实现故障转移的目的。

其中群集搭建中需要共享的磁盘阵列用来做仲裁盘、DTC和共享盘[2]。

仲裁盘:群集系统数据的固定存储区域, 网络连接失败后各节点联系的纽带, 当群集网络故障导致节点间无法通讯后, 仲裁机制可保证群集中只有一个节点进入联机状态。

DTC:即分布式事务协调器, 当主节点宕机时, 备份节点会“取出”宕机时的工作状态继续提供服务。

共享盘:安装数据库文件。

2 吉林石化门户系统应用实例

2.1 设计思路

吉林石化门户系统的数据库服务器采用双节点的群集结构, 当工作服务器运行正常时, 备用服务器只是处于监听监测的状态, 当工作服务器故障时, 备用服务器接管主机的一切服务, 待主机恢复正常后, 将服务器切换到主机上运行, 数据的一致性通过共享存储解决, 实现门户系统的稳定可靠运行。

该系统采用的硬件平台配置为:数据库服务器采用两台IBM X3850 X5, 每台服务器配有Emulex光纤卡两块, 两块双口网卡, 磁盘阵列在原有的EMC CX480上进行扩展, 扩展磁盘容量为600G*8, 交换机采用H3C S5500-28C。

软件配置为:操作系统选用Microsoft Windows Server 2008R2 Enterprise (64位) , 数据库服务器安装SQL Server 2008 R2Enterprise (64位) 。

部署前先做好服务器磁盘空间及IP地址规划, 注意网络高级设置中的绑定顺序, 服务器的生产网络要优于心跳网络, 如图2所示。

2.2 实现方法

吉林石化部署的数据库服务器每台配置两块光纤卡, 此光纤卡用于服务器与存储阵列的两台冗余光纤交换机相连接。两块双口网卡, 其中一口网卡用于连接两台服务器的心跳线, 一口网卡用于将服务器连接在局域网内, 一口网卡用于CMS频道数据迁移使用。

数据库服务器与磁盘阵列连接如图3所示。

硬件连接好之后, 在两台配置相同的服务器上均安装Windows 2008 Enterprise Server R2企业版操作系统, 安装光纤卡的驱动程序。

将EMC CX480中扩展的8块硬盘做一个RAID组, 设置RAID5+1热备方式, 划分3个LUN:一个用于仲裁盘, 容量为1G;一个用于DTC, 容量为1G;一个用于共享盘, 容量为2T。在两台服务器的磁盘管理器中, 会看到窗口上多了3个磁盘, 然而它并不是真正连接到服务器上的磁盘, 而是磁盘阵列中的LUN, 如图4所示。

然后需要两台服务器上分别验证访问这个3个磁盘的有效性, 注意在一台服务器的共享磁盘上写数据时, 另外一台访问的共享磁盘应处于脱机状态, 待数据写完后再联机, 查看文件的有效性, 如此反复在另外一台服务器上进行测试, 保证磁盘的可用性。

群集中的所有服务器都必须位于同一Active Directory域中, 连接好磁盘阵列后, 将服务器加入中国石油集团域控服务器及DNS服务器, 再次登录时采用域账户登录, 进行集中控制及应用软件部署。

根据添加故障转移群集功能的向导, 我们需要对群集服务器作一系列的配置, 具体步骤包括:

(1) 打开服务器管理器“功能”—“故障转移群集”选择“创建群集向导”。

(2) 将两台服务器加入群集, 确定群集名称。在安装添加群集功能结束后, Windows Server 2008包含一个内置的验证过程, 使用户能够对系统, 存储及网络的配置是否适于集成进行确认, 新的确认向导所进行的部分测试包括:

节点测试, 确认服务器是否正在运行同样的操作系统版本及是否进行了相同的软件更新。

网络测试, 确定是否计划的群集网络符合具体的需求, 如针对网络冗余是否具有至少两个独立的子网。

存储测试, 分析是否进行了正确的存储配置, 以使所有共享的磁盘能通过全部的群集节点进行读取以及确认存储是否符合特定的需求[3]。

验证过程如图5所示。

验证结束后需要验证群集是否安装成功, 在群集管理界面上手动停止主服务器的服务, 服务可以自动切换到备用服务器节点上, 从而验证群集的正确性。

(3) 配置仲裁磁盘及IP, 配置DTC及IP, 其中仲裁磁盘选择多数节点与磁盘, 选择大小至少500 MB且配置了NTFS分区的磁盘, 我们这里为1G。

(4) 安装SQL Server 2008故障群集, 需要注意的是在主机上安装新的SQL Server故障转移群集, 在安装过程中实例安装到非系统盘, 数据文件安装到共享磁盘。

(5) 设置管理用户、密码、登录方式等。

(6) 在备机上选择向SQL Server故障转移群集添加节点。

这样就完成了整个故障转移群集部署。

3 结论

双节点群集技术的应用保障了用户访问系统数据的实时性、完整性, 实现了门户系统稳定可靠。

参考文献

[1]刘鹏, 靳文婷.故障转移集群部署在石油销售企业档案管理系统中的应用[J].中国管理信息化, 2012 (8) .

[2]李皓.Windows Server2008中故障转移的创新点[J].每周电脑报, 2008 (3) .

上一篇:物流专业毕业论文下一篇:学生表述能力