服务器集群的集群服务的状态

服务器集群的集群服务的状态,第1张

从群集中的其它节点和群集服务管理接口的角度看,当形成群集时,群集中的每个节点可能处于三种不同状态中的一种。事件处理器会记录这些状态,而事件日志管理器会将这些状态复制到群集的其它节点。群集服务状态包括:

脱机。此时的节点不是完全有效的群集成员。该节点及其群集服务器可能在运行,也可能未运行。

联机。此时的节点是完全有效的群集成员。它遵从群集数据库的更新、对仲裁算法施加自己的影响、维护心跳通讯,并可以拥有和运行资源组。

暂停。它只能支持它当前已拥有的那些资源组。之所以提供暂停状态,是为了允许执行某些维护。大多数服务器群集组件会将联机和暂停视为等价的状态。

·这里是系统区,建议你发到网络区去~~~那样你可能能得到更多网络达人的帮助

一、集群的基本概念

有一种常见的方法可以大幅提高服务器的安全性,这就是集群。

Cluster集群技术可如下定义:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务。

大多数模式下,集群中所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。Cluster必须可以协调管理各分离的组件的错误和失败,并可透明地向Cluster中加入组件。

一个Cluster包含多台(至少二台)拥有共享数据存储空间的服务器。任何一台服务器运行一个应用时,应用数据被存储在共享的数据空间内。每台服务器的操作系统和应用程序文件存储在其各自的本地储存空间上。

Cluster内各节点服务器通过一内部局域网相互通讯。当一台节点服务器发生故障时,这台服务器上所运行的应用程序将在另一节点服务器上被自动接管。当一个应用服务发生故障时,应用服务将被重新启动或被另一台服务器接管。当以上任一故障发生时,客户将能很快连接到新的应用服务上。

二、集群的硬件配置

镜像服务器双机

集群中镜像服务器双机系统是硬件配置最简单和价格最低廉的解决方案,通常镜像服务的硬件配置需要两台服务器,在每台服务器有独立操作系统硬盘和数据存贮硬盘,每台服务器有与客户端相连的网卡,另有一对镜像卡或完成镜像功能的网卡。

镜像服务器具有配置简单,使用方便,价格低廉诸多优点,但由于镜像服务器需要采用网络方式镜像数据,通过镜像软件实现数据的同步,因此需要占用网络服务器的CPU及内存资源,镜像服务器的性能比单一服务器的性能要低一些。

有一些镜像服务器集群系统采用内存镜像的技术,这个技术的优点是所有的应用程序和网络操作系统在两台服务器上镜像同步,当主机出现故障时,备份机可以在几乎没有感觉的情况下接管所有应用程序。因为两个服务器的内存完全一致,但当系统应用程序带有缺陷从而导致系统宕机时,两台服务器会同步宕机。这也是内存镜像卡或网卡实现数据同步,在大数据量读写过程中两台服务器在某些状态下会产生数据不同步,因此镜像服务器适合那些预算较少、对集群系统要求不高的用户。

硬件配置范例:

网络服务器 两台

服务器操作系统硬盘 两块

服务器数据存贮硬盘 视用户需要确定

服务器镜像卡(部分软件可使用标准网卡) 两块

网络服务网卡 两块三、双机与磁盘阵列柜

与镜像服务器双机系统相比,双机与磁盘阵列柜互联结构多出了第三方生产的磁盘阵列柜,目前,豪威公司、精业公司等许多公司都生产有磁盘阵列柜,在磁盘阵列柜中安装有磁盘阵列控制卡,阵列柜可以直接将柜中的硬盘配置成为逻辑盘阵。磁盘阵列柜通过SCSI电缆与服务器上普通SCSI卡相连,系统管理员需直接在磁盘柜上配置磁盘阵列。

双机与磁盘阵列柜互联结构不采用内存镜像技术,因此需要有一定的切换时间(通常为60?D?D180秒),它可以有郊的避免由于应用程序自身的缺陷导致系统全部宕机,同时由于所有的数据全部存贮在中置的磁盘阵列柜中,当工作机出现故障时,备份机接替工作机,从磁盘阵列中读取数据,所以不会产生数据不同步的问题,由于这种方案不需要网络镜像同步,因此这种集群方案服务器的性能要比镜像服务器结构高出很多。

双机与磁盘阵列柜互联结构的缺点是在系统当中存在单点错的缺陷,所谓单点错是指当系统中某个部件或某个应用程序出现故障时,导致所有系统全部宕机。在这个系统中磁盘阵列柜是会导致单点错,当磁盘阵列柜出现逻辑或物理故障时,所有存贮的数据会全部丢失,因此,在选配这种方案时,需要选用一个品质与售后服务较好的产品。

硬件配置范例:

网络服务器 两台

服务器操作系统硬盘 两块

第三方生产的磁盘阵列柜 一台

磁盘柜专用SCSI电线 两根

磁盘阵列柜数据存贮硬盘 视用户需求确定

网络服务网卡 两块

除此之外,一些厂商还有更优秀的技术的解决方案,比如 HP

四、HP双机双控容错系统

HP NetServer为双机双控容错系统提供了高品质和高可靠的硬件基础……

HP双机双控容错系统结合了HP服务器产品的安全可靠性与Cluster技术的优点,相互配合二者的优势。

硬件配置范例:

HP L系统的网络服务器 两台

服务器操作系统硬盘 两块

HP硬盘存贮柜(SS/6,RS/8,RS/12) 一台

磁盘柜专用SCSI集群适配电缆 两根

磁盘柜数据存贮硬盘 视用户需求确定

HP集群专用阵列卡 两块

网络服务网卡 两块五、HP光纤通道双机双控集群系统

光纤通道是一种连接标准,可以作为SCSI的一种替代解决方案,光纤技术具有高带宽、抗电磁干扰、传输距离远、质量高、扩展能力强等特性,目前在FC-AL仲裁环路上可接入126个设备。

光纤设备提供了多种增强的连接技术,大大方便了用户使用。服务器系统可以通过光缆远程连接,最大可跨越10公里的距离。它允许镜像配置,这样可以改善系统的容错能力。服务器系统的规模将更加灵活多变。SCSI每条通道最多可连接15个设备,而光纤仲裁环路最多可以连接126个设备。

光纤集群系统组成:

HP光纤集群系统硬件设备包括有两台HP服务器(需支持光纤卡,目前有LC2000、LH3000、LH4、 LH6000、LT6000、LXr8000、LXR8500)及光纤适配卡,可以使用RS/12FC光纤磁盘阵列柜,需另加一对或两对网卡用于心跳检测和与客户端连接。在配置过程中还需另外选配光纤卡到光纤存贮设备的光纤电缆。

硬件配置:

HPL系统的网络服务器 两台

服务器操作系统硬盘 两块

HP光纤阵列存贮柜(RS/12FC) 一台

光纤磁盘柜专用光纤电缆 两根

光纤磁盘柜数据存贮硬盘 视用户需求确定

HP光纤适配卡 两块

网络服务网卡 两块

六、集群的软件配置

基于NT平台的集群软件

Microsoft的MSCS,也有许多第三方的专业软件公司开发的集群软件,如豪威的DATAWARE,VIN CA公司的STANDBY SERVER,NSI公司的DOUBLE-TAKE

MS WolfPack的特点

MS WolfPack是MS Cluster server的别称,是 微软针对Cluster技术研制开发的双机软件。它集成在NT SERVER上,支持由二台机器组成的双机系统,提供一种高可用且易管理的应用环境。

主要特点:

自动检测和修复服务器或应用程序的错误

可实现对服务器中应用程序的切换

可通过TCP/IP连接各种客户端,如MS-DOS、WINDOWS 3X/9X/NT,Apple Macintosh、UNIX等

生产主机无需人工干涉即可自动恢复数据并接管任务

易管理性:

可自动审核服务器和应用程序的工作状态

可建立高可用性的应用程序、文件共享、打印请求等

可灵活设置应用程序和数据的恢复策略

简单操作即可进行应用程序的离线,重新再线,服务器间的迁移。

目前,WINDOWS 2000 Advanced Server与WINDOWS 2000 DataCenter Server都集成有更先进集群技术。

其它的网络操作系统平台上也有许多集群软件,比如:

基于novell平台的集群软件有Novell HA Server、Novell SFT III

基于sco UNIX平台的集群软件有Sentinel集群软件

基于Linux平台的集群软件有TurboCluster

七、集群技术的发展趋势

集群技术随着服务器硬件系统与网络操作系统的发展将会在可用性、高可靠性、系统冗余等方面逐步提高。未来的集群可以依靠集群文件系统实现对系统中的所有文件、设备和网络资源的全局访问,并且生成一个完整的系统映像。这样,无论应用程序在集群中的哪台服务器上,集群文件系统允许任何用户(远程或本地)都可以对这个软件进行访问。任何应用程序都可以访问这个集群任何文件。甚至在应用程序从一个节点转移到另一个节点的情况下,无需任何改动,应用程序就可以访问系统上的文件。

在今天,利用服务器的集群技术,通过周密计划和网络维护,系统破坏的机率是非常小的。所以,企业服务器的稳定必须使用集群技术。

简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。

(1)为同一种或若干种生物在某种程度上恒定地占据某一地区的,广泛的且具有社会性微细差异的用词。因而该词有各种不同的意义。在生态学上,有时用以表示群,或群落或种群;有时则用以表示单位集团之意。植物是指全面,而动物则明显地是指哺乳类、鸟类以及蚁、蜂等社会性昆虫。集群内个体的社会结合程度也各有不同,可以区分为永久性集群(permanent colony)、季节性集群(seasonalcolony)以及繁殖集群(breeding colony)等。进而可把由同一种形成的集群称为种内集群(intraspe-cific colony);把由二种以上形成的集群称为种间集群(interspecific colony)。但也有时集群一词没有上述意义,而是指最先迁入到新地上来的群体,或指社会昆虫在同一巢穴中生活的一个集团。

  

(2)特指上述之中的群体。

  

(3)对细菌和霉菌的培养细胞特称为菌落。

  1 首先,要确认在安装Weblogic Server的过程中,勾选NodeManager选项,如下图,默认是不选中的,为了后期能简单的使用节点管理器,这里需要选择Yes,然后完成软件安装。

  2 其次,创建Domain的过程参考:

  a) 选择创建Domain的类型

  

  b) 确认创建Domain的类型

  a) 确认集群名称

  

  b) 确认管理员用户名、口令

  

  c) 选择Domain的模式

  

  d) 选择修改Domain选项Yes,选择不配置DBMS

  

  e) 确认主管服务器的IP地址、端口、名称

  

  f) 确认受管服务器的IP地址、端口、名称

  

  g) 确认集群的地址、端口、名称

  

  h) 确认集群中有哪些受管服务

  

  i) 确认代理服务器的配置

  

  j) 确认物理服务器的信息(以Linux服务器为例)

  

  k) 确认哪些服务器运行在哪些物理机器上

  

  l) 确认集群Domain创建设置

  

  m) 完成集群创建

  

  3 配置weblogic访问口令脚本

  要确认在启动Domain的Server时,不需要输入用户名、口令,方法(Linux平台,Windows平台参考修改setDomainEnvcmd)如下:

  a) 第一步,按11g版本前的方法,在自己的${DOMAIN_HOME}文件夹下,创建bootproperties文件,内容为:

  username=weblogic

  password=welcome1

  b) 第二步,修改${DOMAIN_HOME}/bin文件夹下的setDomainEnvsh,找到# SET THE CLASSPATH这行,修改其上面两行内容:

  从:

  JAVA_OPTIONS="${JAVA_OPTIONS}"

export JAVA_OPTIONS

  修改为:

  JAVA_OPTIONS="${JAVA_OPTIONS} -DweblogicsystemBootIdentityFile=${DOMAIN_HOME}/bootproperties"

export JAVA_OPTIONS

  4 配置主机名与IP映射关系

  要确认主机名与IP地址有对应关系,修改主机的hosts文件,加入

  19216818212 oradb2

  这里,如果发现127001对应到了oradb2这个主机名,应将其对应去掉,只需要127001映射到localhost即可。

  

  5 如何用NodeManager管理集群服务器

  为了能让nodemanager可以管理weblogic的domain,必须先启动nodemanager进程,方法为:

  cd /home/weblogic/bea/wlserver_103/server/bin

  /startNodeManagersh

  接下来,可以启动AdminServer,方法为:

  cd /home/weblogic/bea/user_projects/domains/my_domain/bin

  /startWebLogicsh

  接下来的服务都可以在weblogic的console中进行启动了,登录访问控制台页面:http://19216818212:7001/console

  

  点击服务器,打开服务器管理页面:

  

  点击控制标签页,要管理哪个服务器,就勾选哪个,比如勾选MS_1,点击启动,就可以完成MS_1这个服务器:

  

  点击是按钮:

  

  这时MS_1,状态已经为STARTING

  

  等待一段时间后:

  

  最终MS_1就正常运行了,状态RUNNING

在 Windows 的早期版本中,此功能包含在“添加/删除程序”工具中 您无法删除集群服务,但是可以使其恢复未配置的状态: 1启动集群管理器 (CluAdminexe)。 2用鼠标右键单击节点,然后单击“停止集群服务”()。 注意:如果此服务器是集群中的最后一个节点,请勿执行此步骤。 3用鼠标右键单击节点,然后单击“退出节点”。 该步骤会使集群返回到其最初未配置的状态。以后,您可以将其重新加入同一集群或其他集群中。

集群技术案例介绍和具体操作

集群技术案例介绍和具体操作

中国科学院西安网络中心 中科红旗linux培训认证中心

集群技术

11 什么是集群

简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提

供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的

集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一

个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群

系统的节点。

12 为什么需要集群

集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就

开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并

不为大家所熟知。直到Linux集群的出现,集群的概念才得以广为传播。

对集群的研究起源于集群系统良好的性能可扩展性(scalability)。提高CPU

主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性能的

提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了

向量机,对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,象SMP这些

多处理机系统的可扩展性就变的极差。主要瓶颈在于CPU访问内存的带宽并不能

随着CPU个数的增加而有效增长。与SMP相反,集群系统的性能随着CPU个数的

增加几乎是线性变化的。图1显示了这中情况。

图1 几种计算机系统的可扩展性

对于关键业务,停机通常是灾难性的。因为停机带来的损失也是巨大的。下

面的统计数字列举了不同类型企业应用系统停机所带来的损失。

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

应用系统每分钟损失(美元)

呼叫中心(Call Center) 27000

企业资源计划(ERP)系统13000

供应链管理(SCM)系统11000

电子商务(eCommerce)系统10000

客户服务(Customer Service Center)系统27000

图2:停机给企业带来的损失

随着企业越来越依赖于信息技术,由于系统停机而带来的损失也越拉越大。

集群系统的优点并不仅在于此。下面列举了集群系统的主要优点:

高可扩展性:如上所述。

高可用性:集群中的一个节点失效,它的任务可传递给其他节点。可以有效防止单点失效。

高性能:负载平衡集群允许系统同时接入更多的用户。

高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。

21 集群系统的分类

虽然,根据集群系统的不同特征可以有多种分类方法,但是一般把集群系统分为两类:

(1)、高可用(High Availability)集群,简称HA集群。

这类集群致力于提供高度可靠的服务。就是利用集群系统的容错性对外提供724小时不间

断的服务,如高可用的文件服务器、数据库服务等关键应用。

目前已经有在Linux下的高可用集群,如Linux HA项目。

负载均衡集群:使任务可以在集群中尽可能平均地分摊不同的计算机进行处理,充分利

用集群的处理能力,提高对任务的处理效率。

在实际应用中这几种集群类型可能会混合使用,以提供更加高效稳定的服务。如在一个使

用的网络流量负载均衡集群中,就会包含高可用的网络文件系统、高可用的网络服务。

(2)、性能计算(High Perfermance Computing)集群,简称HPC集群,也称为科学计算

集群。

在这种集群上运行的是专门开发的并行应用程序,它可以把一个问题的数据分布到多

台的计算机上,利用这些计算机的共同资源来完成计算任务,从而可以解决单机不能胜任

的工作(如问题规模太大,单机计算速度太慢)。

这类集群致力于提供单个计算机所不能提供的强大的计算能力。如天气预报、石油勘探与油

藏模拟、分子模拟、生物计算等。这些应用通常在并行通讯环境MPI、PVM等中开发,由于MPI

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

是目前的标准,故现在多使用MPI为并行环境。

比较有名的集群Beowulf就是一种科学计算集群项目。

3、集群系统转发方式和调度算法

3.1转发方式

目前LVS主要有三种请求转发方式和八种调度算法。根据请求转发方式的不同,所构

架集群的网络拓扑、安装方式、性能表现也各不相同。用LVS主要可以架构三种形式的集群,

分别是LVS/NAT、LVS/TUN和LVS/DR,可以根据需要选择其中一种。

(1)、网络地址转换(LVS/NAT)

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

(2)、直接路由

(3)、IP隧道

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

三种转发方式的比较:

3.2、调度算法

在选定转发方式的情况下,采用哪种调度算法将决定整个负载均衡的性能表现,不同

的算法适用于不同的应用场合,有时可能需要针对特殊场合,自行设计调度算法。LVS的算

法是逐渐丰富起来的,最初LVS只提供4种调度算法,后来发展到以下八种:

1轮叫调度(Round Robin)

调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均

等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。

2加权轮叫(Weighted Round Robin)

调度器通过“加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求。这样

可以保证处理能力强的服务器能处理更多的访问流量。调度器可以自动询问真实服务器的

负载情况,并动态地调整其权值。

3最少链接(Least Connections)

调度器通过“最少连接”调度算法动态地将网络请求调度到已建立的链接数最少的服务器

上。如果集群系统的真实服务器具有相近的系统性能,采用“最小连接”调度算法可以较

好地均衡负载。

4加权最少链接(Weighted Least Connections)

在集群系统中的服务器性能差异较大的情况下,调度器采用“加权最少链接”调度算法优

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自

动询问真实服务器的负载情况,并动态地调整其权值。

5基于局部性的最少链接(Locality-Based Least Connections)

“基于局部性的最少链接”调度算法是针对目标IP地址的负载均衡,目前主要用于Cache

集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务

器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且

有服务器处于一半的工作负载,则用“最少链接”的原则选出一个可用的服务器,将请求

发送到该服务器。

6 带复制的基于局部性最少链接( Locality-Based Least Connections with

Replication)

“带复制的基于局部性最少链接”调度算法也是针对目标IP地址的负载均衡,目前主要

用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务

器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目

标IP地址找出该目标IP地址对应的服务器组,按“最小连接”原则从服务器组中选出一

台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“最小连接

”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服

务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,

以降低复制的程度。

7目标地址散列(Destination Hashing)

“目标地址散列”调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分

配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,

否则返回空。

8源地址散列(Source Hashing)

“源地址散列”调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的

散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则

返回空。

了解这些算法原理能够在特定的应用场合选择最适合的调度算法,从而尽可能地保持

Real Server的最佳利用性。当然也可以自行开发算法,不过这已超出本文范围,请参考有

关算法原理的资料。

4.1、什么是高可用性

计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性

(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,

用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

MTTF/(MTTF+MTTR)100%

业界根据可用性把计算机系统分为如下几类:

可用比例

(Percent

Availability)

年停机时间

(downtime/year

)

可用性分类

995 37天

常规系统

(Conventional)

999 88小时可用系统(Available)

9999 526分钟

高可用系统(Highly

Available)

99999 53分钟Fault Resilient

999999 32秒Fault Tolerant

为了实现集群系统的高可用性,提高系统的高可性,需要在集群中建立冗余机制。一个功

能全面的集群机构如下图所示

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

负载均衡服务器的高可用性

为了屏蔽负载均衡服务器的失效,需要建立一个备份机。主服务器和备份机上都运行

High Availability监控程序,通过传送诸如“I am alive”这样的信息来监控对方的运

行状况。当备份机不能在一定的时间内收到这样的信息时,它就接管主服务器的服务IP并

继续提供服务;当备份管理器又从主管理器收到“I am alive”这样的信息是,它就释放

服务IP地址,这样的主管理器就开开始再次进行集群管理的工作了。为在住服务器失效的

情况下系统能正常工作,我们在主、备份机之间实现负载集群系统配置信息的同步与备份,

保持二者系统的基本一致。

HA的容错备援运作过程

自动侦测(Auto-Detect)阶段 由主机上的软件通过冗余侦测线,经由复杂的监听程序。逻

辑判断,来相互侦测对方运行的情况,所检查的项目有:

主机硬件(CPU和周边)

主机网络

主机操作系统

数据库引擎及其它应用程序

主机与磁盘阵列连线

为确保侦测的正确性,而防止错误的判断,可设定安全侦测时间,包括侦测时间间隔,

侦测次数以调整安全系数,并且由主机的冗余通信连线,将所汇集的讯息记录下来,以供

维护参考。

自动切换(Auto-Switch)阶段 某一主机如果确认对方故障,则正常主机除继续进行原来的

任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的程序及服

务。

自动恢复(Auto-Recovery)阶段 在正常主机代替故障主机工作后,故障主机可离线进行修

复工作。在故障主机修复后,透过冗余通讯线与原正常主机连线,自动切换回修复完成的

主机上。整个回复过程完成由EDI-HA自动完成,亦可依据预先配置,选择回复动作为半自

动或不回复。

4.2、HA三种工作方式:

(1)、主从方式 (非对称方式)

工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,

待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的

一致性通过共享存储系统解决。

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

(2)、双机双工方式(互备互援)

工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另

一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存

储系统中。

(3)、集群工作方式(多服务器互备方式)

工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用

主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

相关文档

http://techsinacomcn/it/2004-04-09/1505346805shtml

http://stonesoupesdornlgov

LINUX下的集群实列应用

最近有客户需要一个负载均衡方案,笔者对各种软硬件的负载均衡方案进行了调查和

比较,从IBM sServer Cluster、Sun Cluster PlatForm 等硬件集群,到中软、红旗、

TurboLinux的软件集群,发现无论采用哪个厂商的负载均衡产品其价格都是该客户目前所

不能接受的。于是笔者想到了开放源项目Linux Virtual Server(简称LVS)。经过对LVS的研

究和实验,终于在Red Hat 90上用LVS成功地构架了一组负载均衡的集群系统。整个实

现过程整理收录如下,供读者参考。

选用的LVS实际上是一种Linux操作系统上基于IP层的负载均衡调度技术,它在操

作系统核心层上,将来自IP层的TCP/UDP请求均衡地转移到不同的服务器,从而将一组

服务器构成一个高性能、高可用的虚拟服务器。使用三台机器就可以用LVS实现最简单的集

群,如图1所示。

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

图1 LVS实现集群系统结构简图

图1显示一台名为Director的机器在集群前端做负载分配工作;后端两台机器称之为

Real Server,专门负责处理Director分配来的外界请求。该集群的核心是前端的Director

机器,LVS就是安装在这台机器上,它必须安装Linux。Real Server则要根据其选用的负

载分配方式而定,通常Real Server上的设置比较少。接下来介绍Director机器上LVS的

安装过程。

安装

LVS的安装主要是在Director机器上进行,Real Server只需针对不同的转发方式做简单

的设定即可。特别是对LVS的NAT方式,Real Server惟一要做的就是设一下缺省的网关。

所以构架集群的第一步从安装Director机器开始。

首先,要在Director机器上安装一个Linux操作系统。虽然早期的一些Red Hat版本,

如62、72、80等自带Red Hat自己的集群软件,或者是在内核中已经支持LVS,但是为

了更清楚地了解LVS的机制,笔者还是选择自行将LVS编入Linux内核的方式进行安装,

Linux版本采用Red Hat 90。

如果用户对Red Hat的安装比较了解,可以选择定制安装,并只安装必要的软件包。

安装中请选择GRUB 做为启动引导管理软件。因为GRUB 在系统引导方面的功能远比

LILO强大,在编译Linux内核时可以体会它的方便之处。

LVS是在Linux内核中实现的,所以要对原有的Linux内核打上支持LVS的内核补丁,

然后重新编译内核。支持LVS 的内核补丁可以从LVS 的官方网

http://wwwlinuxvirtualserverorg 下载,下载时请注意使用的Linux核心版本,必须下载和

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

使用的Linux内核版本相一致的LVS内核补丁才行。对于Red Hat 90,其Linux内核版本

是2420,所以对应内核补丁应该是http://wwwlinuxvirtualserverorg/software/kernel-

24/linux-2420-ipvs-109patchgz。笔者经过多次实验,使用Red Hat 90自带的Linux

源代码无法成功编译LVS 的相关模组。由于时间关系笔者没有仔细研究,而是另外从

kernelorg上下载了一个tar包格式的2420内核来进行安装,顺利完成所有编译。下面是

整个内核的编译过程:

1删除Red Hat自带的Linux源代码

# cd /usr/src

# rm -rf linux

2下载2420内核

# cd /usr/src

# wget ftp://ftpkernelorg/pub/linux/kernel/v24/linux-2420tarbz2

3解压到当前目录/usr/src

# cd /usr/src

# tar -xjpvf linux-2420tarbz2

4建立链接文件

# cd /usr/src # ln -s linux-2420 linux-24 # ln -s linux-2420 linux

5打上LVS的内核补丁

# cd /usr/src

#wget http://wwwlinuxvirtualserverorg/software/kernel-24/linux-2420-ipvs-

109patchgz

# gzip -cd linux-2420-ipvs-109patchgz

# cd /usr/src/linux

# patch -p1 < /linux-2420-ipvs-109patch

在打补丁时,注意命令执行后的信息,不能有任何错误信息,否则核心或模组很可能

无法成功编译。

6打上修正ARP问题的内核补丁

# cd /usr/src

# wget http://wwwssibg/~ja/hidden-2420pre10-1diff

# cd /usr/src/linux

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

# patch -p1 < /hidden-2420pre10-1diff

这一步在Director机器上可以不做,但是在使用LVS/TUN和LVS/DR方式的Real Server

上必须做。

7为新核心命名

打开/usr/src/linux/Makefile。注意,在开始部分有一个变量EXTRAVERSION可以自行定

义。修改这个变量,比如改成“EXTRAVERSION=-LVS”后,编译出的核心版本号就会显

示成2420-LVS。这样给出有含义的名称将有助于管理多个Linux核心。

8检查源代码

# make mrproper

这一步是为确保源代码目录下没有不正确的o文件及文件的互相依赖。因为是新下载的内

核,所以在第一次编译时,这一步实际可以省略。

9配置核心选项

# make menuconfig

命令执行后会进入一个图形化的配置界面,可以通过这个友好的图形界面对内核进行定制。

此过程中,要注意对硬件驱动的选择。Linux支持丰富的硬件,但对于服务器而言,用不到

的硬件驱动都可以删除。另外,像Multimedia devices、Sound、Bluetooth support、Amateur

Radio support等项也可以删除。

注意,以下几项配置对LVS非常重要,请确保作出正确的选择:

(1)Code maturity level options项

对此项只有以下一个子选项,请选中为,即编译到内核中去。

Prompt for development and/or incomplete code/drivers

(2)Networking options项

对此项的选择可以参考以下的配置,如果不清楚含义可以查看帮助:

<> Packet socket

[ ] Packet socket: mmapped IO

< > Netlink device emulation

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

Network packet filtering (replaces ipchains)

[ ] Network packet filtering debugging

Socket Filtering

<> Unix domain sockets

TCP/IP networking

IP: multicasting

IP: advanced router

IP: policy routing

[ ] IP: use netfilter MARK value as routing key

[ ] IP: fast network address translation

<M> IP: tunneling

IP: broadcast GRE over IP

[ ] IP: multicast routing

[ ] IP: ARP daemon support (EXPERIMENTAL)

[ ] IP: TCP Explicit Congestion Notification support

[ ] IP: TCP syncookie support (disabled per default)

IP: Netfilter Configuration --->

IP: Virtual Server Configuration --->

(3)Networking options项中的IP: Virtual Server Configuration项

如果打好了LVS的内核补丁,就会出现此选项。进入Virtual Server Configuration选项,

有以下子选项:

<M> virtual server support (EXPERIMENTAL)

IP virtual server debugging

(12) IPVS connection table size (the Nth power of 2)

--- IPVS scheduler

<M> round-robin scheduling

<M> weighted round-robin scheduling

<M> least-connection scheduling scheduling

<M> weighted least-connection scheduling

<M> locality-based least-connection scheduling

<M> locality-based least-connection with replication scheduling

<M> destination hashing scheduling

<M> source hashing scheduling

<M> shortest expected delay scheduling

<M> never queue scheduling

--- IPVS application helper

<M> FTP protocol helper

以上所有项建议全部选择。

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

(4)Networking options项中的IP: Netfilter Configuration项

对于24版本以上的Linux Kernel来说,iptables是取代早期ipfwadm和ipchains的

更好选择,所以除非有特殊情况需要用到对ipchains和ipfwadm的支持,否则就不要选它。

本文在LVS/NAT方式中,使用的就是iptables,故这里不选择对ipchains和ipfwadm的

支持:

< > ipchains (22-style) support

< > ipfwadm (20-style) support

10 编译内核

(1)检查依赖关系

# make dep

确保关键文件在正确的路径上。

(2)清除中间文件

# make clean

确保所有文件都处于最新的版本状态下。

(3)编译新核心

# make bzImage

(4)编译模组

# make modules

编译选择的模组。

(5)安装模组

# make modules_install

# depmod -a

生成模组间的依赖关系,以便modprobe定位。

(6)使用新模组

# cp Systemmap /boot/Systemmap-2420-LVS

# rm /boot/Systemmap

# ln -s /boot/Systemmap-2420-LVS /boot/Systemmap

# cp arch/i386/boot/bzImage /boot/vmlinuz-2420-LVS

# rm /boot/vmlinuz

# ln -s /boot/vmlinuz-2420-LVS /boot/vmlinuz

# new-kernel-pkg --install --mkinitrd --depmod 2420-LVS

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

(7)修改GRUB,以新的核心启动

执行完new-kernel-pkg命令后,GRUB的设置文件/etc/grubconf中已经增加了新核心的

启动项,这正是开始安装Linux时推荐使用GRUB做引导程序的原因。

grubconf中新增内容如下:

title Red Hat Linux (2420-LVS)

root (hd0,0)

kernel /boot/vmlinuz-2420LVS ro root=LABEL=/

initrd /boot/initrd-2420LVSimg

将Kernel项中的root=LABEL=/改成 root=/dev/sda1 (这里的/dev/sda1是笔者Linux的根

分区,读者可根据自己的情况进行不同设置)。

保存修改后,重新启动系统:

# reboot

系统启动后,在GRUB的界面上会出现Red Hat Linux(2420-LVS)项。这就是刚才编译的

支持LVS的新核心,选择此项启动,看看启动过程是否有错误发生。如果正常启动,ipvs

将作为模块加载。同时应该注意到,用LVS的内核启动后在/proc目录中新增了一些文件,

比如/proc/sys/net/ipv4/vs/。

11安装IP虚拟服务器软件ipvsadm

用支持LVS的内核启动后,即可安装IP虚拟服务器软件ipvsadm了。用户可以用tar包或

RPM 包安装,tar 包可以从以下地址http://wwwlinuxvirtualserverorg/software/kernel-

24/ipvsadm-121targz 下载进行安装。

这里采用源RPM包来进行安装:

# wget http://wwwlinuxvirtualserverorg/software/kernel-24/ipvsadm-121-7srcrpm

# rpmbuild --rebuild ipvsadm-121-7srcrpm

# rpm -ivh /usr/src/redhat/RPMS/i386/ipvsadm-121-7i386rpm

注意:高版本的rpm命令去掉了--rebuild这个参数选项,但提供了一个rpmbuild命令来实

现它。这一点和以前在Red Hat 62中以rpm—rebuild XXXsrcrpm来安装源RPM包的习

惯做法有所不同。

安装完,执行ipvsadm命令,应该有类似如下的信息出现:

# ipvsadm

中科红旗linux技术支持服务中心---西安站 http://linuxxabaccn

中国科学院西安网络中心 中科红旗linux培训认证中心

IP Virtual Server version 109 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

出现类似以上信息,表明支持LVS 的内核和配置工具ipvsadm 已完全安装,这台

Director机器已经初步安装完成,已具备构架各种方式的集群的条件。

实例

理解了上述关于请求转发方式和调度算法的基本概念后,就可以运用LVS来具体实现

几种不同方式的负载均衡的集群系统。LVS的配置是通过前面所安装的IP虚拟服务器软件

ipvsadm来实现的。ipvsadm与LVS的关系类似于iptables和NetFilter的关系,前者只是

一个建立和修改规则的工具,这些命令的作用在系统重新启动后就消失了,所以应该将这

些命令写到一个脚本里,然后让它在系统启动后自动执行。网上有不少配置LVS的工具,

有的甚至可以自动生成脚本。但是自己手工编写有助于更深入地了解,所以本文的安装没

有利用其它第三方提供的脚本,而是纯粹使用ipvsadm命令来配置。

下面就介绍一下如何配置LVS/NAT、LVS/TUN、LVS/DR方式的负载均衡集群。

1设定LVS/NAT方式的负载均衡集群

NAT是指Network Address Translation,它的转发流程是:Director机器收到外界请求,

改写数据包的目标地址,按相应的调度算法将其发送到相应Real Server上,Real Server

处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Dire

集群技术的出现和IA架构服务器的快速发展为社会的需求提供了新的选择。它价格低廉,易于使用和维护,而且采用集群技术可以构造超级计算机,其超强的处理能力可以取代价格昂贵的中大型机,为行业的高端应用开辟了新的方向。

集群技术是一种相对较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益。

21世纪,在世界各地正在运行的超级计算机中,有许多都是采用集群技术来实现的。

集群是由一些互相连接在一起的计算机构成的一个并行或分布式系统。这些计算机一起工作并运行一系列共同的应用程序,同时,为用户和应用程序提供单一的系统映射。从外部来看,它们仅仅是一个系统,对外提供统一的服务。集群内的计算机物理上通过电缆连接,程序上则通过集群软件连接。这些连接允许计算机使用故障应急与负载平衡功能,而故障应急与负载平衡功能在单机上是不可能实现的。

服务器集群系统通俗地讲就是把多台服务器通过快速通信链路连接起来,从外部看来,这些服务器就像一台服务器在工作,而对内来说,外面来的负载通过一定的机制动态地分配到这些节点机中去,从而达到超级服务器才有的高性能、高可用。

集群的优点

高可伸缩性:服务器集群具有很强的可伸缩性。随着需求和负荷的增长,可以向集群系统添加更多的服务器。在这样的配置中,可以有多台服务器执行相同的应用和数据库操作。

高可用性:高可用性是指,在不需要操作者干预的情况下,防止系统发生故障或从故障中自动恢复的能力。通过把故障服务器上的应用程序转移到备份服务器上运行,集群系统能够把正常运行时间提高到大于999%,大大减少服务器和应用程序的停机时间。

高可管理性:系统管理员可以从远程管理一个、甚至一组集群,就好象在单机系统中一样。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 服务器集群的集群服务的状态

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情