你的位置: Kiyo'Space首页 服务器 阅读文章 欢迎留下您的足迹

NT平台双机容错热备份系统的设计和实施

[ 服务器 ] 分享
一、摘要
笔者仅仅使用国家出入境检验检疫局统一配发的2台IBM PC服务器,另外花几千元买一套SurviveIT软件,而不需要昂贵的磁盘阵列等额外的投资,就建成了一套具有高可用性的双机容错热备份系统。
本文结合湖北出入境检验检疫局的应用情况,具体阐述运用CA公司的SurviveIT软件来构造NT平台的双机容错体系。
二、双机容错方案的比较
在诸多备份手段中,双机容错系统能够提供在线数据备份、在线容错、在线修复、适时数据恢复等功能,能够保证关键业务的不间断运行。在Windows NT Server的双机热备份软件的选择中,目前比较常见的有以下几种:CA公司的SurviveIT(即ARCServeIT Replication For Windows NT的升级版)、NCR公司的LifeKeep,Octopus For Windows NT、Standby Server For Windows NT和NT自带的Cluster技术。以上产品分析比较如下:

系统名称 优点 缺点
SurviveIT ◆对打开文件的备份最为完善和安全,基本上能够做到实时备份;可以备份整个操作系统,也可以备份单个文件或文件夹;对网络负荷影响较小;操作简单,误警率低。
◆不需要磁盘阵列等额外的投资。
◆重新启动服务器后,软件会重做数据复制,时间较长。
LifeKeep ◆系统可靠性高,不会对操作系统产生影响。
◆误警率最低。
◆系统对Windows NT操作系统的支持较弱,不能备份Windows NT的操作系统。
◆只能备份硬盘卷。
Octopus ◆系统对Windows NT操作系统的支持强。
◆对打开文件备份较完善和安全。
◆切换速度快。
◆网络负荷大;稳定性差;误警率高;操作复杂。
Standby ◆对网络负荷影响较小。 ◆服务器的CPU利用率高。
Cluster ◆与NT系统紧密集成。 ◆对备份机的要求较高,要求使用磁盘阵列。

通过综合比较,我们选择了CA公司的SurviveIT。
三、SurviveIT容错软件的介绍
SurviveIT是Micrsoft Windows NT平台的服务器高可用性解决方案,它针对服务器和应用的故障提供第一级的保护,使用字节级的复制技术,实时地将选中的驱动器、卷和/或目录复制到一台从服务器上。在关键服务器发生故障,或者失去网络连接时,SurviveIT能在最短的延迟内,立即将用户转移到指定的从服务器,使关键业务在主服务器故障恢复过程中仍可以继续进行。SurviveIT最大限度地提供了数据的可用性, 从而大大减少了因服务器宕机引起的不便。
SurviveIT的工作原理:一旦定义了某项任务,SurviveIT会将您需要保护的服务器(主服务器)和用于备用的服务器(从服务器)之间选中的驱动器、卷和/或目录同步,此后的文件改动将在改动发生的同时进行复制。如果主服务器出现故障,不论由于何种原因,SurviveIT将把客户访问转移到从服务器的文件系统上。当故障排除后,SurviveIT用这些数据来恢复主服务器,重新同步两台服务器, 继续执行对主服务器的保护。
SurviveIT的优点:SurviveIT不是复制磁盘扇区,而是文件和文件夹,这使得同步和复制更加迅速和灵活,使SurviveIT 得以提供基于文件的事务完整性;在线同步对用户是透明的,在建立服务器同步时,通常的业务可以不受干扰地继续进行;提供对共享的透明的接管;不需要磁盘阵列等专用硬件设备;SurviveIT还能够极为迅速地同步服务器,允许从服务器(在接管操作之前或之后)处理其他工作,允许用单个服务器接管多台主服务器,并且为装有SurviveIT的整个网络提供直观的单点管理。
SurviveIT全面支持CA Unicenter TNG、CA Jasmine、Lotus Notes、Microsoft Exchange、Microsoft SQL Server、Microsoft Proxy Server、Microsoft IIS、Netscape Enterprise、Oracle、Sybase等应用程序,在主、从服务器接管/恢复时,这些应用也能够被自动接管/恢复,从而保证了终端用户对关键数据的不间断存取。
四、SurviveIT双机容错方案的设计
我局网络服务器的现状如下:1台NF5500服务器(NT+Oracle 8i)是我局MIS系统的心脏,1台NF5000服务器(NT+ARCserverIT)是我局的数据备份中心。为了满足客户端CIQ2000业务软件对Oracle数据库的高可用性需求,用NF5000作为SurviveIT的从服务器来保护NF5500(作为SurviveIT的主服务器)。
下图说明了使用从服务器NF5000保护单一主服务器NF5500的配置(实际上,一台从服务器可以保护多台主服务器)。要建立这样的安装结构,系统管理员应在主、从服务器上分别安装SurviveIT(根据输入的licence number来确定primary server/secondary server的身份),并在网络中任意一台工作站上(最好就在主/从服务器上)安装 SurviveIT控制台组件。虽然要求主从服务器的处理器、内存和硬盘容量应大致相当,但无需完全一致。显然,从服务器除在发生失效后接管主服务器的工作之外,还必须具有足够的能力运行其自身工作。
本方案中,使用一根交叉双绞线进行备份数据的传输,不会影响到系统的网络速度;同时,用一根串口线(null modem cable)做为检测线,检查主用服务器是否正常工作。在主用服务器出现故障时,备用服务器在完成其自身任务的同时,可以全面接管主用服务器的工作;在主用服务器故障排除后,可以方便的恢复主服务器的正常工作。
五、SurviveIT的安装
1、根据主、从服务器各自独立的功能需求,分别安装NF5500(NT+Oracle 8i)和NF5000(NT+ARCserverIT)服务器。
2、为了保护主服务器的Oracle(是被保护的关键应用),从服务器NF5000必须有足够的硬盘空间。同时,用与主服务器相同的安装路径和相关设置在从服务器上安装Oracle 8i,以便从服务器具有与主服务器Oracle一致的oracle services、registry和文件目录结构。
3、在从服务器上把所有的oracle services的startup type都改为manual;在主服务器上修改listener.ora文件,把其中主机名(如NF5500)改为相应的IP地址(如10.42.0.1);主、从服务器上要正确设置WINS名字解析。
4、在主、从服务器上分别安装SurviveIT的所有组件,包括:Server component、Console component、Alert component、Unicenter TNG Framework component。注意:输入登录服务器的用户名和口令必须具有本地服务器管理员权限,如果该服务器位于NT域,必须输入同时具有登录本地服务器和NT域的管理员权限的帐号。
5、接下来,还需要安装从CA网站下载的SurviveIT SP1升级补丁,安装步骤同上。
六、SurviveIT的设置与使用
1、创建复制任务:完成安装后,系统管理员便可设置SurviveIT,使用复制任务向导(SurviveIT控制台程序的一部分)创建复制任务,复制任务将定义主从服务器、失效条件、各种复制设置和一项或多项工作(要复制到从服务器的主服务器文件系统的一部分)。
(1)打开SurviveIT Console主窗口,点击"新复制任务"按钮;
(2)根据提示,选择Primary server(被保护服务器),即DA420000;
(3)单击下一步,选择Secondary server,即NF5000;
(4)选择被保护服务器保护级别:Full Protection– 当SurviveIT检测到主服务器失效时,从服务器将接管失效主服务器的地位;Data Protection Only–如果SurviveIT检测到通信故障或主服务器的磁盘失效,仅仅停止数据复制,主服务器将不被接管。选择Full Protection;
(5)选择主从服务器之间网络连接速度;
(6)选择包含需要被复制文件的文件夹,选择C:\Oracle(注意:被保护的文件夹在主服务器上必须设置共享;有些系统文件和动态链接库文件(如c:\oracle\ora81\jdbc\lib、c:\oracle\ora81\dbs和所有的dll文件)由于在主、从服务器上都存在,并且是自安装后始终不变的文件,所以没有必要加入复制任务;
(7)选择上一步所选择的C:\Oracle的共享名;
(8)当任务设置一览表界面出现后,还需要通过高级选项设置当网络通信失败后执行"完全保护",因此单击"高级"按钮;在任务编辑树窗口,展开Failure Detection图标,单击Communication Failure图标;
(9)在Communication Failure窗口,需要指明SurviveIT如何确定主服务器失效。比较好的办法是让主从服务器去ping一系列附加的设备或计算机,这里选择"Obtain Failure Confirmation via alternate route"选项,在"Confirmation"选框中选择"Use list of Machines/Devices to confirm server failure",在"Machines/Devices" 选框单击增加按钮显示confirmation Machines/Devices对话框,输入缺省网关的IP地址即10.42.0.247并确定;
(10)对于Oracle数据库的应用保护,还需要设置被复制文件的目的位置,为主服务器提供备用的IP地址,添加使主服务器停止Oracle服务和从服务器开始Oracle服务的script。
(11)设置被复制文件的目的位置:因为Netfinity5500所安装的Oralce数据库程序文件在C:\oracle,用户数据文件存放在D:\Oralce和D:\data,因此还需要增加2个workload。对Workload1,选择"Destination"→"Select Alternate Destination"→"C:\","Transactional Integrity"→0;对Workload2,选择"Destination"→"Select Alternate Destination"→"D:\","Transactional Integrity"→0;对Workload3,选择"Destination"→"Select Alternate Destination"→"D:\","Transactional Integrity"→0;
(12)为主服务器提供备用的IP地址:当从服务器接管主服务器的应用后,也同时接管主服务器的网络信息(如主机名、IP地址等),而此时主服务器使用备用的IP地址和加_fail后缀的主机名,直到主服务器被恢复,目的是为了避免IP地址从突。在复制任务编辑树窗口,选择"Failover Action"→"Primary-DA420000"→"Server Identification",在此窗口中,"Server Name"使用缺省的DA420000_FAIL,同时在"Server IP Address"窗口中双击主服务器IP地址以允许IP接管,输入主服务器备用的IP地址:10.42.0.4;
(13)添加使主服务器停止Oracle服务和从服务器开始Oracle服务的script,共有8处(pre_failover_primary、post_failover_primary、pre_failover_secondary、post_failover_secondary、pre_reinstate_primary、post_reinstate_primary、pre_ reinstate_secondary、post_ reinstate_secondary),可以添加同一个script。更新后的Oracle815.cmd文件必须在主、从服务器上同时存在。根据SurviveIT提供的Oracle Template,结合所用Oracle版本的相关信息重新配置新的script:Oracle815.cmd,关键的变化如下:
set SERVICE_LIST=OracleOraHome81TNSListener
set DATABASES=Oral
(14)SurviveIT为了保证对打开文件备份的正确性、完整性,同时使用了CA Backup Agent for Open Files。但是,经摸索发现,必须把Oracle数据库的2个控制文件C:\Oracle\oradata\oral\CONTROL01.CTL和D:\Oracle\oradata\oral\CONTROL02.CTL在NF5000的打开文件备份代理控制台中设置为Ingnore(主、从服务器上这两个文件都要设为Ingnore),才能保证复制任务运行成功。
2、同步:在创建复制任务完成配置工作后,复制任务就可以启动了。它的第一项工作就是确保主从服务器文件系统的同步(更确切地说,是构成工作的主服务器文件系统的某些部分精确镜像到从服务器);现有目录结构, 文件属性和安全信息一样被精确复制,SurviveIT可以从 NTFS复制到NTFS或FAT,从FAT复制到NTFS或FAT;不过需要重点说明的是,一旦NTFS系统被复制到FAT系统,将无法保留数据的所有安全属性。
3、复制:同步完成后,主服务器将得到完全的保护。从服务器包含最新的复制文件,能够随时接管主服务器的位置。当然,主服务器文件发生更改时,更改也被立即复制到从服务器中的相应文件。由于该操作是实时的,因此即使文件正在被主服务器的应用程序打开和使用,也不必等到文件关闭后才进行更新。这种方法提供了极高级别的保护。
4、接管:在正常运行期间,SurviveIT将不断监视主服务器的状态,如果检测到符合失效接管条件的状态,从服务器将接管主服务器。在接管过程中,主服务器名改为DA420000_FAIL,IP地址改为10.42.0.4,主服务器将自动重启。在主服务器失效被从服务器接管开始到接管成功的这段时间,用户与Oracle的联系会暂时中断;在成功接管后,从服务器可按主服务器的原有名称进行连接(主服务器被给予临时的新名称,因此即使其仍在工作或被重启也不会造成冲突);从服务器可以选择接管主服务器的原有IP地址(已给予主服务器临时性的新地址以避免冲突);用户不必重启即可以继续进行正常的业务操作。
关于"失效接管条件"的说明。硬件或软件崩溃、供电中断以及网络失效等故障都会导致从服务器与主服务器永久失去联络。从服务器监视由主服务器定期发出的"心跳",如果连续发出的多个心跳从服务器都未能收到,SurviveIT则认为联络已经中断。这时它将通过主从服务器间的独立串行连接以及ping其它预设网络节点来获得更详细的信息,以确定从服务器未能收到心跳的原因是主服务器失效所致,还是仅由于从服务器自身存在问题。这些信息结合系统管理员所制定的策略将帮助SurviveIT估算出失效的严重程度,以及是否需要进行接管。例如,主服务器完全失效时必须实施接管,而从服务器方的网络问题则不需要,因为登录到主服务器的用户仍然能够与之联络。避免"误"接管是SurviveIT的一项重要而独到的功能。请注意即使不需要进行接管,失去联络也意味着必须停止复制,直到问题解决为止。
5、恢复:当主服务器已经修复并准备重新投入服务时,系统管理员将使用SurviveIT控制台提供的向导界面启动恢复进程。恢复可以立即进行,也可按预先选择的时间表进行。

没有评论

  • (Required)
  • (Required, will not be published)