一、概述
技术发展到今天,Linux已经在世界范围内得到了广泛的应用。从单机系统到上百台服务器构成的大型系统,都可以看到Linux的影子。在一些地方,Linux已经担负起运行那些关键的大型企业应用的任务,这些应用对高可用性的要求很高,例如:
n 要求提供24*7不间断连续服务,系统对外不能表现出任何故障,这就要求系统具有自动故障恢复的能力;
n 要能够承受高负载的情况;
n 要具有海量存储的能力;等等
以往,集群系统主要都是基于商业操作系统的。这类产品价格十分昂贵,并且留给用户的选择余地十分有限。由于Linux本身是基于GPL的,完全开放的,而intel-base的硬件平台又具有很高的性价比,因此,将多台Linux服务器组成集群系统以提供具有高可用性的企业应用平台应运而生,这使用低廉的价格构建具有高可用性的企业应用平台成为了可能,从而大大推动了以前很少有人用得起的昂贵的集群系统普及的进程。
北京拓林思软件有限公司是最早开发基于Linux的高可用集群软件的公司之一,并且多年来一直致力于Linux高可用产品的研究、开发和推广应用。目前TurboHA已经推出了最新的6.5版本,本文主要将TurboHA6.5和目前市场上主流的linux HA产品进行技术和功能的比较,以期对我们HA产品的销售和今后的研发有所帮助。
二、市场主流HA产品
目前市场上主流的基于Linux的HA产品主要有:
(1) Turbolinux公司的TurboHA6.5
(2) High-Availability公司的RSF-1
(3) RedHat公司的Cluster Manager
(4) Veritas公司的Veritas Cluster Server
(5) EMC公司的EMC HA
(6) SteelEye公司的LifeKeeper
(7) Rose Data Systems公司的RoseHA
(8) NEC公司的ExpressCluter
(9) Sgi公司的FailSafe
本文中主要对以上的HA产品进行比较。除了这里所列的HA产品外,目前国内国外还有形形色色的HA产品,但其它的HA产品目前基本对国内的HA市场影响不大,因此在这里不进行比较。
三、TurboHA6.5功能简介
自1999年以来,北京拓林思软件有限公司先后推出了两个系列的HA产品:TurboHA6.0和TurboHA6.5。TurboHA6.5是TurboHA6.0的升级版,于2004年6月发布,并且于2005年7月发布更新后的最新版。TurboHA6.5提供更好的可靠性,更高的性价比,更好的易用性和可管理性,完全满足企业级应用所要求的RASM(Reliability,Availability,Scalability,Manageability)特性。
TurboHA6.5是专注于Linux上的高可用性产品,提供高可用性的双机集群系统。当集群中的某个节点由于软件或硬件原因发生故障时,集群会利用资源切换的方法保证整个系统继续对外提供服务,从而为企业24x7的关键业务应用提供了强大的保障。TurboHA6.5提供对各种应用程序的支持,包括各种数据库应用、WEB应用、Mail应用、等等,而其简便的安装和设置、详细的日志信息,大大减轻了日常的维护工作,其中跨平台的远程管理和监控使得系统具有更灵活的特性。更为方便的是TurboHA6.5提供图形化界面和命令行界面两种配置和管理模式,大大方便了系统管理员的操作和管理。
TurboHA6.5的主要功能和技术特点包括:
(1) 最多支持2个节点。
(2) 最多支持16个服务。
(3) 支持各种硬件平台。目前支持的平台有intel, AMD, PowerPC。
(4) 支持各种软件平台。支持各种Linux操作系统。
(5) 支持磁盘阵列。TurboHA6.5能够支持绝大多数的磁盘阵列设备。
(6) 支持磁盘镜像功能。
(7) 支持网络和串口两种心跳方式。
(8) 支持STONITH技术。支持硬件和软件两种方式来防止裂脑。
(9) 支持watchdog。
(10)支持优先节点。实现故障恢复后自动切回。
(11) 支持更多的故障检测。支持系统硬件、软件、网络、磁盘、应用等的故障监控和检测。
(12)提供应用程序代理检查功能。
(13) 提供应用程序代理API。利用此API用户可以很容易地将应用加入到TurboHA中。
(14) 提供字符界面管理工具。
(15) 提供图形界面管理工具。TurboHA6.5的图形界面管理工具是基于java的,可以运行在各种平台上,并且可以实现远程的配置和管理。
(16) 支持linux下的各种应用。如HTTP,NFS等。
(17) 支持各种主流数据库。
(18) 手动停止的服务不会发生切换,有助于升级。
(19) 支持Active/Standby和Active/Active两种工作方式。
四、 相关产品功能介绍
RSF-1
RSF-1是英国的High-Availability公司的产品。
红旗linux公司代理RSF-1的产品,产品名称为“Red Flag HA Server 4.0”。
http://www.high-availability.com
http://www.redflag-linux.com/chanpin/HA/index.html
RSF-1可以满足各个行业对计算机系统高可靠性的要求。对现代企业来说,及时和可靠的信息服务是必要的,但是软硬件的故障又是不可避免的,为减少故障带来的损失,RSF-1可以提供24小时昼夜不停的可靠保证,确保网络系统、网络服务、共享RAID、共享文件系统、进程以及数据库能够不停息的运转。
RSF-1产品能够很好地保证各种故障情况下应用系统访问的连续性。在高可用服务器中,应用系统的任何一个服务都可以运行在集群系统中的任何一个节点中,当这个节点出故障时,运行在这个节点上的所有服务都可以在定义好的其它节点中启动运行,而访问服务器的用户感觉不到有任何变化。高可用服务器可以提高应用任务的可靠性,并不提高系统的性能。
RSF-1适用于对应用系统有严格高可靠性要求的企业、政府、军队、重要商业网站ISP/ICP或数据库应用等用户。
RSF-1的主要功能和技术特点包括:
(1) 支持多节点。但最多支持的节点数目不详。
(2) 支持各种硬件平台。目前支持的平台有intel, AMD, PowerPC,SUN SPARC。
(3) 支持各种软件平台。支持Linux,SUN Solaris,IBM AIX,HP-UX,FreeBSD等操作系统。可在一个集群中同时使用多种平台的系统。
(4) 支持磁盘阵列。
(5) 支持网络,串口,共享磁盘三种心跳方式。
(6) 支持优先节点。
(7) 支持多种硬件和软件的故障检测。
(8) 提供应用程序代理API。
(9) 提供基于java的监控界面。支持网络管理,用户可以通过网络在远程管理。
(10)支持三种工作方式:Active/Standby,Active/Active,多机互备。
(11)支持灾难恢复,支持远程数据备份和恢复。
和TurboHA6.5相比,RSF-1的优势:
Ø 支持多平台(硬件和软件)
Ø 支持多节点
弱势:
Ø 不支持镜像
Cluster Manager
Cluster Manager是RedHat的高可用产品。是开源的HA产品。
http://www.redhat.com/software/rha/cluster/
RedHat Cluster Suite包含二种不同的Cluster方案,第一种方案,是高可用群集方案,叫做群集管理器(Cluster Manager),它确保系统在应用软件出错,服务器死机或出现故障的情况下仍然正常的运行,保证数据和应用程序对用户的可用性。第二种方案,叫做IP负载均衡(IP Load Balancing),提供网络负载均衡功能,它让一台网络前端服务器重定向IP请求到后台的一组服务器中,这样可以显著的提升网络的性能。
Cluster Manager的主要功能和技术特点包括:
(1) 最多支持8个节点。
(2) 支持磁盘阵列。支持SCSI和Fibre Channel存储设备。
(3) 支持网络和串口两种心跳方式。
(4) 支持STONITH技术。
(5) 支持watchdog。
(6) 支持优先节点。
(7) 提供应用程序代理API。
(8) 提供字符界面管理工具。
(9) 提供图形界面管理工具。
(10)支持各种主流数据库。
(11)支持Active/Standby和Active/Active两种工作方式。
和TurboHA6.5相比,Cluster Manager的优势:
Ø 支持多节点
弱势:
Ø 不支持镜像
Ø 图形管理界面不支持远程配置和管理
Cluster Manager和TurboHA都源自Kimberlite,因此Cluster Manger和TurboHA主要的功能比较接近。
Veritas Cluster Server
Veritas Cluster Server是美国的Veritas公司的高可用产品。
http://www.veritas.com/Products/
Veritas Cluster Server 是业界领先的开放式系统集群解决方案。要保障信息访问,应用和数据就必须符合严格的正常运行要求。鉴于用户需要以电子方式获取更多的服务,提升应用正常运行水平的需求也急剧增长。VERITAS Cluster Server支持UNIX,Windows,Linux集群内最广泛的应用程序,为配置基于策略的故障切换方案,满足正常运行要求和履行为客户承担的义务提供了灵活性。除此之外,自动化、智能化工作负荷管理,允许集群管理员从反应型恢复转向前瞻型可用性管理,从而优化利用各种资源。
由于支持存储局域网 (SAN) 和传统客户机/服务器环境内的大型集群,VERITAS Cluster Server能够在网络存储环境,灵活地保护从单一数据库实例到大型多应用集群的所有部件。它既能够独立使用,又能够与许多成龙配套的VERITAS软件解决方案相整合,因此在为当今的混合型计算环境提供高可用性和灾难恢复方面,发挥至关重要的作用。
Veritas Cluster Server的主要功能和技术特点包括:
(1) 最多支持32个节点。
(2) 支持各种硬件平台。支持异构硬件配置。
(3) 支持各种软件平台。支持windows, solaris, HP-UX, IBM-AIX, Linux操作系统。
(4) 支持各种磁盘阵列。
(5) 最少2个最多8个心跳网络。
(6) 提供应用程序代理功能。
(7) 提供图形界面管理工具。基于web或java的图形管理工具,同时可以控制16个不同平台的集群。如果和Global Cluster Manager相结合,可以在全球范围内,最多控制256个集群。
(8) 支持各种主流数据库。
(9) 支持SAN环境。
(10)采用智能化工作负荷管理。VERITAS Cluster Server以智能方式,监控和管理系统容量及资源可用性,进而以自动化方式启动和迁移应用服务。这将通过数据中心实现最佳负荷分配。
(11)有资源相关定义。采用容错高可用引擎,支持基于策略的级联型多方向故障切换,因为该引擎使用多级故障检测模式。
(12)服务发生故障时,先在本地节点恢复服务,恢复不成功再切换。
(13) 集成化产品套件。能够与其它VERITAS存储管理软件实现无缝集成。使其在存储管理解决方案方面比较有优势。
(14)颗粒度用户权限。在应用服务级,可以为用户管理VERITAS Cluster Server定义各种的权限级别。这样,用户将根据授予的权限,启动或限制集群操作。
(15)支持灾难恢复。
(16)和Oracle联系比较紧密,支持Oracle 9i RAC和Oracle 10g。
和TurboHA6.5相比,Veritas Cluster Server的优势:
Ø支持多节点
Ø支持广域网内分布的集群的管理
Ø 支持智能化工作负荷管理。
Ø 有资源相关定义
Ø 支持灾难恢复
Ø 颗粒度用户权限
弱势:
Ø 不支持镜像
EMC HA
EMC HA是美国的EMC公司的高可用产品,是原来的Legato HA被EMC收购后的名字。
http://www.legato.com/Products/
http://www.emc.com/Products/
EMC HA由一系列产品组成,共包括:
1) EMC FullTime AutoStart SE
FullTime AutoStart SE是原来Legato的Co-StandbyServer Aadvanced,是一个Windows的低成本的高可用系统。是一个2节点的HA。
2) EMC FullTime RepliStor
FullTime RepliStor是原来Legato的RepliStor产品,支持Windows系统。实现镜像的功能,可以工作于LAN和WAN。
3) EMC PowerPath
PowerPath是EMC的新产品,支持Windows,Solairs, HP-UX, AIX, Linux, Novell, Tru64UNIX系统。利用多个通道来访问存储,实现存储的I/O负载均衡,提高I/O性能,并且在一个通道失效后,自动FailOver到别的通道,实现存储I/O通道的高可用性。
4) EMC FullTime AutoStart
FullTime AutoStart 是原来Legato的Automated Availability Manager。支持Windows,UNIX, Linux系统。支持多节点,实现应用和数据的高可用。
EMC HA的主要功能和技术特点包括:
(1) 支持多节点。
(2) 支持各种硬件平台。
(3) 支持各种软件平台。支持windows, solaris, HP-UX, AIX, Linux, Novell等操作系统。
(4) 支持各种磁盘阵列。
(5) 支持磁盘镜像功能。
(6) 提供应用程序代理功能。
(7) 提供用户的API接口。
(8) 提供图形界面管理工具。基于java的图形管理工具,可以实现本地和远程的管理。
(9) 灵活的资源管理。允许灵活监控服务器状态,应用和服务器性能,网络状态,网卡状态,存储状态等的的企业资源。
(10)配置有一个单系统影像SSI数据库,便于系统的配置和大规模群集部署的管理。通过集中管理控制台,用户可以方便地配置基于PERL5.0用户策略规则。
(11)支持各种主流数据库。
(12)可以在LAN、SAN、NAS、DAS和WAN环境下运行。
(13)支持灾难恢复。
和TurboHA6.5相比,EMC HA的优势:
Ø 支持多节点
Ø 支持LAN、SAN、NAS、DAS和WAN环境
Ø 支持灾难恢复
Ø 产品种类齐全
Ø 和EMC领先的存储管理技术相结合,优势比较明显
弱势:
Ø 没有字符界面管理工具
Lifekeeper
LifeKeeper是美国的SteelEye公司的高可用产品。
http://www.steeleye.com
SteelEye公司为业界提供了交叉平台的高可用和持续商务方案。在该公司成立之初,SteelEye购买了NCR运行在Intel平台MP-RAS操作系统(NCR的一个Unix变种)上的LifeKeeper产品,并于2000年发布了该产品的Linux版本。它支持Red Hat、SuSE、TurboLinux、Caldera、Miracle Linux和Red Flag Linux。LifeKeper可以最多运行在32个节点上。LifeKeeper同时提供了命令行和基于Java的图形化的集群管理界面。它支持共享和不共享两种存储配置方式,但如果将LifeKeeper配制成不共享方式,还需要安装SteelEye的数据复制产品LifeKeeper Data Replication。SteelEye支持所有类型的集群配置模式。它通过提供Application Recovery Kits(ARKs)产品来支持第三方软件。此外,用户可以通过采用该公司的软件开发工具箱软件(SDK)来创建自己的ARKs。SteelEye公司的主要客户包括金融、电信、零售、制造和网络在线服务公司。
LifeKeeper全球市场占有率第一。
LifeKeeper的主要功能和技术特点包括:
(1) 支持多节点,最多支持32个节点。
(2) 支持各种硬件平台。
(3) 支持各种软件平台。支持Windows, Unix, Linux操作系统。
(4) 支持各种磁盘阵列。
(5) 支持磁盘镜像,需要与产品LifeKeeper Data Replication功能相结合。
(6) 支持多条心跳,支持网络,串口和共享磁盘的心跳。
(7) 提供应用程序代理功能。
(8) 提供SDK,用户可以方便地添加服务和管理服务。
(9) 提供字符界面管理工具。
(10)提供图形界面管理工具。基于java的图形管理工具。
(11)支持各种主流数据库。
(12)支持优先节点。
(13)提供共享存储锁机制,通过对磁盘的锁定使其在任何时刻只允许一个应用存取,维护了数据的完整性。
(14)支持本地恢复功能。当应用失效但硬件仍能正常工作时,LifeKeeper首先只恢复失败的应用而不会马上完全切换到另一台服务器,限制了不必要的切换。例如,可以在LifeKeeper 服务器上配置多块NIC 卡, 当定义的NIC发生故障时, 就可以配置将IP 资源切转到另一个NIC 上,从而避免不必要的失效切换。
(15)支持三种工作方式:Active/Standby, Active/Active, N+1(N Active/1 Standby)
(16)恢复操作。支持3种恢复操作:
a. 多向恢复
LifeKeeper for Linux 支持一种多向故障切换配置的四节点集群,其中相关的两个节点连接到同一共享磁盘。
b. N+1配置
LifeKeeper for Linux 支持 N+1 配置。LifeKeeper 在每条共享SCSI总线上支持两个节点。这允许在集群中连接到同一共享磁盘的两个节点之间实现基于共享SCSI磁盘的应用恢复。在该配置下的服务器扮演 Active/Active 角色,为集群中的任何其它节点提供故障备份。
c. 多级失效切换
LifeKeeper for Linux 允许在最多32个活动节点之间实现多级故障切换,保证在发生系统或应用失败时客户能够继续访问。
和TurboHA6.5相比,LifeKeeper的优势:
Ø支持多节点
Ø提供共享存储锁机制
Ø支持多种工作方式和多种恢复方式
Ø各种应用,尤其数据库的代理比较全面
弱势:
Ø不支持Watchdog
RoseHA
RoseHA是Rose Data Systems公司的高可用产品。
http://www.roseha.com
RoseHA是一套提供防止业务主机因不可避免的意外性或计划性宕机问题的高可用性软件。RoseHA软件同时安装在两台主机上,用于监视系统的状态,协调两台主机的工作,维护系统的可用性。它能侦测应用级系统软件、硬件发生的故障,及时地进行错误隔绝、恢复,以最低成本提供用户几乎不停顿的计算机作业环境。
RoseHA以其稳定、可靠,在windows NT、windows2000服务器的容错软件中占有绝对的优势,同时也成为国内绝大多数的磁盘阵列柜厂家的OEM容错软件。
RoseHA的主要功能和技术特点包括:
(1) 最多支持2个节点。
(2) 支持各种软件平台。支持Windows,Solaris, SCO/Unix, Linux操作系统。