天天看点

解析RHCS高可用集群HA及负载均衡集群LB的实现方法

Linux集群概述

  集群是个热门话题,在企业中越来越多地应用Linux操作系统提供邮件、Web、文件存储、数据库等服务,随着Linux应用的日益增长,高可用及负载均衡Linux集群也在企业中逐步地发展起来。Linux平台的低成本、高性能、高扩展性使得Linux集群能够以低廉的价格很好地满足各种应用的需求。

  本文介绍Linux集群的基础知识,集群的分类。在熟悉集群的基础知识后会以RHCS(RedHat Cluster Suit)为例介绍高可用集群及负载均衡集群的实现方法。

  集群是什么?

  让我们先从集群的概念开始介绍Linux集群。将多台计算机用特定的软件及硬件连接在一起,让它们为共同的目地而工作就构成了Linux集群。

  Linux集群技术就在你的身边,可能你并未察觉,对于普通用户来说,一个Linux集群通常会表现得像单一的系统,为用户提供网络服务或计算服务。

  著名的搜索引擎GOOGLE就是采用了Linux集群技术来处理每日大量的查询请示,据估计目前GOOGLE集群中已经有超过20000台计算机同时进行工作。当你每次向GOOGLE提交查询请求的时候,就会有一组不同的计算机助你检索信息。

  据世界著名的超级计算机排行网站www.top500.org 2005年6月的数据记录在全球最快的500台超级计算机中有288台采用了Linux集群的方式组建。目前最快的Linux集群超级计算机是由IBM为巴塞罗那超级计算中心建造的MareNostrum集群,该集群目前在2005年6月top500全球超级计算计中排名第五。

  集群的主要类型

  学习Linux集群之前我们首先需要了解集群的主要类型及其能够解决的问题。我们通常会将集群按其用途分为以下的三个主要类型:

  高可用集群(HA,High Available Cluster)

  高可用集群是指通过特殊软件把独立的服务器连接起来,组成一个能够提供故障切换(Failover)功能的集群。

  企业中的关键应用如WEB服务、文件服务、数据库服务等,通常会要求提供7x24不间断地连续提供服务并且对外不能表现出故障。这就要求承载服务的系统能够自动地判断故障并提供故障恢复的能力。高可用集群能够保性系统中关键服务的可用性以及服务数据的完整性。

  高可用集群通常会采用可用性来衡量基实际效果。计算机系统的可用性是通过平均无故障时间(MTTF)及平均维修时间(MTTR)来度量的,可用性的定义为:MTTF/(MTTF+MTTR)*100% 。根据可用性我们可以把计算机系统分为以下几类:

  可用性年停机时间系统类别

  99.53.7天常规系统

  99.98.8小时可用系统

  99.9952.6分钟高可用系统

  99.9995.3分钟抗故障系统

  99.999932秒容错系统

  Linux高可集群系统通常能够达到高可用系统的标准。目前最高级别的容错系统通常是采用高级的支持硬件容错的服务器,容错系统对硬件故障具有最高级别的可用性支持但是这种系统通常不能够对服务的软件故障做出诊断及恢复。Linux高可用集群系统基本都具备对软件和硬件故障的探测及恢复功能。

  在真实的企业应用中一般只会将部分关键服务部署在高可用集群系统上,其它不属于关键服务的部分只需要采用普通的服务器部署即可。所以一般情况下高可用集群系统会包由两台服务器构成。

  目前主要的Linux发行版本基本都会提供高可用集群组件,主要要的高可用集群决方案有SUSE 采用的HeartBeat (www.linux-ha.org)及RedHat Cluster Suit 采用的Kimberlite(oss.missioncriticallinux.com/kimberlite/)

  负载均衡集群(LB,Load Balance Cluster)

  负载均衡集群通常采用专门的负载均衡路由设备将基于TCP/IP协议的服务请求分发至实际提供服务的服务器中并由这些服务器为客户端提供真实的服务。

  负载均衡集群系统一般多用于负载较重的网络服务中,如大型的网站、邮件服务系统等。由于采用了负载均衡技术,可以使多台服务器同时提供相同内容的服务,突破了单一服务器硬件性能的限制。

  负载均衡集群中的关键部件就是负载均衡路由设备,负载均衡路由设备负责将真实客户端的服务请求分发至真实服务器上,一般可采用的方法有使用硬件负载均衡路由设备或使用Linux自己配置负载均衡路由器。

  硬件负载均衡路由设备由于采用了特殊的硬件结构及专门开发的配置软件,通常易于配置及管理,性能较好,但是其价格较高

  在Linux中最常使用的负载均衡路由软件是由章文嵩博士开发的LVS(Linux Virtual Server)项目。LVS能够实现目前大部分硬件负载均衡路由设备的功能。目前基于Linux平台负载均衡解决方案大都是采用了LVS或其衍生产品。由于LVS项目本身未提供负载均衡路由的高可用功能、真实服务器状态探测功能等,所以在实际配置负载均衡集群时通常会采用LVS的衍生产品。常见的LVS衍生产品主要有UltraMonkey (http://www.ultramonkey.org/)及RedHat的Piranha项目。#p#副标题#e#

  高性能计算集群(HPC, High Performance Computing)

  高性能计算是计算机科学的一个分支,它致力于开发超级计算机,研究并行算法和开发相关软件。高性能计算集群系统通常会采用价格昂贵的专用高速网络连接集群内的计算机,在集群内部使用专门编写的软件来进行高速的运算。

  高性能计算主要用于大规模科学计算,如天气预报、地形分析和生物制药、基因测序等领域。

  为什么使用Linux构建集群系统?

  目前大多数的集群系统都是以Linux做为操作系统平台,之所以大家都选择Linux来构建集群系统是因为Linux系统具有以下优点

  低成本

  Linux集群的低成本主要体现在两个方面,首先Linux平台及其软件大部分基于GPL或其它开放源代码协议发布,这些协议对于最终用户是完全免费的。几乎所有的集群类型都可以在Linux平台上找到免费的解决方案。另外由于Linux对各种硬件平台的广泛支持,使得使用Linux 在一些比较旧的机器上构建集群成为可能,即使使用新的硬件,Linux也可以在廉价的X86平台上构建高性能的集群。

  高扩展性

  高扩展性首先表现在对不同硬件及硬件平台的支持上,使用Linux制作集群可以构建多种平台的异构集群,同时可以使用各种硬件对现有集群进行扩充。另外Linux的高扩展性还体现在集群软件上,由于Linux平台上的大部分软件都是基于开源协议发布,所以可以对现有软件进行各种改造,使其能够在现有的环境下最大限度的发挥功能,这种可扩展性在商业化操作系统上是不可能具备的。

  高性能

  Linux最值得称道的特征之一就是Linux的高性能,在Linux系统中可以调节各种操作系统的参数以提高系统性能,并为特殊应用进行优化。Linux系统强大的可订定性也决定了Linux可以将不必要的系统功能禁用,同时提高需要用到服务的性能。

  RedHat 集群套件(RHCS,RedHat Cluster Suit)简介

  本章将会以RHCS 3.0为基础向读者介绍基于Linux的高可用及负载均衡集群的配置方法。RHCS是由RedHat发布的用于RHEL(RedHat Enterprise Linux)的集群产品。

  RHCS必需与RHEL配合使用,RHCS共提供了两种组件,分别支持两种不同类型集群,其中RHCM(RedHat Cluster Manager)提供了高可用集群的支持,Piranha提供了基于LVS的负载均衡集群的支持。

  RHCS 3.0中的RHCM是RedHat的一个开源的高可用集群项目。RHCM基于开源的Kimberlite(oss.missioncriticallinux.com/kimberlite/)项目,同时加入了HeartBeat (www.linux-ha.org)项目的一些先进特征。做为RedHat的一款商业产品,在提供完备的商业支持及RHEL完全兼容的同时,RHCS比其它的开源高可用项目提供了更加完备易用的图形化配置及管理界面。

  RHCM提供了许多先进技术特征,包括图形及命令行的集群配置及监控工具,无单一故障点配置支持、容错域支持、数据完性保证、服务状态自动监控及手动服务迁移功能。另外RHCM中还提供了高可用NFS及SAMBA配置向导功能,使得配置NFS或SAMBA高可用文件服务器在几分钟之内就可以完成。

  Piranha项目是基于LVS的开源负载均衡集群项目,在LVS提供负载均衡基础上,Piranha项目还提供了WEB界面配置功能、负载均衡路由器的高可用功能、真实服务器服务状态监控功能,大大简化了LVS配置和管理的难度。

  配置RHCM高可用集群

  我们将以RHCS的高可用使群组件RHCM为基础,一步步地进行高可用集群的配置,在这部分中我们将会学到高可用集群的基础知识,如何为RHCM订制RHEL安装,如何安装并配置基于RHCM的高可用集群。

  高可用集群的基础知识

  高可用集群通常由一个或多个结点(服务器)及共享存储设备构成,集群间各成员相互监控软、硬件的状态,一旦服务器硬件或服务发生故障则集群控制软件会依照基配置将服务切换至另一台服务器继续运行。#p#副标题#e#

  根据高可用集群的结构我们一般可将高可用集群分为三种类型:主从式、对称式和集群式。

  主从方式的HA集群由两个结点构成,其中一台为主服务器,运行服务,另一台服务器为从服务器为主服务器提供备份。主从方式中主服务器可运行一个或多个服务,从服务器随时监视主服务器软硬件状态,如果主服务器发生故障则主服务器上运行的服务会由主服务器迁移至从服务器继续运行。主从方式能够提供较高级别的可用性但由于从服务器专门用于备份,正常时不对外提供服务所以资源利用率较低。

  

  对称方式的HA集群也由两个结点构成,两台服务器可各自运行一个或多个服务,两台服务器在运行时相互监视软硬件状态,如果发生故障则服务会迁移至另一台服务器运行。对称方式中两台机器同时对外提供服务,在提供高可用性的同时也提供了较高的资源利用率

  集群方式的HA集群由多个结点构成,每节点可各自运行一个或多个服务,集群中的成员相互监视软硬件状态,如发现故障则服务可在集群成员间进行切换。#p#副标题#e#

继续阅读