Linux 服务器集群系统实现方案详解

 

一、集群的基本概念

有一种常见的方法可以大幅提高服务器的安全性,这就是集群。

Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。

大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。

一个Cluster包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。

Cluster内各节点服务器通过一内部局域网相互通讯。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上任一故障发生时,客户将能很快连接到新的应用服务上。

二、集群的硬件配置

镜像服务器双机

集群中镜像服务器双机系统是硬件配置最简单和价格最低廉的解决方案,通常镜像服务的硬件配置需要两台服务器,在每台服务器有独立操作系统硬盘和数据存贮硬盘,每台服务器有与客户端相连的网卡,另有一对镜像卡或完成镜像功能的网卡。

镜像服务器具有配置简单,使用方便,价格低廉诸多优点,但由于镜像服务器需要采用网络方式镜像数据,通过镜像软件实现数据的同步,因此需要占用网络服务器的CPU及内存资源,镜像服务器的性能比单一服务器的性能要低一些。

有一些镜像服务器集群系统采用内存镜像的技术,这个技术的优点是所有的应用程序和网络操作系统在两台服务器上镜像同步,当主机出现故障时,备份机可以在几乎没有感觉的情况下接管所有应用程序。因为两个服务器的内存完全一致,但当系统应用程序带有缺陷从而导致系统宕机时,两台服务器会同步宕机。这也是内存镜像卡或网卡实现数据同步,在大数据量读写过程中两台服务器在某些状态下会产生数据不同步,因此镜像服务器适合那些预算较少、对集群系统要求不高的用户。

硬件配置范例:

网络服务器两台服务器操作系统硬盘两块

服务器数据存贮硬盘视用户需要确定

服务器镜像卡(部分软件可使用标准网卡)两块

网络服务网卡两块三、双机与磁盘阵列

与镜像服务器双机系统相比,双机与磁盘阵列柜互联结构多出了第三方生产的磁盘阵列柜,目前,豪威公司、精业公司等许多公司都生产有磁盘阵列柜,在磁盘阵列柜中安装有磁盘阵列控制卡,阵列柜可以直接将柜中的硬盘配置成为逻辑盘阵。磁盘阵列柜通过SCSI电缆与服务器上普通SCSI卡相连,系统管理员需直接在磁盘柜上配置磁盘阵列。

双机与磁盘阵列柜互联结构不采用内存镜像技术,因此需要有一定的切换时间(通常为60?D?D180秒),它可以有郊的避免由于应用程序自身的缺陷导致系统全部宕机,同时由于所有的数据全部存贮在中置的磁盘阵列柜中,当工作机出现故障时,备份机接替工作机,从磁盘阵列中读取数据,所以不会产生数据不同步的问题,由于这种方案不需要网络镜像同步,因此这种集群方案服务器的性能要比镜像服务器结构高出很多。

双机与磁盘阵列柜互联结构的缺点是在系统当中存在单点错的缺陷,所谓单点错是指当系统中某个部件或某个应用程序出现故障时,导致所有系统全部宕机。在这个系统中磁盘阵列柜是会导致单点错,当磁盘阵列柜出现逻辑或物理故障时,所有存贮的数据会全部丢失,因此,在选配这种方案时,需要选用一个品质与售后服务较好的产品。

硬件配置范例:

网络服务器两台

服务器操作系统硬盘两块

第三方生产的磁盘阵列柜一台

磁盘柜专用SCSI电线两根

磁盘阵列柜数据存贮硬盘视用户需求确定

网络服务网卡两块

除此之外,一些厂商还有更优秀的技术的解决方案,比如HP.

三、HP双机双控容错系统

HPNetServer为双机双控容错系统提供了高品质和高可靠的硬件基础……

HP双机双控容错系统结合了HP服务器产品的安全可靠性与Cluster技术的优点,相互配合二者的优势。

硬件配置范例:

HPL系统的网络服务器两台

服务器操作系统硬盘两块

HP硬盘存贮柜(SS/6,RS/8,RS/12)一台

磁盘柜专用SCSI集群适配电缆两根

磁盘柜数据存贮硬盘视用户需求确定

HP集群专用阵列卡两块

网络服务网卡两块五、HP光纤通道双机双控集群系统

光纤通道是一种连接标准,可以作为SCSI的一种替代解决方案,光纤技术具有高带宽、抗电磁干扰、传输距离远、质量高、扩展能力强等特性,目前在FC-AL仲裁环路上可接入126个设备。

光纤设备提供了多种增强的连接技术,大大方便了用户使用。服务器系统可以通过光缆远程连接,最大可跨越10公里的距离。它允许镜像配置,这样可以改善系统的容错能力。服务器系统的规模将更加灵活多变。SCSI每条通道最多可连接15个设备,而光纤仲裁环路最多可以连接126个设备。

光纤集群系统组成:

HP光纤集群系统硬件设备包括有两台HP服务器(需支持光纤卡,目前有LC2000、LH3000、LH4、LH6000、LT6000、LXr8000、LXR8500)及光纤适配卡,可以使用RS/12FC光纤磁盘阵列柜,需另加一对或两对网卡用于心跳检测和与客户端连接。在配置过程中还需另外选配光纤卡到光纤存贮设备的光纤电缆。硬件配置:

HPL系统的网络服务器两台

服务器操作系统硬盘两块

HP光纤阵列存贮柜(RS/12FC)一台

光纤磁盘柜专用光纤电缆两根

光纤磁盘柜数据存贮硬盘视用户需求确定

HP光纤适配卡两块

网络服务网卡两块

四、集群的软件配置

基于NT平台的集群软件

Microsoft的MSCS,也有许多第三方的专业软件公司开发的集群软件,如豪威的DATAWARE,VINCA公司的STANDBYSERVER,NSI公司的DOUBLE-TAKE

MSWolfPack的特点

MSWolfPack是MSClusterserver的别称,是微软针对Cluster技术研制开发的双机软件。它集成在NTSERVER上,支持由二台机器组成的双机系统,提供一种高可用且易管理的应用环境。

主要特点:

自动检测和修复服务器或应用程序的错误

可实现对服务器中应用程序的切换

可通过TCP/IP连接各种客户端,如MS-DOS、WINDOWS3.X/9X/NT,AppleMacintosh、UNIX生产主机无需人工干涉即可自动恢复数据并接管任务

易管理性:

可自动审核服务器和应用程序的工作状态

可建立高可用性的应用程序、文件共享、打印请求等

可灵活设置应用程序和数据的恢复策略

简单操作即可进行应用程序的离线,重新再线,服务器间的迁移。

目前,WINDOWS2000AdvancedServer与WINDOWS2000DataCenterServer都集成有更先进集群技术。

其它的网络操作系统平台上也有许多集群软件,比如:

基于novell平台的集群软件有NovellHAServer、NovellSFTIII

基于scoUNIX平台的集群软件有Sentinel集群软件

基于Linux平台的集群软件有TurboCluster

五、集群技术的发展趋势

集群技术随着服务器硬件系统与网络操作系统的发展将会在可用性、高可靠性、系统冗余等方面逐步提高。未来的集群可以依靠集群文件系统实现对系统中的所有文件、设备和网络资源的全局访问,并且生成一个完整的系统映像。这样,无论应用程序在集群中的哪台服务器上,集群文件系统允许任何用户(远程或本地)都可以对这个软件进行访问。任何应用程序都可以访问这个集群任何文件。甚至在应用程序从一个节点转移到另一个节点的情况下,无需任何改动,应用程序就可以访问系统上的文件。

在今天,利用服务器的集群技术,通过周密计划和网络维护,系统破坏的机率是非常小的。所以,企业服务器的稳定必须使用集群技术。
—————————————————————-
集群服务器百科:
  集群,英文名称为Cluster,通俗地说,集群是这样一种技术:它将多个系统连接到一起,使多台服务器能够像一台机器那样工作或者看起来好像一台机器。采用集群系统通常是为了提高系统的稳定性和网络中心的数据处理能力及服务能力。
  举个例子来说,我们架设了一台WWW服务器,上面构建了一个电子商务网站,然而随着时间的推移,名声越来越大,这时点击率也就越来越高,WWW服务器的负载也就越来越高。这种情况下,我们就必须提升WWW服务器的能力,以满足以益增长的服务请求。这时,我们就面临两种选择:
  1)升级WWW服务器,采用更快的CPU,增加更多的内存,使其具有更强的性能;但日益增长的服务请求又会使服务器再次过载,需要再次升级,这样就陷入了升级的怪圈。还有,升级时还得考虑到服务如何接续,能否中止!
  2)增加WWW服务器,让多台服务器来完成相同的服务。
  第二种方法就是服务器集群,简而言之,就是一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。一个服务器集群包含多台拥有共享数据存储空间的服务器,各服务器之间通过内部局域网进行相互通信;当其中一台服务器发生故障时,它所运行的应用程序将由其他的服务器自动接管;在大多数情况下,集群中所有的计算机都拥有一个共同的名称,集群系统内任意一台服务器都可被所有的网络用户所使用。在集群系统中运行的服务器并不一定是高档产品,但服务器的集群却可以提供相当高性能的不停机服务;每一台服务器都可承担部分计算任务,并且由于群集了多台服务器的性能,因此,整体系统的计算能力将有所提高;同时,每台服务器还能承担一定的容错任务,当其中某台服务器出现故障时,系统可以在专用软件的支持下将这台服务器与系统隔离,并通过各服务器之间的负载转移机制实现新的负载平衡,同时向系统管理员发出报警信号。
  目前,有两种常用的服务器集群方法,一种是将备份服务器连接在主服务器上,当主服务器发生故障时,备份服务器才投入运行,把主服务器上所有任务接管过来。另一种方法是将多台服务器连接,这些服务器一起分担同样的应用和数据库计算任务,改善关键大型应用的响应时间。同时,每台服务器还承担一些容错任务,一旦某台服务器出现故障时,系统可以在系统软件的支持下,将这台服务器与系统隔离,并通过各服务器的负载转嫁机制完成新的负载分配。PC服务器中较为常见的是两台服务器的集群,UNIX系统可支持8台服务器的集群系统,康柏的专用系统OpenVMS可支持多达96台服务器的集群系统。
  在集群系统中,所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。集群必须可以协调管理各分离组件的错误和失败,并可透明的向集群中加入组件。用户的公共数据被放置到了共享的磁盘柜中,应用程序被安装到了所有的服务器上,也就是说,在集群上运行的应用需要在所有的服务器上安装一遍。当集群系统在正常运转时,应用只在一台服务器上运行,并且只有这台服务器才能操纵该应用在共享磁盘柜上的数据区,其它的服务器监控这台服务器,只要这台服务器上的应用停止运行(无论是硬件损坏、操作系统死机、应用软件故障,还是人为误操作造成的应用停止运行),其它的服务器就会接管这台服务器所运行的应用,并将共享磁盘柜上的相应数据区接管过来。其接管过程如下图所示(以应用A为例):
  1.应用A正常工作时;
  2.应用A停止工作后,其它的备用服务器将该应用接管过来。
  具体接管过程分三部执行:
  a.系统接管
  b.加载应用
  c.客户端连接
  集群系统的优势在于以下几点:
  一、集群系统可解决所有的服务器硬件故障,当某一台服务器出现任何故障,如:硬盘、内存、CPU、主板、I/O板以及电源故障,运行在这台服务器上的应用就会切换到其它的服务器上。
  二、集群系统可解决软件系统问题,我们知道,在计算机系统中,用户所使用的是应用程序和数据,而应用系统运行在操作系统之上,操作系统又运行在服务器上。这样,只要应用系统、操作系统、服务器三者中的任何一个出现故障,系统实际上就停止了向客户端提供服务,比如我们常见的软件死机,就是这种情况之一,尽管服务器硬件完好,但服务器仍旧不能向客户端提供服务。而集群的最大优势在于对故障服务器的监控是基于应用的,也就是说,只要服务器的应用停止运行,其它的相关服务器就会接管这个应用,而不必理会应用停止运行的原因是什么。
  三、集群系统可以解决人为失误造成的应用系统停止工作的情况,例如,当管理员对某台服务器操作不当导致该服务器停机,因此运行在这台服务器上的应用系统也就停止了运行。由于集群是对应用进行监控,因此其它的相关服务器就会接管这个应用。
  集群系统的不足之处在于:
  我们知道集群中的应用只在一台服务器上运行,如果这个应用出现故障,其它的某台服务器会重新启动这个应用,接管位于共享磁盘柜上的数据区,进而使应用重新正常运转。我们知道整个应用的接管过程大体需要三个步骤:侦测并确认故障、后备服务器重新启动该应用、接管共享的数据区。因此在切换的过程中需要花费一定的时间,原则上根据应用的大小不同切换的时间也会不同,越大的应用切换的时间越长。
?

 

评论:

7 条评论

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用*标注