服务器群集技术解决方案

  • 格式:doc
  • 大小:180.50 KB
  • 文档页数:12

服务器群集技术解决方案

1、前言

在所有企业、政府机关、军队、医疗等单位,以及许多业界通信实体,正在越来越多地依赖于服务器,以不断拓宽服务种类。

然而,我们在享受这些先进技术带给我们实惠的同时,又不得不面对这样一个事实:电子设备出现故障是不可避免的,服务器也不例外。现在,很多单位已经使用OA、CRM、ERP等 系统。无论使用哪种系统,服务器在整个网络系统的重要性是不言而喻,服务器作为整个网络的心脏,要为网络上所有的用户提供数据共享和应用服务,如果不能保 障服务器的正常运行,网络系统的可用性就无从谈起。所以,要确保视频网络中的关键业务应用运行平稳,具有可靠的适时性和连续性,通过服务器的群集技术来提 高系统的可用性和可扩展性是目前备受推崇的方案。

2、服务器群集技术概述

群集系统是一种由一组互连的整机构成的并行或分布系统,可作为统一的计算资源使用。服务器群集技术使用多台服务器组成服务器集合,可以提供相当高性能的不停 机服务。在这个结构中,每台服务器都分担着一部分计算任务,由于集合了多台服务器的性能,整体的计算实力被增加了。与此同时,每台服务器还承担一些容错任 务,当其中一台服务器出现故障时,系统会在软件的支持下将这台服务器从系统中隔离出去,通过各服务器之间的负载转嫁机制完成新的负载分担,同时向系统管理 人员发出警报。再者,在某个应用软件的峰值处理期间内,对该应用的需求会变得过高,那么使用简单的操作命令就可以把同一节点的应用包转移到其他节点从而减 轻该节点的工作负荷,来满足已增加的需求。群集系统就是通过功能整合和故障过渡实现了系统的高可用性和可靠性。

服务器群集技术提供了高度的可用性、伸缩性与易管理性:

·高度的可用性:群集被设计具有避免单点故障发生的能力。应用程序能够跨计算机进行分配,以实现并行运算与故障恢复,并提供更高的可用性。

·可伸缩性:加入更多的处理器或计算机提高群集的计算能力。当现有服务器能力有限时,可以通过增加CPU、内存、甚至一台或几台服务器来扩展系统的能力。在服务器群集技术出现之前,用户通过增加CPU、内存来进行扩展,但是CPU、内存的扩展只能在一台服务器上进行,因此扩展是有极限的。而服务器群集技术可以通过在现有系统上增加服务器来进行扩展,增加的服务器将与原有的服务器紧密地集成在一起,为客户端提供高性能的应用服务。

·易管理性:群集以单一系统映射的形式来面向最终用户、应用程序及网络,同时,也为管理员提供单一的控制点,而这种单一控制点则可能是远程的。

服务器群集技术的实现可以有几种不同的方式,考虑到用户的需求,大体可以分为以高可用性为主要目的的高可用性方案,和以提高性能为主要目的、同时亦可以提供高可用性的方案。这种划分同时也反映出群集技术在PC Server上发展的两个阶段,既高可用性的两节点群集和提高性能的多节点群集。在今后 PC Server群集发展的计划中将要实现更多节点的具有更高扩展能力的群集方案,这样在提供高可用性和高性能的同时,还可以通过节点数目的扩展,更加有效的保护客户的投资。

3、服务器高可用性群集拓扑结构

有两种典型的拓扑结构可以实现高可用性:被动备份服务器和第二活动服务器。我们将详细讨论第二活动服务器的三种实现形式:"全部复制"、"0共享"和"全部共享"。

下表总结了本文讨论的几种面向可用性的群集方法的优点和局限性。

3.1被动备份服务器

通常把一个服务器安排为"主"服务器,另一个服务器为"第二"服务器;由主服务器为用户提供文件、打印及应用服务,"第二"服务器只有在主服务器发生故障时才能投入运行,代替主服务器提供服务。在被动备份服务器方式下(如图3所示),除非主服务器发生故障,否则第二服务器只是"观察"并不作任何运作。

一种被称为"心跳"的简单机制被配置在主服务器上,它的作用是周期性地发送主服务器"生命尚在"的消息给备份服务器,一旦消息停止,备份服务器就认为主服务器发生故障,并把自己投入运行以代替主服务器。

"心跳"是一种很容易开发的协议,它可以通过网络链接实现;也可以仅仅在服务器间加一条传递"生命"消息的缆线;或者通过局域网消息传送实现。

3.2活动第二服务器

一个功能基本一致但成本低得多的方式是使第二服务器可以处理其它的应用程序,但当主服务器发生故障时,第二服务器也能够接管主服务器的工作。这种我们称只为"活动第二服务器"方法。这种方法的主要优点是在保持使用第二服务器的同时,获得服务器冗余,而不是仅仅把第二服务器作为备份使用。这种方法可以减少群集系统的运行费用。

实际使用中,"活动第二服务器"方法有三种实现方式。

"全部复制" "全部复制"就是指彻底的服务器冗余。每个服务器都有自己的磁盘。数据不断地被拷贝到第二服务器的磁盘上,以保证故障发生时,第二服务器可以使用已被拷贝的当前数据,并基于此当前数据作连续运转。

尽 管这种方法的确可以带来高可用性,但它增加了服务器及网络的负荷,可能会严重影响系统性能。另一个缺点是当一个服务器发生故障时,可能会有主、从服务器的 不一致现象:某个磁盘上的事务处理可能并没有完全在另一个磁盘上得到继续。因为即便以最快的网络相连,两个服务器间信息传送仍会有一定的延迟。

冗 余的服务器也带来许多好处。因为数据是被完全复制的,所以客户的应用程序可以在任一服务器上运行,从而可以更好地平衡负载。另外,节点在空间上可以是分散 的;节点间可通过广域网互连,物理上可以距离很远。这种拓扑结构常被用在灾难恢复设计中,提供对主要自然灾害如地震、洪水等的保护。

"0共享" 活动第二服务器方法的另一个实现是"0共享"。是指两个服务器物理上连接到同一个磁盘组上,尽管其中每个服务器"拥有"自己的磁盘。这在正常运作下,只有磁盘的主人才能存取其中的数据;但当某个服务器发生故障时,一个替代服务器将把自己设定为原来属于发生了故障的服务器的磁盘的主人,并对之进行操作。(如图3-3所示)

这种方式不必不停地在服务器间拷贝数据,从而大大降低了网络负荷。在这种方式下,磁盘是唯一可能产生导致长时间停机的故障的地方。于是,在这种体系结构的安装中,系统或是典型地依赖冗余镜像磁盘,或者在磁盘子系统中用RAID技术,以保证在服务器或磁盘出错时,应用程序和数据的可用性。

"全部共享" 最后,我们还可以"共享一切",也就是说让多个服务器在同一时间共享同一磁盘。(参见图3-4)。在这种方式中,所有与磁盘相连的服务器在正常运作时可在相同时刻共享磁盘存取通道。这种方式要求开发一个复杂的锁定管理软件,保证在一个时刻只有一个服务器在读写数据;共享一切"方法也典型地依赖磁盘镜像和RAID磁盘。

4、服务器群集技术的实现方案

服务器系统用户根据本身业务的情况及组建群集系统的支付能力的不同,对服务器高可用性有一系列要求,如下表所示,不同的可用性等级带来不同的效果。

许多公司根据用户的不同需求,制定了许多种服务器高可用性群集方案。下面,我们就以IBM公司的产品来举例说明。

许多公司根据用户的不同需求,制定了许多种服务器高可用性群集方案。下面,我们就以IBM公司的产品来举例说明。

4.1 IBM公司的服务器高可用性群集方案

以下以IBM产品为例,分别以通过磁盘镜像和共享存储设备为例;来阐述服务器高可用性群集系统的原理与实现方法。在探究每一种方案的细节之前,让我们首先看看它们的工作原理。

如图4-1所示,两个服务器的节点相互连接,构成了一个提供服务的整体。当客户端提出访问请求的时候,这个请求可以被群集响应。当群集中的一个节点失效,另外一个可以通过"失效切换"的过程接替失效节点上运行的应用程序。同时,由于应用程序和客户端所需要的数据是存储在共享的存储设备中的,在"失效切换"的过程中共享存储的访问控制权也由失效节点切换至运行节点上,客户端和应用程序可以通过共享存储设备继续访问必要的数据。这样,通过群集,可以实现在一个服务器节点失效的情况下,仍然可以提供数据访问和网络服务的正常运行,保证了客户的关键业务的运行。

4.1.1采用数据镜像方式的高可用性群集解决方案

采用数据镜像方式的群集方案是在两台服务器之间通过磁盘或者分区的镜像,保证应用程序的代码和数据可以在两台服务器之间相互备份,从而保证系统的高可用性。

◆ 磁盘镜像实现方案

·系统要求:

2台 IBM xSeries 服务器

一组用于内部连接的网卡

一组用于客户端服务的网卡

每台服务器分别拥有一个"本地硬盘"

每台服务器分别拥有一个或多个"高可用性"硬盘

每台服务器分别拥有一个或多个"输出的"本地硬盘

HA高可用性软件

·工作方式及特点:

图4-2是磁盘镜像的工作原理示意图。图中左边的服务器(Node A)和右边的服务(Node

B)分别运行不同的服务。两台服务器通过内部的高速网络连接在一起。图中(内部高速互连)是内部专用网段,用于传输两台服务器之间的镜像数据。两台服务器中各自拥有一个本地盘,本地盘是用于安装服务器的操作系统。在两台服务器中除本地盘外,还有一个"高可用盘","高可用盘"是用于存储用户的数据或者是高可用应用程序的代码。两台服务器中另外各有一个"输出盘","输出盘"是用于镜像另一台服务器中的"高可用盘"的一组硬盘。

在两台服务器之间,通过内部的高速网络连接;"高可用盘"和"输出盘"形成了一组镜像的"镜像盘"。这样在一台服务器中所有的用户数据都可以通过这一组"镜像盘"镜像到另一台服务器的"输出盘"中,网络客户端对于一台服务器的任何数据的改动都可以实时的复制到另一台服务器的"输出盘"中。 图中(Client Network)是网络客户端用于访问服务器的网段。

在正常工作的状态下,客户端网络通过一台服务器访问数据,服务器通过客户端网络向外提供服务。 当服务器失效的时候,另一台服务器就会接管这台服务器的任务。由于所有的用户数据通过前面所提到的内部高速网络,镜像在另一台服务器中的"输出盘",这时网络客户端可以通过备份服务器继续访问这些数据。网络服务在经过了短暂的停顿之后,又可以恢复了。

◆ 分区镜像实现方案

采用分区镜像在采用镜像方式的高可用性方案中也很广泛。分区镜像和磁盘镜像方式的一个区别是,分区镜像可以采用更少的硬盘数目,减少成本。

·系统要求:

双节点IBM xSeries 服务器

节点各自的系统分区

节点各自的高可用分区 (互为镜像)

内部高速连接