双机热备系统选用DataWare的单工工作模式,系统结构如图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 经验及成果
a.需要分别在两台服务器上分别安装DM数据库管理系统,安装完毕后会提示用户创建数据库,所创建的数据文件应该存放在共享磁盘阵列上相同的区域,在第二次创建数据库之前,需要将上一次所创建的数据库文件删除,而不是采用覆盖数据文件的方式,否则,DM 数据库系统在启动的过程中会报告数据文件不一致,从而导致数据库系统不能够正常启动。
b.可在任一台主机上操作磁盘陈列柜的分区,设置之后分别挂在不同的主机上。两台主机不能同时mount同一磁盘柜上的分区,否则系统将死机。
5测试用例及结果
用例号 | Server1 | Server2 | 灾难情况 | 结果 |
1 | DataWare:启动 dmServer:停止 | DataWare:启动 dmServer:启动 | Server2机网络中断 | 45s,server1自动接管dmServer服务,应用系统正常,数据正确。 |
2 | DataWare:启动 dmServer:停止 | DataWare:启动 dmServer:启动 | Server2机操作系统关闭 | 45s,server1自动接管dmServer服务,应用系统正常,数据正确。 |
3 | DataWare:启动 dmServer:停止 | DataWare: 启动 dmServer: 启动 | Server2机系统掉电 | 45s,server1自动接管dmServer服务,应用系统正常,数据正确。 |
4 | DataWare:启动 dmServer:停止 | DataWare: 启动 dmServer: 启动 | Server2机上dmServer被异常终止 | 30s, Server1机自动接管dmServer服务,应用系统正常,数据正确。 |
5 | DataWare:启动 dmServer:启动 | DataWare: 启动 dmServer: 停止 | Server1机网络中断 | 45s,server2自动接管dmServer服务,应用系统正常,数据正确。 |
6 | DataWare:启动 dmServer:启动 | DataWare: 启动 dmServer: 停止 | Server1机操作系统关闭 | 45s,server2自动接管dmServer服务,应用系统正常,数据正确。 |
7 | DataWare:启动 dmServer:启动 | DataWare: 启动 dmServer: 停止 | Server1机系统掉电 | 45s,server2自动接管dmServer服务,应用系统正常,数据正确。 |
8 | DataWare:启动 dmServer:启动 | DataWare: 启动 dmServer: 停止 | Server1机上dmServer被异常终止 | 45s,server2自动接管dmServer服务,应用系统正常,数据正确。 |