概述
随着计算机和网络的飞速发展,计算机在各个行业的应用越来越广泛和深入。在绝大多数行业、绝大多数企业都存在一些关键的应用,这些应用必须7*24*365小时不间断运行。这些应用的主机系统一旦出现问题,轻则降低业务响应速度,严重的会导致业务中断,造成严重的后果。如何能保证业务的持续进行,已经成为影响一个公司成败的关键因素。在这样的情况下,系统的高可用性就显得尤为重要。
近年来,服务器平台的可用性在不断地提高。内存ECC(错误代码校正)及Chipkill技术(纠正及探测内存中的数据错误)、硬盘RAID技术、网络负载均衡及容错技术以及多种基于硬件的冗余设计(如硬盘子系统、风扇子系统、电源子系统等)提高了整个系统的可用性,较好的保证了业务系统的持续运行。虽然硬件技术的发展大大提高了系统的可靠性,但是,由于系统内其它核心部件(如CPU、主板、物理内存等)的故障, 应用系统在一年365天内还是可能出现44~87小时的停机时间,这就要求从更高层次、更多方面综合考虑提高系统的高可用性。
在高可用技术中,根据不同的应用环境,从性能、经济等方面考虑.主要有以下几种方法和模式:
双机热备份方式
在双机热备份方式中,主服务器运行应用,备份服务器处于空闲状态,但实时监测主服务器的运行状态。一但主服务器出现异常或故障,备份服务器立刻接管主服务器的应用。也就是目前通常所说的active/standby 方式,主要通过纯软件方式实现双机容错。

当前应用最广泛的双机热备份软件主要有 LifeKeeper,Rose HA, DataWare和MSCS 。
LifeKeeper 双机软件:
LifeKeeper双机软件是美国SteelEye公司的产品,支持Windows NT(2000),Linux,UNIX等平台操作系统,主要提供数据、应用程序的可用性保护。
LifeKeeper可以支持二到十六个服务器结点,在出现故障的情况,LifeKeeper会将保护资源自动转换到一个根据优先权而设定的主机系统上。
产品特点:
- 支持Notes、Exchange、SQL Server、Sybase、Informix、Oracle 、SAP等多种应用系统
- 支持NT、Windows 2000、Linux和NCR Unix操作系统
- 使用共享磁盘阵列柜方式时,最多可以支持16个节点
LifeKeeper的产品版本比较复杂,以Windows环境为例,实现数据库的双机热备软件包括Lifekeeper for Windows,MS SQL 2000 ARK等。前者实现操作系统和存储级的切换,但如果要实现相关应用的切换,则还需要同时安装相应的ARK。
Rose HA 双机软件:
Rose HA双机软件是美国Rose数据公司的产品, 支持Windows NT/2000/2003、SCO Openserver/Unixware、Linux、Solaris操作系统平台,支持MS-SQL、Oracle 、Informix、Sybase、Lotus/Nose、DB2等数据库。接管动作包括:文件系统( File System)、数据库( Database)、 网络地址( IP Address) 、应用程序(AP) 以及系统环境(OS)。
产品特点:
- 提供两节点集群高可用性方案
- 纯软件解决方案,针对系统不可避免的预期和非预期宕机问题
- 系统宕机或服务中断时可提供错误识别、故障分离和服务的在线恢复等功能
- 支持对多种常用系统服务和应用软件的保护
- 通过用户自定义资源管理,支持其它应用软件的保护
图形管理界面

资源项目的图形管理界面

工作模式: 如上图所示
- 双主机通过一条TCP/IP网络线以及一条RS-232电缆线相联
- 双主机各自通过一条SCSI电缆线与RAID相联
- 主机NT1为active,主机NT2为standby
- 主机NT1处理作业和数据,主机NT2作为热备份机
- 主机NT1故障后,主机NT2自动接管主机NT1的作业和数据
- 主机NT2同时接管NT1的主机名(Host)及网络地址(IP)
- 主机NT1的作业将在主机NT2上自动运行
- 主机NT1的客户(client)可继续运行,无需重新登录
- 主机NT1修复后,自动接管原来的作业和数据,主机NT2继续作备份机
DataWare双机软件:
DataWare双机软件是台湾豪威科技公司的产品,支持基于Windows NT 平台和Unix平台的操作系统。
产品特点:
- 应用重启:任何造成工作中断的故障首先试图在本地解决(重新在本服务器启动)。如果不可恢复,所有资源将在最短时间内在对方服务器上启动。
- 自动客户端连接:当应用切换后,你不需要通知和重新配置客户端。
- 自动事件触发:系统管理员可定义脚本文件,DataWare检测到相应事件后将自动启动脚本文件。
- 自动或手动切换:除了自动切换功能外,DataWare还提供手动切换功能。这种特性可以使用户在需要做定期维护或系统升级时不会造成客户端应用长时间的停顿。
MSCS双机软件:
MSCS双机软件是Microsoft的产品,所采用的容错软件--Microsoft Cluster System(MSCS)软件集成在WIN NT Enterprise server /WIN 2000 Advance Server中。对不少的应用程序资源提供了保护,在WIN NT/WIN 2000的服务列表中的所有服务全部可以提供保护。支持MS SQL Server、Oracle、Sybase、Informix等数据库和支持Notes、Web服务器、FTP服务器、MS Exchange、SAP等应用软件。

产品特点: 。
- 应用级的高性能切换::可以实现系统级的服务器切换,而且提供强大的应用级服务器切换,表现在对任意应用可以进行检测并可以分为不同的资源组切换到不同的服务器
- 易管理性、易使用性:MSCS系统安装简单,易于维护。占用系统资源极少,不增加网络负荷,且不打扰任何具体应用系统的任何操作。图形界面操作,简单方便。
- 多种配置实现:可以实现双机直接连接也可以实现基于SAN的全冗余结构。
双机互备份方式
在这种方式中,没有主服务器和备份服务器之分,两台主机互为备份。主机各自运行不同应用,同时还相互监测对方状况。当任一台主机宕机时,另一台主机立即接管它的应用,以保证业务的不间断运行。也就是目前通常所说的Active/Active方式,主要通过纯软件方式实现双机容错。通常情况下,支持双机热备的软件都可以支持双机互备份方式,当前应用最广泛的双机互备软件主要有LifeKeeper,Rose HA, DataWare和MSCS。

以Rose 为例:


- 双主机通过一条TCP/IP网络线以及一条RS-232电缆线相联
- 双主机各自通过一条SCSI电缆线与RAID磁盘阵列相联
- 双主机各自运行不同的作业,彼此独立,并相互备援
- 主机A故障后,主机B自动接管主机A运行
- 主机A的作业将在主机B上自动运行
- 主机A的客户(client)要在主机B上重新登录
- 主机A修复后,主机B将把A的作业自动交还主机A
- 主机B故障时,主机A接管主机B的作业和数据
主机B修复时,主机A再将原来接管的作业和数据交还主机B。
群集并发存取方式
在这种方式下,多台主机一起工作,各自运行一个或几个服务。当某个主机发生故障时,运行在其上的服务就被其它主机接管。群集并发存取方式在获得高可用性的同时,也显著提高了系统整体的性能。主要的群集软件有集成了Windows群集(Windows Clustering)软件的Microsoft® Windows® Server 2003 Enterprise Edition,Veritas的cluster server和一些基于Linux开发的集群管理软件,一般都支持八个以上节点的群集。

以Windows群集(Windows Clustering)软件为例,下图简要描绘了一个四节点群集的配置:

如果群集中的某一台服务器由于故障或维护需要而无法使用,资源和应用程序将转移到可用的群集节点上。能够为多数关键任务应用程序提供足够的可用性。群集服务可以对应用程序和资源进行监控。当群集应用程序的总体负荷超出了群集的能力范围时,可以添加附加的节点,来满足需求的增长。
工作模式
双机热备份方式
所谓双机热备份就是一台主机为主服务器(Active Server),另一台主机为备份服务器(Standy Server),在系统正常情况下,主服务器为应用系统提供支持,备份服务器监视主服务器的运行情况。当主服务器出现异常,不能支持应用系统运行时,备份机主动接管工作机的工作,继续支持应用系统的运行,从而保证信息系统能够不间断的运行。此时,原来的备份服务器就成了主服务器。当原来的主服务器经过修复正常后,系统管理员通过管理命令或经由以人工或自动的方式将备份服务器的工作切换回主服务器;也可以激活监视程序,监视备份服务器的运行情况。在正常情况下,主服务器也会监视备份机的状态,当备份服务器因某种原因出现异常时,工作服务器会发出告警,提醒系统管理员解决故障,以确保主/备服务器切换的可靠性。
双机互备方式
所谓双机互备就是两台服务器均为工作机,在正常情况下,两台工作机均为应用系统提供支持,并互相监视对方的运行情况。当一台主机出现异常,不能支持应用系统正常运营时,另一主机则主动接管异常机的应用,从而保证应用系统能够不间断的运行。但是,当一台主机出现异常并被接管后,正常运行的主机的负载会随之加大,严重的情况下有可能影响到应用系统的响应速度。所以此时必须尽快修复异常机,以缩短正常机单机运行的时间。
群集并发存取方式
所谓群集(Cluster)技术就是一个域内包含多台拥有共享存储空间的服务器,各服务器通过内部局域网相互通信,群集内的任一服务器上运行的业务都可被所有的客户所使用。当一台服务器发生故障时,它所运行的应用将由其他服务器自动接管,这就实现了负载均衡和互为备份。
适用场合
三种工作方式,各自适合的应用场合。
- 双机热备方式 :适用于硬件资源充足,对应用系统有严格高可靠性要求的企业、政府、*队军**、重要商业网站ISP/ICP或数据库应用等用户。这些用户不仅保证主机系统能够24小时提供不间断的服务,还要求发生故障切换时,应用系统的性能和响应速度不受影响,以确保网络系统、网络服务、共享磁盘空间、共享文件系统、进程以及数据库的高速持续运转。
- 双机互备方式 :适用于在确保应用不间断运行的前提下,从投资的角度考虑,能充分的利用现有的硬件资源的用户。这些用户的应用要求保证业务不间断运行,但在发生故障切换时,允许一定时间内的应用性能的降低。
- 群集并发存取方式 :适用于对计算数据处理要求高的应用,其特点是实时性强、阶段性数据流量大、对应用系统有严格高可靠性要求。这种方式需要更多的硬件投资,为企业带来更大的可靠性和更多的任务能力。
和前面提到的两种的高可用的计算机技术相比,群集技术并不要求所有服务器的性能相当,不同档次的服务器都可以作为群集的节点。在需要运行高负载的应用任务时,可以通过临时接入新的节点的方法,增加系统的运算和响应能力。群集技术系统可以在低成本的条件下完成大运算量的计算,具有较高的运算速度和响应能力,能够满足当今日益增长的信息服务的需求。群集技术适用于以下场合:
- 大规模计算如基因数据的分析、气象预报、石油勘探需要极高的计算性能。 应用规模的发展使单个服务器难以承担负载。 不断增长的需求需要硬件有灵活的可扩展性。 关键性的业务需要可靠的容错机制。
对存储系统的要求
- 双机热备方式:系统运行时,只有主服务器与存储系统进行数据交换。当发生主机故障切换时,要求存储系统能与备份服务器快速建立数据通道,以支持业务的快速切换。
- 双机互备方式:系统运行时,两台主机需要同时对磁盘阵列进行读写操作,这要求存储系统具备良好的的并发读取操作和一定的负载均衡功能。
- 群集并发存取方式:
- 并发处理能力
高性能群集主要依赖高性能存储以满足其强大的运算能力和数据的读写运算,但多个群集节点的数据访问是并发的、无规律的,因此就要求存储设备具有很强的处理并发数据访问能力,以使群集应用发挥最高的性能。
- 数据共享能力
高性能群集主要利用分布在多个节点的处理器共同计算存储系统里的数据。这就对存储系统的初始容量、后期容量扩充能力提出了很高的要求。同时,多个节点的处理器能够方便地共享相关的数据,这就要求存储系统具备安全而高效的共享能力。
- 大规模与可扩展性
随着高性能群集系统内计算节点的数量与规模、每个网络的数据容量也在扩大。因此,中央存储系统是否具备方便的升级途径和巨大的可供升级容量,就成为重要的因素。如何实现在线升级、平滑过渡、现有用户及素材的透明化处理,是存储产品必需的功能。
- 可管理性
一是管理操作分安全级别;二是提供清晰明确的管理界面,方便操作。避免人为误操作,要求存储系统的管理界面简单明了,管理操作流程设计合理。
- 高可用性
高性能群集的时效性很强,因此要求网络系统具有极高的可靠性。但是绝对的安全性是没有的,必要的网络故障恢复时间就显得十分重要。首先要求有较高的容错级别,例如控制器要求高可用容错,存储子系统要求容错冗余等;其次故障恢复时间要短,尽可能做到不宕机的在线恢复。