杨荣明
【摘 要】为提高系统可用性,各商业银行应用系统目前普遍采用双机热备方式。本文结合商业银行常用消息中间件WebSphere MQ以及常用热备软件HACMP,介绍AIX操作系统下基于共享存储方式的MQ双机热备实现方案。
【关键字】HACMP;MQ;双机热备
【中图分类号】TP311 【文献标识码】A 【文章编号】1672-5158(2013)03-0066-01
1.双机热备技术介绍
双机热备这一概念包括了广义与狭义两种意义。从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。从狭义上讲,双机热备特指基于active/standby方式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。
2.系统规划
2.1技术架构
如上图,为实现MQ的双机热备,需在两台主机(A机、B机)本地磁盘上安装应用软件WebSphere MQ以及HACMP软件,需在磁盘阵列上创建文件系统用于存储MQ队列管理器的数据及日志。
2.2用户及文件系统规划
A机、B机分别建立mqm用户及mqm组,且两台主机的用户及组ID须一致;A机、B机本地磁盘rootvg创建文件系统/var/mqm,磁盘阵列datavg上创建文件系统/MQHA。
3.实施步骤
3.1安装应用软件
使用操作系统管理工具simt,安装MQ以及HACMP。具体安装过程此处不做详细介绍,安装完毕后检查MQ安装路径/usr/mqm,并通过创建测试队列管理器验证安装正确性。
3.2创建队列管理器
1、下载双机部署脚本。至IBM官方网站下载MQ双机部署脚本包mc91.tar.Z,解压后获取hacmp目录下双机部署脚本,脚本以ha*命名,例如创建队列管理器,原命令为crtmqm,在该脚本包里为hacrtmqm。
2、选择一台机器A,执行mount 命令,挂载规划的文件系统。
3、建立/MQHA/bin目录,将mc91下的可执行文件拷贝到该目录下,执行chmod 755 ha*授予该目录下文件的可执行权限。
4、在共享磁盘阵列上建立/MQHA/
目录,用于存储队列管理器的数据和日志,且授权mqm用户对上述目录的读和写权限。
5、创建队列管理器。在当前的shell中设置如下的环境变量,并执行创建队列管理器的命令:
export MQHAFSDATA="/MQHA/
export MQHAFSLOG="/MQHA/
hacrtmqm
6、启动队列管理器,验证该队列管理器可以正常运行
7、拷贝机器A上面/var/mqm目录下的mqs.ini文件到当前机器下的/var/mqm目录下,执行halinkmqm命令。
8、验证在机器B上也可以对Queue Manager进行操作。
3.3配置MQ切换脚本
将MQ双机启停脚本hamqm_start
4.切换测试
4.1检验方法
A机与B机之间互为热备,可通过以下两种方式检验:
a) 手工关闭A机后,B机可正常接管;A机HA服务启动后,可正常切回。
b)拔掉A机网线后,B机可正常接管;A机插上网线后,可正常切回。
4.2检验标准
A机与B机应用可相互接管。