随着以数据库为核心的计算机管理系统的普及,企业对计算机系统的依赖程度也日渐增加,数据存储技术的可靠和安全变得越来越重要,双机热备系统就是根据用户需求保证数据库安全的、高可靠性的解决方案。荆门市掇刀区在电子政务平台的建设和完善中,采用基于DM 数据库服务的双机热备解决方案,保证了数据的安全。本文就荆门市掇刀区电子政务系统中实现双机热备系统的工作原理、技术方案及成果经验等进行探讨。
1、系统需求
根据应用要求,数据库双机热备系统配置为:
a.系统基于Red flag Linux DC 5.0平台,数据库平台采用DM 5.0。
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软件提供的命令进行切换。
双机热备系统选用DataWare的单工工作模式,系统结构如图1所示:
图1:结构示意图
图1中:双服务器通过一条TCP/IP网络线连接到LAN;双服务器各自通过一条SCSI电缆线与RAID磁盘阵列相联;一台服务器作为主机运行DM 数据库服务器,另一台作为备机。当服务器1故障后,服务器2自动接管服务器1运行,这时,服务器1的作业将在服务器2上自动运行。当服务器1修复后,服务器2将把1的作业手动交还服务器1。
3、技术实施方案
双机热备系统中,两台主机的硬件配置可以不同,但操作系统、应用软件、容错软件应相对应,具体实现过程如下:
a.对磁盘阵列柜做RAID5,分区后分别挂在不同的主机上。这些措施,可克服系统硬件的故障。
b.安装操作系统Linux、DM数据库。操作系统和DM 数据库的系统文件安装在主机各自的硬盘上,DM 数据库的数据文件存放在磁盘阵列柜上,必须在两台主机上保存相同的DM数据库的初始化文件。
c.安装DataWare容错软件。DataWare软件必须在两台主机上各装一套,每台主机上有公网上的固定地址和由双机软件控制的飘移地址(虚拟IP 地址)。在客户端的应用中,应用程序要使用飘移地址,该地址和系统的应用实例,即DM数据库应用实例是锁定的,即当主机1因故障荡机时,它的数据库应用就由主机2接管,同时它的飘移地址也被主机2接管,对用户而言,这是不变的。
4、经验及成果
可在任一台主机上操作磁盘陈列柜的分区,设置之后分别挂在不同的主机上。两台主机不能同时mount同一磁盘柜上的分区,否则系统将死机。
5、测试用例及结果
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
数据库和数据仓库的区别在哪儿?
目前,大部分数据仓库还是用数据库进行管理。数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。
-
如何使用服务来平衡Oracle RAC 数据库工作负载
为不同的应用程序配置不同的服务,DBA可以更有效地平衡集群工作负载,在Oracle RAC数据库环境下实现更好的应用程序性能。