企业用户将关键应用部署在由多台服务器组成的服务器集群上,保证关键应用的持续服务和可用能力,称之为高可用集群(Hight Availability Cluster)。
企业用户将关键应用部署在由多台服务器组成的服务器集群上,保证关键应用的持续服务和可用能力,称之为高可用集群(Hight Availability Cluster)。本文主要关注为提高企业业务应用可用性而建立的Linux集群系统,而为提高管理性和负载能力的负载均衡集群(Load Balance Cluster)及用于科学计算的并行计算集群(High Performance Cluster)不在本文重点讨论范围之内。
技术背景
IT架构平台出现问题是每个IT主管都不愿意看到的。大多数运行关键业务(Mission Critical)的企业,最担心的不是硬件损坏带来的金钱上的损失,而是因某个业务异常停止工作给企业的生产、运作、安全乃至企业的客户带来的无法估量的经济和名誉损失。
从高端的银行证券、医院、钢铁制造业、交通管制中心、国防警务,到中低端的大型超市、常规交通,处处可见对高可用系统(Hight Availablilty System,下简称HA系统)的迫切需求。为企业提供关键业务解决方案的IT供应商们(如IBM、HP等)都有结合自己硬件环境的整体方案,提供给需要HA系统的客户。
这些方案绝大多数基于RISC Unix系统及高端存储平台。无论是这些方案中产品及服务采购,还是后期维护费用,对大多数企业来说都是一笔很大的开销。Intel架构的服务器(IA32)一直因其低性能、低扩展性、低可靠性的印象而不被需要运行关键业务的企业考虑和接受。但随着Intel 公司近几年在IA平台上的大力拓展,及IBM、HP、DELL等公司的大规模跟进,越来越多的企业开始考虑并接受基于IA平台的廉价PC服务器,用来替代原有昂贵的RISC服务器。原有的HA方案供应商们也相继在PC 服务器平台上展开HA产品和方案的激烈角逐。
PC服务器平台HA产品性能分析
Windows 2000 Server和Advance Server采用了Microsoft Cluster Service(MSCS)作为微软的高可用集群软件方案。但是Windows服务器产品在中高端市场上一直具有低可靠性(不够强壮,故障恢复成本过高)、低扩展性(MSCS的节点最多为4个,在DataCenter Server上最多为8个)、低移植性(将原有RISC Unix服务器上的应用移植到Windows平台将成为一件失败风险很高、花销巨大的工作)的特点。Linux作为一种类Unix的操作系统,其性能已经被大量成功案例所证明。加上优秀的开放性所带来的可扩展能力和可移植性,Linux已成为运行关键事务处理的企业优先考虑的对象。
高可用集群设计思路
对一个企业来说,计划内停机(维护及故障检修)或计划外停机(硬件故障、软件故障、操作失误等)都会造成对外服务的停止和系统进入不可用状态。高可用集群的设计思路就是通过将两个或更多的服务器组织起来,一旦发生计划内停机或计划外停机就可以将不可用系统上的应用程序转移到可用系统上,继续提供对外服务。在集群技术中,这称做“故障后转移(Failover)”。
Linux高可用系统支持的工作模式
Linux高可用系统支持的工作模式较多,主要有以下几种:
◆ 激活/备用模式(Active/Standby) 指一台服务器处于工作状态,运行应用程序,对外提供服务,另外一台服务器处于集群组中,但处于空闲状态,在必要时接管失败节点的任务。
◆ 激活/激活模式(Active/Active) 指两台服务器都处于工作状态,运行各自的应用程序,对外提供不同的服务,但同时彼此保持接管对方任务的状态。
◆ 级连的故障后转移模式(Cascading Failover) 指在大于两台服务器组成的集群组中,服务器A配置成故障后转移到服务器B,服务器B被配置成故障后转移到服务器C,以此类推。
◆ 分布式故障转移模式(Distributed Failover) 指当故障发生在一台或多台节点服务器上的时候,集群系统将把其上的应用故障后转移到其它服务器上,防止余下的服务器群在性能上显著下降。
◆ 故障修复切回模式(Automatic Failback) 指当集群中的故障服务器回到集群中时,其它服务器将以前在此节点上运行的应用程序转移回去的工作模式。
Linux HA集群软件分析
当我们对市场上林林总总的Linux HA集群软件进行分析比较的时候,会观察到以下这些不同点:
◆ HA集群软件所监控的错误类型的不同;
◆ HA集群在控制各种服务的时候,其控制脚本的可用性;
◆ 管理界面的质量;
◆ 在提高系统可用性方面的努力。
网友评论