莫 伟
(民航山东空中交通管理分局 山东 250014)
双机热备指的是基于高可用系统中的两台服务器的热备(或高可用)。服务器的故障可能由各种原因引起,如设备故障、操作系统故障、软件系统故障等等。一般地讲,在技术人员在现场的情况下,恢复服务器正常可能需要10分钟、几小时甚至几天。从实际经验上看,除非是简单地重启服务器,否则往往需要几个小时以上。而如果技术人员不在场,则恢复服务的时间就更长了。
(1)民航山东空管分局办公由两台服务器,一台作为ORACLE数据库服务器,一台作为WEB服务器。多年来,对于数据库的备份一直为冷备份操作,即使用GHOST软件,在晚间非工作时间进行备份,待服务器异常后,需手动还原。这种方式有很多缺点,首先在工作期间出现故障需要还原时,会连接不上服务器,从而影响分局办公,其次备份及还原时间长,往往恢复的时间长达1天,且工作量大。
(2)组成双机热备的方案主要的两种方式基于共享存储(磁盘阵列)的方式和利用数据的同步方式,保证主备服务器的数据一致性。第一种是集群,集群可能包括多台服务器。第二种是通过软件方式实现双机热备。即不采用共享的存储设备,而是数据不再单点存储,本机数据可以向多台主机做实时的数据复制。就本单位来说,问题在于如果使用WINDOWS集群服务进行双机热备,则必须使用磁盘阵列,如果使用纯软件进行双机热备,则需要大量资金购买热备软件,从而导致双机热备方案成本很高。
(1)将主服务器(双网卡)与备服务器(双网卡)使用交叉线连接起来作为心跳线。设:主机IP:10.14.128.27主机心跳:192.168.1.11备机IP:10.14.128.24备机心跳:192.168.1.12;
(2)使用互联网上免费提供的文件同步备份软件进行文件的同步;
(3)编写程序,放置在备份机上,程序的目的是实现纯软件下双服务器的热备份功能,通过心跳线通讯,探查主服务器状态,一旦主服务器故障,备机会根据心跳线通讯返回的状态自动接管主服务器应用。程序关键内容大致如下:
由于需要双机热备的是ORACLE数据库,所以拷贝正在使用中的数据库文件是个难题,正在使用中的数据库文件是无法被复制传输的,针对此问题解决方法是:据库文件.dbf等的备份,解决文件占用问题)//停用oraclehome92agent服务
(4)在计划任务中添加新任务,启动程序,日程安排选“每天”,进入高级,选中“重复任务”,每一分钟执行一次,时限9999小时59分钟。
(5)在备服务器上安装免费的同步软件,按需求设置好同步的间隔时间和执行任务的频率。
在方案完成以后,基本实现了服务器在纯软件方式下的双机热备份,将以前出现故障时,影响分局办公的平均时间1天左右降至10分钟以内,并且该方案由于不使用任何外部设备,因此成本也几乎为零,为分局节省了大量的资金,同时还将网管员从繁复的备份工作中解放出来,达到了预期的效果。
[1]刘志丹,彭建华.一种基于商用电信网络的容错技术[J].电讯技术,2009,(1):20-25.
[2]卢燕宁,耿国华.基于Cmster的多服务器容错与切换技术的研究[J].微机发展,2004,(6):28-31
[3]谢希仁.计算机网络[M].2008.01