联想SureHA Cluster高可用软件技术资料.docx
《联想SureHA Cluster高可用软件技术资料.docx》由会员分享,可在线阅读,更多相关《联想SureHA Cluster高可用软件技术资料.docx(13页珍藏版)》请在冰豆网上搜索。
联想SureHACluster高可用软件技术资料
联想SureHACluster高可用软件介绍
1.集群系统的概要
现在的计算机社会中,持续的提供不停止的服务已经成为通往成功的关键。
例如仅由于1台机器故障或超负荷而宕机就导致对客户的服务全面停止。
这样的话,不但会带来莫大的损失,还会失去客户的信任。
随着集群系统的导入,发生意外事故时会将系统停止时间(宕机时间)降低到最小限度、使负载均衡,提高其可用性。
所谓集群,有“集团”、“团”的意思,顾名思义是“将多个计算机汇集成一群(或者多群),谋求提升可靠性及处理性能的系统”。
集群系统有多个种类,可分为下列3种。
其中,SureHA属于HighAvailability集群。
◆高可用(HA)集群
是平时作为当前服务器作业,在当前服务器发生故障时将业务交接到待机服务器的集群。
是以高可用性为目的的集群。
包括共享磁盘型、镜像磁盘型。
◆负载均衡集群
是将客户端的请求遵从恰当的负荷均衡原则分配给各节点的集群。
是以高可测量性为目的的集群、一般无法进行数据交接。
包括loadbalance集群、并列数据库集群。
◆HPC(HighPerformanceComputing)集群
是指计算量非常大的集群。
是为使用超级计算机执行单一业务的集群。
使用所有节点的CPU来执行单一业务的网格计算技术近年来已成为热点。
1.1.高可用(HA)集群
一般提升系统可用性时,会认为对构成系统的组件进行冗余化,消除SinglePointofFailure是重要的。
所谓SinglePointofFailure指的是计算机的构成要素(硬件的组件)因为只有一个,所以该处发生故障时会有使业务停止的弱点。
所谓HA集群是使用多台节点进行冗余化操作、将系统停止时间控制在最小限度,提升业务可用性(availability)的集群系统。
某些骨干业务系统等的宕机会给业务带来很大影响,因此此类系统不允许停止,需要导入HA集群。
图11HA集群构成图
HA集群可分为共享磁盘型和镜像磁盘型。
以下开始逐一进行说明。
1.1.1.共享磁盘型
集群系统中服务器间必须要交接数据。
将这些数据从多个服务器放到象以SAN连接的FibreChannel磁盘阵列装置这样可以访问的外置磁盘(共享磁盘)上,通过该磁盘在服务器间交接数据即称为共享磁盘型集群系统。
运行业务应用程序的服务器(当前服务器)发生故障时,集群系统查出故障并在交接业务的服务器(待机服务器)中自动运行业务应用程序,交接业务。
这称为失效切换。
集群系统交接的业务由磁盘、IP地址、应用程序等资源构成。
在没有集群化的系统中使用其它服务器重启应用程序时,客户端必须再次连接不同的IP地址。
但是多数的集群系统里不是以业务为单位给服务器分配IP,而是分配其他网络的IP地址(虚拟IP地址)。
因此客户端没必要去区分正在执行业务的是当前服务器还是待机服务器,如同连接同一个服务器一样,可以持续的运行业务。
由于当前服务器宕机发生失效切换时,共享磁盘上的数据没有进行妥当的结束处理就交接给待机服务器。
因此待机服务器中有必要对交接的数据进行逻辑检查。
这与一般未集群化的系统宕机后重启时进行的处理是一样的。
例如,如果是数据库就需要回滚及前滚的处理。
由此客户端仅运行未提交的SQL文就可以继续业务。
故障发生后,被查出故障的服务器经过物理隔离修复后、只要连接集群系统就可以作为待机服务器恢复运行。
重视业务连续性的实际操作中,也可以不进行组的故障恢复。
如果必须要在原来的服务器上运行业务时,请移动组。
1.1.2.镜像磁盘型
上述共享磁盘型适用于大规模系统,但共享磁盘大体价格较高因此构筑系统的成本也会增大。
于是,不使用共享磁盘,而是通过将各服务器磁盘在服务器间建立镜像,可以以更低的价格实现相同功能,这类集群系统称为镜像磁盘型集群系统。
但是,由于需要在服务器间为数据建立镜像,因此不适用于需要大量数据的大规模系统。
应用程序一发出Write请求,数据镜像引擎就会在本地磁盘上写入数据。
写入的数据通过心跳线也会给待机服务器分配Write要求。
所谓心跳线是连接在服务器之间的电缆,在集群系统中用于服务器的死活监视。
镜像磁盘型中除死活监视外还用于数据的传送。
待机服务器的数据镜像引擎通过将接收的数据写入待机服务器的本地磁盘中,使当前服务器和待机服务器间的数据实现同步。
对于应用程序发出的Read请求,仅从当前服务器的磁盘中读取。
图14数据镜像的结构
快照备份就是使用数据镜像的例子。
因镜像磁盘型的集群系统在2个地方持有共享数据,只需将待机服务器从集群分离,即可作为快照备份来保存数据。
HA集群的机制和问题点
下面就集群的实现和问题点进行说明。
1.2.系统构成
根据运行形态可以将失效切换型集群分为下列几类。
单向待机集群
将一方的服务器作为当前服务器作业、另一方的服务器作为待机服务器不进行作业的运行形态。
可以以最简单的运行形态构建失效切换后没有性能下降的高可用性系统。
图16单向待机集群
双向待机集群
是使多种业务应用程序在不同的服务器上运行并互相待机的运行形态。
失效切换时在一台服务器上将运行多个业务应用程序,因此必须使这些应用程序可以共存。
可以构筑以业务为单位的负荷均衡系统。
图18不同应用程序双向待机集群
N服务器+M业务结构
应用以上的结构,可以扩展到使用更多的节点。
下图是在3台服务器上运行3种业务,一旦发生问题时向1台待机服务器交接该业务的结构。
在单向待机中正常时待机服务器不进行任何业务,因此闲置的资源比率为1/2。
但是这种结构闲置的资源比率为1/4,可以降低成本。
另外如果有1台服务器发生异常,也不会降低性能。
图19N+M结构
2.联想SureHA高可用产品介绍
联想SureHA高可用就是通过冗余化(集群化)的系统结构,当前服务器发生故障时,自动用待机服务器交接业务的软件,该软件实现了系统可用性和扩展性的飞越性的提高。
2.1.联想SureHA的产品结构
联想SureHA可以大致分为3个模块。
◆SureHAServer
是SureHA的主体。
安装在构成集群系统的各服务器上。
在Server中包含了所有SureHA的高可用性功能。
另外,也包含WebManager以及Builder的服务器端的功能。
◆SureHAXWebManager(WebManager)
是进行SureHA操作管理的管理工具。
以Web浏览器作为用户界面。
实体嵌入在SureHAServer中,但操作是在管理终端的Web浏览器上进行,这点与SureHAServer不同。
◆SureHAXBuilder(Builder)
是创建SureHA配置信息的工具。
与WebManager相同,使用Web浏览器作为用户界面。
使用Builder的终端上,有不与SureHAServer一起安装使用的脱机版和通过WebManager安装的、包含在SureHA本体内的联机版。
通常不需要安装,只有脱机使用时才需要另外进行安装。
2.2.联想SureHA的软件配置
SureHA的软件构成如下图所示。
在构成集群的服务器上安装“SureHAServer(SureHA主体)”。
WebManager以及Builder的本体功能包含在SureHAServer内,因此无需另外安装。
但是在不能访问SureHAServer的环境中使用Builder时,需要在PC上安装脱机版Builder。
WebManager以及Builder除了使用管理PC上的Web浏览器,也可以使用构成集群的各服务器上的Web浏览器。
图21SureHA的软件构成
注:
JRE是指JavaRuntimeEnvironment。
3.SureHA工作原理
3.1.故障监视原理
在SureHA中通过执行服务器监视、业务监视、内部监视3个监视任务,可以迅速确切地查出故障。
以下介绍这些监视的详细内容。
3.1.1.服务器监视
服务器监视是失效切换型集群系统中最基本的监视功能,用于监视配置集群的服务器是否中断。
SureHA是为了服务器监视,定期在各服务器之间进行生存确认。
该生存确认称为心跳确认。
心跳确认通过以下通信线路进行。
◆私网
在失效切换型集群专用的通信线路上,使用普通的EthernetNIC。
除了确认心跳,还可以用于服务器之间的信息交换。
◆公网
作为备用心跳线,使用与客户端进行通信的通信线路。
只要是能够使用TCP/IP的NIC即可。
除了确认心跳,还可以用于服务器之间的信息交换。
◆共享磁盘
在连接到配置失效切换型集群的所有服务器上的磁盘中,创建SureHA专用分区(Cluster分区),在Cluster分区上进行心跳确认。
◆COM端口
通过COM端口在配置失效切换型集群的各个服务器之间进行心跳通信,确认其他服务器的生存。
使用这些通信路径能够大幅度提高服务器间通信的可靠性,防止网络分区症状的发生。
注:
网络分区解析资源(Sprit-brain-syndrome):
集群服务器之间所有的通信线路均发生故障,造成网络性中断的状态。
在不能对应网络分区解析资源的集群系统中,不能区分通信线路故障和服务器故障,多个服务器同时访问同一资源,就可能造成数据损坏。
3.1.2.业务监视
所谓业务监视是对业务应用程序本身,以及使业务陷入无法执行状态的故障主要原因进行监视的功能。
◆按照监视选项对应用程序/协议的停止/结果异常进行监视
虽然需要另外购买License,但是可以监视数据库应用程序(Oracle,DB2等)、协议(FTP,HTTP等)、应用程序服务器(Websphere,Weblogic等)的停止/结果异常。
◆应用程序的死活监视
可以通过启动应用程序用的资源(称为应用程序资源、服务器资源)来启动、通过监视用资源(称为应用程序监视资源、服务器监视资源)定期地确认进程的生存状况。
业务停止的主要原因是业务应用程序的异常结束时是有效。
◆资源的监视
根据SureHA的监视资源,可以实现对集群资源(磁盘分区、IP地址等)以及公网状态的监视。
可对业务运行所需资源中发生的异常进行监视。
3.1.3.内部监视
所谓内部监视是SureHA内部模块间的互相监视。
监视SureHA各监视功能的正常运行。
下列监视在SureHA内部进行。
◆SureHA进程的死活监视
3.2.失效切换的原理
一旦查出其他服务器的心跳中断,SureHA将在开始失效切换前判断是服务器的故障还是网络分区症状。
然后,在正常的服务器上激活各种资源,启动业务应用程序来执行失效切换。
这时,同时移动的资源的集合称为失效切换组。
失效切换组从使用者的角度看,可认为是虚拟计算机。
注:
在集群系统中,通过在正常的节点上重启应用程序来执行失效切换。
因此,应用程序在内存上存放的执行状态无法失效切换。
从发生故障到失效切换结束根据业务的不同切换时间会有所不同。
以下是时间表。
图22失效切换的时间表
◆心跳超时
•执行业务的服务器发生故障后,直至待机服务器查出该故障为止的时间。
•考虑到业务负荷等导致的延迟,调整集群属性的设置值。
(默认值为30秒。
)
◆网络分区解析
•是为了确认对方服务器的心跳的中断(心跳超时)是由于网络分区症状引起还是实际上对方服务器发生故障引起的所需时间。
•将网络分区方式指定为共享磁盘方式时,考虑到磁盘I/O的延迟所需的等待时间,默认值要设置为30秒~60秒左右。
这个时间随着访问CLUSTER分区的时间和心跳超时值等的变化而变化。
而其它方式时,通常是瞬间完成确认。
◆各种资源的激活
•激活业务所需资源所用的时间。
•按照一般的设置只需几秒即可激活,但激活时间也会根据登录到失效切换组上的资源的种类和数量发生变化。
◆应用程序的恢复处理/重启
•启动业务所用的应用程序所需时间。
4.SureHA的运行环境
4.1.硬件运行环境
SureHA在以下结构的服务器上运行。
◆IA32(Window/Linux)
◆x86_64(Window/Linux)
◆IA64(Linux)
◆PPC64(Linux)
所需规格
SureHAServer所需要的规格如下。
◆RS-232C端口1个(构建3节点以上的集群时不需要)
◆Ethernet端口2个以上
◆共享磁盘、镜像用磁盘或者镜像用空分区(使用镜像磁盘时)
4.2.
软件运行环境
支持OS
SureHA支持以下OS。
OS类型
支持范围
Windows
MicrosoftWindowsServer2008R2Standard
MicrosoftWindowsServer2008R2Enterprise
MicrosoftWindowsServer2008Standard(x86/x64)
MicrosoftWindowsServer2008Enterprise(x86/x64)
MicrosoftWindowsServer2003,StandardEditionR2(x86/x64)
MicrosoftWindowsServer2003,EnterpriseEditionR2(x86/x64)
MicrosoftWindowsServer2003,StandardEdition(x86/x64)
MicrosoftWindowsServer2003,EnterpriseEdition(x86/x64)
Linux
Turbolinux11/11.1
RedHatEL4.5/4.6/4.7/4.8/5.1/5.2/5.3/5.4
AsianuxServer2.2/2.3/2.4/3/3.1/3.2
SUSELINUXES10.1/10.2/10.3/11
VMwareESXServer3.5(update2)/vSphere4
XenServer5.5
CentOS4.5/4.6/4.7/4.8/5.1/5.2/5.3/5.4
所需内存容量和磁盘容量
所需内存容量
所需磁盘容量
备注
用户模式
Kernel模式
安装后
操作时最大
IA32
110MB
64MB+
25MB
650MB
4MB×镜像资源数
X86_64
190MB
64MB+
40MB
650MB
4MB×镜像资源数
IA64
80MB
-
30MB
400MB
ppc64
64MB
-
24MB
400MB
支持的部分主流应用程序
Windows
Linux
数据库
服务器
SQLServer2000/2005/2008
MySQL
Oracle9i/10g/11g
DB2
PowerGres
Oracle9i/10g/11g
DB2V9.1/V9.5/V9.7
PostgreSQL8.1/8.2/8.3/8.4
PowerGresV3/4/5/6/7
MySQL5.0/5.1/5.4
Sybase12.5/15.0
Internet
服务器
MicrosoftIIS
Apache
Tomcat5/6
Apache2.0/2.2
Tomcat5/6
邮件
服务器
MicrosoftExchange
LotusDomino
Sendmail8.13/8.14
LotusDomino
应用
服务器
OracleAS10g
Tuxedo9.1/10
WebLogicServer9.2/10.0
Websphere6.1
OracleAS10gR3
Tuxedo9.1/10.0
WebLogic9.2/10.0
WebSphere6.1/7.0
JRun4、JBoss