随着以数据库为核心的计算机管理系统的普及,企业对计算机系统的依赖程度也日渐增加,数据存储技术的可靠和安全变得越来越重要,双机热备系统就是根据用户需求保证数据库安全的、高可靠性的解决方案。荆门市掇刀区在电子政务平台的建设和完善中,采用基于DM 数据库服务的双机热备解决方案,保证了数据的安全。本文就荆门市掇刀区电子政务系统中实现双机热备系统的工作原理、技术方案及成果经验等进行探讨。
1 系统需求
根据应用要求,数据库双机热备系统配置为:
a.系统基于Red flag Linux DC 5.0平台,数据库平台采用DM 5.0.6。
b.服务器双机热备为单工模式(Active/Standby)。一台服务器运行DM数据库系统,另一台服务器为备机,两台机器相互监测对方的运行状况。当一台主机宕机时,另一台主机立即接管其工作,保证工作不间断。
c.数据集中在磁盘阵列柜,磁盘柜使用RAID5技术。
d.双机容错软件选用DataWare双机容错系统,DataWare是一套提供防止业务主机因不可避免的意外性或计划性宕机问题的高可用性软件。
e.服务器与客户端遵循TCP/IP协议,对用户而言,切换是透明的。
2 工作原理
DataWare软件同时安装在两台主机上,监视系统的状态,协调两台主机的工作,维护系统的可用性。它能侦测应用级系统软件、硬件发生的故障,及时进行错误隔绝、恢复,以最低成本提供用户几乎不停顿的计算机作业环境。在正常的运作情形之下,主机之间透过冗余侦测机制互相侦测,当任一主机有错误产生时,DataWare提供严谨的判断与分析,确认主机出错之后,才完全启动备援接管动作。容错软件在服务器节点间保持着间歇的通信信号,也叫做心跳信号,是错误检测的一个机制。
即通过每一个通信路径,在两个对等系统之间进行周期性的握手,如果连续没有收到的心跳信号到了一定的数目,DataWare容错软件就把这条路径标示为失效(红色)。一般情况下DataWare容错软件为了避免不必
要的失效切换,通常建立两条独立的心跳检测径,即至少使用两种心跳检测方法:
1> 在共享磁盘阵列上开辟一个裸设备区(>10M),两台机器上运行的DataWare软件负责按照一定时间间隙向这个共享的裸设备区写入自身的运行状态。并读取对方机器的运行状态。以达到相互检测的目的。
2> TCP/IP Socket Private Net,即两台服务器的网卡通过LAN建立一条通讯路径。如果共享磁盘阵列裸设备区检测模式失效,服务器仍然可以用公用网侦测对方服务器的可用性。如果对方服务
器仍然可用,则不触发接管动作;如果对方服务器不可用,则立即接管动作。
DataWare接管动作包括:
1> 文件系统(File Systern);
2> 数据库(Database);
3> 网络虚拟地址(Virtual IP Address);
DataWare容错备援运作过程:
a.自动侦测(Auto—Detect)阶段。由主机上的软件通过冗余侦测机制,经由复杂的监听程序、逻辑判断,来相互侦测对方运行的情况。
b.自动切换(Auto—Switch)阶段。某一主机如果确认对方故障,则正常主机除继续进行原来的任务,还将依据各种容错备援模式接管预先设定的备援作业程序,并进行后续的数据库服务。
d.自动恢复(Auto—Recovery)阶段。在正常主机代替故障主机工作后,故障主机可离线进行修复工作。在故障主机修复后,透过冗余通讯检测机制与原正常主机连接,切换回修复完成的主机上。整个回复过程需要技术人员利用DataWare软件提供的命令进行切换。