一、UNIX平台双机容错系统需求分析及概念简介
容错系统与集群系统是两个被经常混淆的系统,这两种系统实际是两个相交的子集。以下先对集群系统和容错系统做简单的的描述:
1. 集群系统与容错系统
集群系统的定义:
应用程序可以透明访问的、均衡负载的、双机或多机系统就是集群系统(Clustering)。
集群系统是为适应已有的主机不能适应用户不断扩大的业务负荷而出现的,用户在过去只能选择更高性能的主机而放弃现有的工作主机,为保护用户的投资,集群系统在原有的主机基础上再增加一台或多台主机,由若干台主机共同负载业务负荷。同时这种方案由于有两台或多台主机共同工作,任何一台的故障均不影响用户的工作,因此集群系统在一定程度上也可以对主机本身进行容错。集群方案的设计典型地如下图所示:
图中MC HUB为高速内存通道,用于多台主机间的数据通讯,主机间通过一个共享存储设备来保证数据的一致性。
容错系统的定义能够对系统中的软件和硬件故障作出相应处理,以保证整个系统能够不因这些故障而导致业务处理中断,从而将因为可能的软件以及硬件故障给整个系统带来的风险将至最低。
具备此种能力的系统即为容错系统。
容错系统设计的一个基本原则是冗余,有两种基本冗余方案:冗余的硬件和冗余的数据存储。冗余的代价往往是资金和时间,例如冗余的硬件会增加用户的设备投资、占据更大的空间、消耗更多的电、系统运行速度会减慢等。因此设计者往往需根据用户的实际可靠性与可用性的要求选择不同的冗余方案。
许多容错技术要求使用专用的硬件或软件,更多的是二者结合。这也取决于系统的需求:硬件的容错方案往往系统运行速度较快但投资规模较大,软件容错方案可能占用系统开销,但比硬件方案更灵活,尤其是在系统已经建立起来之后,并且投资小。
表述一个系统容错能力的两个常用指标是可靠性(Reliability)和可用性(Availability)。可靠性指一个系统在一定时间内工作时发生故障的可能性。如一个系统一年内的可靠性为99.99%意味者系统一年中工作时失败的概率为0.0001%。可用性指一个系统故障中断工作时间与可持续工作时间的比
率。如一个系统的可用性为 99.99%意味者在一万小时的工作中将有一个小时的故障中断时间。请注意任何一个高可用性的系统都无法避免故障,因此故障恢复的时间和故障的频率必须足够小以获得需要的可用性。高可靠性和高可用性的系统对于许多应用如军事、航天、金融、通信、交通等领域很重要,因为每一分钟的工作中断都会导致经济或生命的重大损失。
和可用性相比更具体有效的系统容错性能指标是年均工作中断时间。大多数用户喜欢他们的系统99%的可用,如果这个系统一年工作时间为365天,那么因系统故障引起的工作中断时间为5256分钟,在乘上每分钟因工作中断而导致的经济损失,这个指标很容易换算成可能的经济损失。据IEEE计算机组织最新研究报告,计算机系统一般的故障停工时间为每年500-5000分钟,而很多系统都远远超过了这个标准。
2. 集群计算系统与容错系统的关系
集群系统是为解决多机共同负载用户应用的负荷而设计的,虽然提高了系统的可靠性和可用性,但并不一定是一个好的容错系统;而容错系统就是为保证系统高可靠性和高可用性而设计的,设计的思路便是通过尽可能的冗余而不是共享,来避免可能的故障瓶颈。当然在此基础上双机或多机系统如能作到负载平衡是最好的。集群计算是容错技术在首先保持其高可靠性、高可用性设计之后所要达到的最高境界。
二、LongerHA双机容错系统概述
随着计算机技术的发展,PC服务器的处理能力更加强大,同时其性能/价格也越
来越高,加上传统的小型机由于维护和升级困难,费用高,正受到PC服务器的挑战。因此,基于PC服务器的“低端”系统正日益受到用户的喜爱。但同时,由于 PC服务器的安全性因素,基于该平台业务系统的安全,稳定可靠和系统的持续运行成为系统的关键,因此,基于低端服务器的双机热备份系统受到越来越多的欢迎。
性能、价格和可靠性是企业电脑化过程中人们普遍关心的三大要素。目前,国内许多行业和企业在电脑化的过程中,都选用了价格低廉而性能高效的开放系统平台。这种系统平台给用户带来性能价格比的优势的同时,由于系统的复杂性和开放性以及应用环境的多样化,也给应用系统的运行带来了许多不确定因素。这些因素对于可靠性不很高的计算机应用系统来说,犹如雪上加霜,严重威胁着应用系统稳定有效地运行,有时甚至会引发系统的瘫痪。
在一般情况下,当系统不能正常运行时,我们需要用人工的方法进行故障的认定、分析、恢复及测试。这些都需要花费很长的时间。在这段时间内,系统必须停顿
下来以等待恢复,从而给企业带来难以估计的经济损失。
双机热备份是计算机应用系统稳定、可靠、有效、持续运行的重要保证。随着在国内各行业中计算机的日益普及和推广,建立在PC服务器为主机,SCO UNIX硬软平台的双机热备份系统是用户关键业务系统运行的保证。
我公司开发的LongerHA软件,是一个高可靠性的容错系统,它通过系统冗余的方法解决计算机应用系统的可靠性问题,并具有安装维护简单、稳定可靠、监测直观等优点。当一台主机出现故障,该软件可及时启动另一台主机接替原主机的任务 ,保证了用户数据的可靠性和系统的持续运行。
几个相关基本概念
1)、partition(分区):通常指硬盘的物理分区,如在普通IDE硬盘上分三个区:
DOS、UNIX、UNIX,这三个分区称为Partition。
2)、division(分区):在SCO Openserver中是代表使用divvy进行分区时,建
立的数据区域,用于建立文件系统、交换区(SWAP)或裸设备(Raw Device)。
Unixware中又称为Slice。
3)、file system(文件系统):UNIX中文件存储通常通过文件系统实现,不同类
型unix又有不同的文件系统类型,如通常的Openserver的HTFS、AFS,Unixware7
的Vxfs、UFS,Linux的Extfs、Ext2fs等。
4)、device(设备):通常指硬件存储设备,unix系统中对设备的访问是通过相对
应的设备文件实现的。如Openserver中的/dev/hd0、/de/hd01,SCO Unixware7中的/dev/dsk/cxbxtxdxpx、/dev/dsk/cxbxtxdxsx,Turbo Linux中的/dev/had、/dev/hda4。
5)“failover”:意思是资源从一计算机切换至另一计算机。被切换的资源可以包含下列所指的任意的或全部的项目:运行的程序、IP地址、终端及其它可切换的设备。“failover”是这样一种概念:在一台机器上运行的上述项目切换到另外机器上。
6)“switch” :意指相关的资源通过手工强制切换到另外的机器上。
7)“program”和“process”:最简单的理解是如果使用“vi”编辑器可以编辑、
察看其内容,那么你所使用的是一程序;如果正在运行一shell脚本,那么所指的就是进程,进程是一个动态的概念,程序在unix上运行时,在系统中是以进程体现的。
8)“cluster(群集)”:群集是一个复杂的概念,简单的可以描述为:
多台机器的集合,运行一个或多个应用,从外面看如同只有一台机器在运行。这里实现的群集应该是实现较为低级的群集功能,由LongerHA软件作为一整体而控制的两台计算机,当第一台计算机的某方面出现问题时资源可以自动地进行切换。“群集”指的是逻辑上连接的两计算机。
9)、主从方式:也是通常所说的PRIMARY/STANDBY方式,即两台机器配置为一台生
产机、另外一台是备份机,当生产机宕机,备份机接管生产机作业。这种方式通常要求系统运行一个应用,并且一台机器有足够的处理能力。当然,在系统运行
中,备份机还是可以执行业务以外的任务,如开发应用,数据备份等。这是最常用的工作方式。
10)、对等方式:是通常所说的ACTIVE/ACTIVE方式,即在系统工作时,两台机器同
时运行不同的作业,当其中一台宕机,其运行的作业由另外一台接管,保证系统的不间断运行。这种工作方式可以有效的利用硬件资源,但也为系统管理带来不便,同时要求两台机器运行的作业在存储访问上是完全独立的,它们不能共享(同时访问)同一个磁盘柜分区。这种工作方式只有象DEC TrueCluster、HP MC/Lock manager等操作系统和硬件支持的高级群集技术才能实现。
三、LongerHA系统原理
LongerHA双机容错系统是一个运行于SCO OpenServer5、SCO Unixware7及Linux环境下,由LongerHA系统监控软件、具有双路主机SCSI接口或光纤接口的容错磁盘阵列以及RS232和 Ethernet监测线路所组成的高可靠性双机容错系统, 它保证了数据的可靠性和系统运行的可靠性。其工作原理如下:
在两台主机上可以分别运行应用系统的不同子集,当某台主机上的应用系统子集不能正常工作时,在不中断应用系统正常运行的情况下,
不需人工干预,另一台主机通过RS232、共享分区和Ethernet连接,自动检测出错误,并快速地将原主机的应用系统作业切换到另一台主机上继续运行。从而,保证了主机系统运行不间断。
LongerHA的有机组成部分 —— 容错磁盘阵列具双路主机SCSI接口,使两台主机能够同时访问共享磁盘阵列,为应用系统作业能够在主机间不断地切换提供了基础;同时,它的磁盘阵列功能保证了共享资源的数据可靠性。
四、LongerHA 工作原理
1、 服务进程:
双服务器采用TCP/IP网络协议(ethernet、,串口slip)进行通讯,服务进程连接双机后对client-server结构的网络用户透明。服务进程包括网络服务和数据库服务。
网络服务:由监控进程daemon为用户提供一个逻辑的IP地址,任一用户只要用该地址连接就能得到相应的服务,当后台工作服务器出现故障时,另一台服务器的监控进程会自动将自己的IP地址切换为工作地址,而原工作服务器的IP地址被屏蔽掉。这样,用户一端的网络始终有一台工作服务器可保持连接。
数据库服务:当工作服务器出现故障时,通常会自动关闭数据库,卸载相应的文件系统,另一台服务器接管其任务,启动数据库和应用程序,使用户数据库可继续操作,对用户而言不受影响。
2、 监控原理:
LongerHA监控程序含有网络心跳侦测、SCSI 心跳侦测、网络参考点侦测和关键进程监控等。
网络心跳侦测:守护进程始终在后台监控网络的运行状态,并确定心跳线路,心跳线路的优先级为Rs232的Slip、SERVER A 的网络、SERVER B 的网络,在某一线路不通时,自动寻找下一线路。当所有网络心跳都不通时,若配有SCSI侦测,则选用SCSI为心跳路径。这样,在多种心跳线路可选择的环境下,可确保系统的运行正常,以防出现双主机状态,造成系统的不稳定。
网络参考点的侦测:当守护进程侦测到网络不通时,会检查参考点的通路,若自身与参考点相通,说明对方网络有问题,若自身与参考点不通,则说明自身网络有问题,此时发生切换;采用该模式,可防止工作机与外界网络不通时,任务不切换,或出现双主机现象。
SCSI侦测:对某一服务器而言,将本机的工作状态、存活信息等写入scsi裸分区,当所有的网络心跳都不存在时,会通过该信息监测对方是否存活及工作状态,在切换时还可通过该设备作最后的通讯线路传输控制命令。当SCSI监控对方不通时,还通过网络判断对方是否为SCSI故障,若为SCSI故障,则发生相应任务切换。
关键进程监控:各种数据库或应用系统的关键进程不能丢失,运行业务的主机监测不到关键进程时会重新启动任务,在三次重启任务后仍监测不到进程,则自动发生
切换,另一台主机立即接管任务。
3 、 加锁机制:
在某一台主机为工作机时,通过加锁机制,只要有心跳线路存在,对方就不能接管任务而启动为工作机,这样确保只有一个工作地址存在,避免双主机现象,也保证了系统的安全运行。
另外采用该机制可使系统切换在最短时间内完成,从而使系统高效运行。
五、LongerHA双机热备份系统的组成
LongerHA采用两套UNIX系统主机,两台主机具有相同的应用系统所需的环境(操作系统、网络、数据库等)。两台主机都与容错磁盘阵列连接。LongerHA的系统组成如下:
l 两套相同版本的UNIX/LINUX系统主机;
l 具有双路主机SCSI接口的容错磁盘阵列;
l RS232接口及标准连接;
l Ethernet网卡及连接;
l LongerHA软件
具有双路主机SCSI接口的容错磁盘阵列
高可靠性
容错磁盘阵列的内部电子部件都是两套互为备份;同时它支持RAID 0、1、3和5。
支持两台主机同时访问
容错磁盘阵列的双路主机SCSI接口,保证了后援主机在后援切换后能够访问共享磁盘阵列,为应用系统作业能够在主机不中断地切换提供了基础。
在线维护
当容错磁盘阵列中的任一磁盘或电源发生故障时,容错磁盘阵列都会由磁盘显示灯和铃声报警。此时,用户可以在不关机的情况下,在线更换磁盘或电源。
六、LongerHA系统的性能
LongerHA的监控线路可使用RS232连接、Ethernet和共享分区连接三种线路。在RS232连接正常连通的情况下,系统监控软件通过 RS232连接进行监视和切换工作。在RS232连接不能正常连通时,系统监控软件通过Ethernet连接或共享分区进行监视和切换工作。
l 多种方式自动监测系统状态,安全可靠
LongerHA可通过RS232连接、共享分区和Ethernet连接三条监测线路监视主机的运行情况。当主机的操作系统、网络、数据库及应用系统不能正常运行时,LongerHA能够自动快速地侦测到主机的故障状态。
LongerHA系统监控机采用网络参考点方式监控,若监测不到运行主机,则通过网络参考点来判断是否切换,以保证切换的正确性。
当某台主机处于非正常状态时,另一台主机将自动监测到这种状态,自动地完成后援切换,后援切换不中断信息系统的正常运行。以上工作系统全部自动完成,完全不用人工干预。
l 占用极少系统资源
LongerHA在运行状态下,仅发送、接受主机运行状态信息,几乎对网络不构成影响,同时,仅占用极少的内存和CPU资源。
l 采用加锁机制,确保系统安全切换
系统采用多路组合逻辑判断主机运行状态,在任何情况下不会发生误切换或双主机状态出现。
l 支持多种存储方式
支持应用系统或数据库使用的文件系统或字符设备。
l 支持光纤通道存储设备
l 灵活的工作方式
工作方式可以根据用户业务应用的实际需求进行配置,分为主从和对等工作方式。
主从方式:一台主机支持应用系统的运行,另一台后援主机处于等待运行状态,后援主机监视应用系统的运行状态,一旦应用系统不能正常运行,后援主机主动接管应用系统,并使之继续运行;
对等方式:应用系统的不同子集分别运行在两台主机上,两台主机分别监视对方的运行状态;一旦一台主机上的应用系统不能正常运行,另一台主机主动接管故障主机上的应用系统作业,并使其继续运行。对等方式可以分散应用系统的作业,提高系统效率,有效地利用系统资源。
l 支持多网卡
支持两块以上网卡作为网关或路由的主机配置。
l 系统安装配置简单、监控界面直观明了
采用形象的图表显示系统运行状态和管理配置界面,使用户不需进行专业培训也可以完成配置、管理工作。
l 完整的日志和错误报警
LongerHA提供系统形象的管理界面,它能够实时显示系统运行状态,还能够通过菜单进行主机间的切换管理。用户可自行打开此窗口以进行系统管理操作。当某台主机或系统处于非正常状态,LongerHA还将响铃报警并将错误信息写入出错日志中,用户可以通过系统管理界面和操作系统的显示或编辑命令查看出错日志。
l 灵活的作业脚本编制
用户可以根据应用系统的情况,编制相应的作业环境设置或应用监控信息脚本。
l 独有的安全机制
七、LongerHA系统的功能
LongerHA将两台服务器和磁盘存储系统组合成一个高可用系统,当主机发生如下故障,备机能侦测到该故障,并自动接替主机的任务,实现系统连续运行:
l 服务器硬件(如CPU、主板、内存等)故障,造成的宕机
l 软件故障(如操作系统、应用软件等)造成系统崩溃
l 存储子系统故障(SCSI卡、光纤连线等)
l 网络失效(网卡损坏、网线脱落等)
l 关键进程丢失
八、LongerHA适用于的软、硬件平台
硬件平台
· 主机: Intel系列PC服务器
· 磁盘柜:双主机SCSI通道的磁盘容错阵列柜或光纤通道的磁盘阵列存储子系统以太网卡:10M、100M多路路由器、集线器
软件平台
· 操作系统
※ SCO Openserver5
※ SCO UnixWare 7
※ Turbo Linux
※ NT4/Windows2000
· 数据库: Oracle、 Sybase或Informix等主流数据库。
九、版本说明
1. LongerHA 1.0 1 For SCO Openserver5支持包含SCO Openserver5.0.2、SCO
Openserver5.0.4、SCO Openserer5.0.5。操作系统需要安装的补丁:
Openserver5.0.4:RS504C、OSS601及其他硬件相关补丁(参见硬件随机手册和Openserver5.0.4安装说明。
Openserver5.0.5:RS505A、OSS600及其他硬件相关补丁(参见硬件随机手册和Openserver5.0.4安装说明。
2. LongerHA1.0.1 For SCO Unixware7支持包含SCO Unixware7.0.0、SCO
Unixware7.0.1和SCO Unixware7.1.0。
Unixware7所需补丁根据用户硬件配置及Unixware7各版本的Release Note或从WEB Site:HTTP://查找有关补丁和说明。
3. LongerHA1.0.1 For Turbo Linux支持其2.0以上Linux内核版本的Tutrbo Linux
产品,如Turbo Linux4、Turbo Linux6。
十、 系统规划
系统的规划是有效利用硬件资源、保证系统合理运行的关键。
第一步,要分析您的应用需求,选择系统的工作方式,即选择主从方式还是对等方式(两种工作方式的说明参见Release Notes部分)。
如果您原来系统是单机运行,仅为达到高可用目的,则仅需另外配置磁盘阵列柜和一台PC Server实现主从方式的工作模式即可。
如果您的系统要求增加另外的业务应用系统,并且一台机器的处理能力无法满足要求,同时又有高可用的需求,则可以购买磁盘阵列柜和一台PC Server实现对等方式即可达到目的。
第二步,选择您的硬件配置
由于LongerHA是基于操作系统上的双机管理软件,本身几乎不占用系统资源,硬件配置仅需满足应用需求即可。为节省投资,提高硬件的利用率,可以购买配置不同的机器,如主从方式下,工作机配置多CPU、大容量内存,而备份机则可以选用稍微低档的机器。因为在正常情况下,硬件出现故障的情况并非很多,即使出现故障,先由配置稍低的备份机接管工作,在生产机故障排除后,恢复工作,不会为您的系统构成影响。
根据需求,合理配置您的硬件系统十分必要,可以减少不必要的浪费。
选择一个性能优越的磁盘阵列柜十分必要。因为双机系统的关键数据是通过共享磁盘阵列系统存放的,磁盘阵列存储子系统成为系统安全的核心,建议选用稳定性好、容错能力强的磁盘阵列柜。
第三步,IP地址规划
由于通常情况下,两台服务器都具有一块以上的网卡,每块网卡都应该有一个IP地址,同时,还应该有一个漂移IP地址,该地址为工作IP地址。因此,最简单的主从方式下,双机系统要占用3个网络地址。
在分配IP地址时,要分清工作IP地址和主机自有地址。如在主从方式、单网卡的情况下,主机一地址为200.10.10.1,主机二的地址为 200.10.10.2,工作地址为200.10.10.3,正常情况下,工作主机的自有地址是被工作地址取代的(若主机一在工作,主机一的地址由 200.10.10.1变为200.10.10.3)。在发生主机切换的情况下,主机一的地址恢复为200.10.10.1、而主机二的地址会由 200.10.10.2变为200.10.10.3,这就是我们所说的地址漂移。
第四步,应用规划
应用规划主要指你的应用系统中涉及的数据库系统、应用程序在双机系统的空间分配和存储。
案例:
某用户运行应用系统是基于SCO Unixware7操作系统和ORACLE数据库,用户通过终端和客户机访问Server。我们可以这样规划该系统:
根据需求我们选择主从方式建立系统;
硬件采用一台HP LH4(双CPU、512M RAM、利用内置RAID卡对系统盘进行镜像)、另外一台采用LH3(单CPU、256M RAM)、磁盘柜用HP Storage12
用户数据存放在ORACLE数据库中,将数据库的数据文件存放在磁盘存储系统上;用户的应用程序部分也存放在磁盘存储系统上的某个分区,并且在每台机器留有备份。
阅读(451) | 评论(0) | 转发(0) |