red hat 企业linux –red hat cluster 高可用群集解决方案
- 格式:pdf
- 大小:278.10 KB
- 文档页数:14
Red Hat 企业Linux – Red Hat Cluster高可用群集解决方案概论本白皮书介绍了Red Hat 企业Linux解决方案中的Red Hat Cluster高可用群集方案,同时介绍了高可用集群技术的技术特性和多种硬件情况下的配置方案。
这份文件适合对高可用集群技术有一定了解的人,例如曾经接触过微软Windows 2000高级服务器和Sun Cluster集群产品。
Revision 3a - 2003年9月目 录绪论 (3)Red Hat Cluster Suite 简介 (3)应用软件支持 (3)群集管理器技术 (4)群集管理器概念 (5)关键概念 (7)应用程序服务 (7)失败切换(Failover)时间 (7)主动/主动和主动/被动 (8)群集信息 (9)Quorum 分区 (9)I/O Barriers (9)Watchdog Timers (10)I/O设备要求 (11)RAID 配置 (11)文件共享服务 (11)服务监控 (11)群集的管理 (12)总结 (13)Oracle RAC和群集管理器 (13)群集管理器和IP负载均衡 (14)参考 (14)绪论2002年5月Red Hat公司在全球发布了Red Hat企业Linux产品家族中的第一个成员产品 - Red Hat 企业Linux AS (Advance Server)。
从那时起,Red Hat 企业Linux 的产品线不断的稳步发展和完善,到目前为止Red Hat企业Linux系列产品除了AS之外,还包括了 ES (Entry Server),WS (Workstation)。
Red Hat企业Linux系列产品面向企业计算市场,提供了更多的应用软件支持,更好的可靠性,更高的性能,良好的可用性和扩展性,完全满足企业操作系统所要求的RASM(Reliability,Availability,Scalability,Manageability)特性。
Red Hat企业Linux AS V2.1版包含了一个高可用群集方案,而ES产品中不包含此方案。
随着Red Hat 企业Linux产品的不断发展,越来越多的客户希望AS 和ES 产品都能够运行高可用群集方案。
因此,在2003年10月份发布的Red Hat企业Linux V3.0 中,高可用群集方案成为一个独立的单独发售的软件产品,被命名为Red Hat Cluster Suite,它能同时运行在AS 和ES上。
Red Hat Cluster Suite 简介Red Hat Cluster Suite 包含二种不同的Cluster方案,第一种方案,也是本白皮书所关注的,是高可用群集方案,叫做群集管理器(Cluster Manager),它确保系统在应用软件出错,服务器死机或出现故障的情况下仍然正常的运行,保证数据和应用程序对用户的可用性。
第二种方案,叫做IP负载均衡(IP Load Balancing),提供网络负载均衡功能,它让一台网络前端服务器重定向IP请求到后台的一组服务器中,这样可以显著的提升网络的性能,在本白皮本的后面我们会简单的介绍它。
本白皮书主要介绍群集管理器(Cluster Manager)的功能,同时也会介绍怎样将群集管理器和IP负载均衡结合在一起共同为企业提供一个灵活可靠的高可用环境。
应用软件支持我们在搭建一个高可用群集环境的时候,首要的任务就是确认我们要运行的应用软件能够被系统的群集管理器所支持。
这里我们介绍了能够运行在群集管理器中的应用程序:•通用的,不需要修改的应用程序:大多数应用程序能够被群集管理器支持,这些适用于那些能够接受几秒种的停机时间的业务。
•数据库:群集管理器能够很好的支持各种数据库产品,包括Oracle 8i/9i/10g,MySQL,IBM DB2和Red Hat数据库。
•各种文件服务:群集管理器能够为各种类型的文件服务提供高可用群集功能,如NFS和SMB/CIFS (使用Samba)。
•主流的商业应用软件:群集管理器能够很好的支持主流的商业应用软件,如SAP,Oracle Application Server和Tuxedo。
•互联网和开放源代码的应用:群集管理器可以很好的支持各种流行的互联网应用软件和各种开放源代码产品,如Apache,Wu-ftp,VSFTP等。
•消息软件:如Sendmail和Domino。
群集管理器的一个重要特点是在整合到高可用群集系统中之前应用程序自身不需要修改。
绝大多数的应用程序甚至不需要知道它正运行在一个高可用群集系统中 - 它们自动成为一个高可用应用软件。
Red Hat 企业Linux有许多为企业计算环境而提供的新功能,即使那些不适合运行在一个高可用群集系统中少数应用程序也可以从这些新功能中得到益处。
比如那些对延时要求很高的实时应用程序和那些只有有限存储的数据采集设备中,或者应用程序提供了它们自己的高可用群集系统,如Oracle的Real Application Server(RAC)或Veritas Cluster Server。
群集管理器技术群集管理器提供了高可用的技术,这种技术在其它操作系统中被广泛地采用- 应用程序失败切换(Application Failover)技术。
应用程序失败切换技术被运用在众多的高可用群集产品中,如微软的Windows 2000 Advance Server,Sun Cluster,和Compaq TruClusters。
通过群集管理器,用户也可以享受到这种成熟技术所带来的益处。
作为先进的高可用群集方案,Red Hat群集管理器可以支持各种常见的硬件设备,用户不需要购买昂贵的、专有的硬件。
本白皮书介绍的各种配置方案都能够通过常见的各种硬件搭建起来,在某些方案中,一些可选的硬件被加入到方案中是为了给系统提供更好的高可用性,如UPS电源。
群集管理器概念最简单的高可用群集方案由两台服务器和一台外接的SCSI或光纤通道存储设备构成。
Red Hat群集管理器现在最多可以支持到8台服务器,他们都被联接到同一台外接存储设备上,这样可以允许他们直接访问共享存储设备。
群集管理器控制数据的访问过程,同一时间只有一台服务器可以访问一个指定的分区,这种控制是必需的,因为大多数标准的应用程序不支持同时从多个服务器并发访问一个数据文件。
在群集中,每台服务器都像一台普通的独立工作的服务器一样,运行应用程序和访问他们可以访问的数据,通过群集管理器这些服务器协同起来工作为用户提供应用程序、系统资源和数据。
通过向群集添加节点,使业务的处理能力随着处理器的添加而伸缩,从而增加应用程序的吞吐量。
除了所有的服务器都联接到同一台外接存储设备上之外,服务器之间也通过网线或串口线相联,我们称之为心跳线 (Heatbeat),这样各服务器之间就可以彼此互相通讯。
一旦某台服务器死机或出错,其它的服务器会马上侦测到这台服务器出现故障,从而自动接管故障服务器的工作,继续执行故障服务器上运行的原程序。
系统管理员可以预先指定好出故障后服务器的接管顺序或由群集管理器随机指定一台服务器接管故障服务器的工作。
应用程序由一台出错的故障服务器切换到另一台服务器上运行的过程,我们称之为失败切换 (Failover)。
因为所有的服务器都联接到同一个外部存储设备上,备份服务器能够访问出错的故障服务器的磁盘分区,从而保证了应用程序能继续正常地运行。
如果备份服务器同时也接管了故障服务器的IP地址,那么网络操作也会继续正常运行而不会出现中断。
在下面的图1中,我们描述了三个节点的高可用群集系统的配置方案。
图1 – 典型的高可用群集配置高可用群集系统中应用程序每次只能在群集中的一个服务器上运行,其它服务器可以运行其它应用程序,但每个应用程序只能运行在单一服务器上。
如果主服务器发生故障,正在故障服务器上运行的应用程序进行失败切换,切换到另一台服务器上并继续运行。
企业的高可用群集系统通常采用更多的冗余设备来保证不出现任何情况的单节点失效,例如冗余的电源系统和冗余的网卡。
同时,我们要清楚的认识到如果共享存储设备出错将会导致整个群集系统出错,因此采用一个高可靠性的存储设备是至关重要的,比如说存储设备包含有冗余的双通道控制器,所有的磁盘被配置成RAID -1或RAID -5。
还有服务器自身也可以考虑采用配置成RAID -1的磁盘阵列。
关键概念本部分讲述与Red Hat群集管理器相关的关键概念。
应用程序服务Red Hat群集管理器使用服务的概念来实现应用程序的失败切换,一个服务通常包括下面几项内容:•服务的名称•应用程序运行时所要求的IP地址•挂载点•设备名称•应用程序 停止/启动/状态 的控制脚本程序•首选的主节点服务器和应用恢复策略•服务监控的时间间隔在发生一个失败切换时,群集管理器会自动地加载数据分区到正确的加载点上,配置服务的IP地址,然后执行服务脚本程序从而运行应用程序。
应用程序会发现自己所处的运行环境和先前出故障的服务器上是一样的 - 整个失败切换的过程对应用程序是透明的。
我们可以先定义好多个备份节点服务器,在发生失败切换时,群集管理器会根据我们预先定义好的顺序在指定的服务器上启动相应的服务。
失败切换(Failover)时间在系统出现故障发生失败切换时,切换的时间是由下面二个因素来决定的:•从系统出错到触发失败切换所用的时间•应用程序的恢复时间服务器之间的网络监控是每2秒进行一次,如果监控程序没有收到另一台服务器的回应,它会再尝试6次,在触发抢失败切换之前整个过程要花费14秒。
监控的时间间隔和重试次数都可以在群集管理器中根据我们自己的费要进行实际的调整。
应用程序的恢复时间有很大的差别,这个过程同时也包括诸如文件系统检查和数据库日志恢复之类的动作。
群集管理器支持Linux的日志型文件系统,如EXT3文件系统,它能够大大地减少文件系统检查的时间。
在应用程序被系统管理员使用群集管理器跨服务器进行重新部署的时候,服务会被停止/启动脚本快速的停止和重新启动。
这样消除了所有监控程序的延时和应用程序的恢复过程,因此这个过程是非常快速的。
主动/主动和主动/被动了解在一个群集系统中怎样将应用程序配置在多台服务器上是非常重要的。
比如一个用户准备运行几个不同的应用程序,这些应用程序之间没有任何关联,每个应用程序访问不同磁盘分区上的数据文件。
通过群集管理器,在主节点服务器上运行应用程序时,其余群集节点无需等到主节点服务器出现故障,在为主节点服务器上的应用程序提供失败切换功能的同时,其余的群集节点还可以运行自己的应用程序。
我们把这种方式称为主动/主动群集,因为所有的服务器实际上都是处于一种活动状态。
如果用户希望在群集中运行一个单一而大型的应用软件,我们必须记住所有的服务器都不能在同一时间访问同一个磁盘分区 – 因为目前只有极少数的应用程序从多个系统进行并发访问的功能(Oracle RAC是其中之一)。