在 AIX 上通过 HACMP 实现 WebSphere Message Broker V6.1 的高可用配置
2010-03-29 00:00:00 来源:WEB开发网介绍
说明
目前,关于 WMQ,DB2 的单独实现 HA 的文档已有很多,但是将对 DB2,WMQ 和 WMB 联合在一起实现 HA 的文档却不多见,本文详细记录了实现最基本的 WMB 主备 HA 配置所需要的步骤,为欲实现 WMB HA 的读者提供一个最简单而全面的入门点,寄希望于能起到抛砖引玉的作用,为读者将来实现更复杂的 HA 配置提供垫脚石。
目标读者
本文档介绍的内容是 WebSphere Message Broker HA 的配置。目标读者是欲进行类似工作工程师,架构师以及系统管理员。为了更好的阅读本文档,读者应该了解 WebSphere Message Queue,WebSphere Message Broker 以及 DB2 等产品的相关概念;熟悉 AIX 操作系统简单命令的使用;熟悉 HA 相关的概念以及 HACMP 工具的使用及配置过程。
术语表
表 1. 本文中使用的术语
WMB/MB | WebSphere Message Broker |
WMQ/MQ | WebSphere Message Queue |
Broker | 代理,WMB 的运行时 |
QM | Queue Manager,队列管理器。 |
ESB | Enterprise Service Bus 企业服务总线 |
HA | High Availability 高可用性 |
LV | Logic Volume |
VG | Volume Group |
FS | File System |
准备工作
架构说明
在这篇文档中,我们将实现主 - 备(standby)方式的 HA 架构,即有两台 AIX 机器(如 asup1 和 asup2),asup1 为主节点,asup2 位副节点。在正常情况下,asup1 运行 WMB,WMB 以及 DB2,而在 asup1 出现硬件问题的时候,asup2 接管 asup1 上 WMB,WMQ 以及 DB2 的相关工作 asup1 上的相应工作,继续提供服务。
总体部署架构图如图 1 所示:
图 1. Standby 的 HA 配置总体架构图
查看原图(大图)
在上文的架构图中,asup1 即 asup1, asup2 即 asup2,两台机器的机型都是 P550A,下面是一个 DS4800 的磁盘阵列,加上上面的多个光纤交换机一起构成双机热备的高可用环境。
两天 asup 机器上都安装中间件软件,WMB,WMB 以及 DB2。同时安装 HA 软件 HACMP 用于管理中间件软件 HA 所依赖的资源组(包括服务 IP,Application Server 以及共享卷等资源),该资源组单机运行,双机为主备关系。
两台主机之间使用串口线连接,提供双机心跳服务。
WMB 运行时架构说明简介
WMB 的运行时称为代理(Broker),一个代理依赖于一个队列管理器(QM)和一个数据库(DB)作为 Broker 的配置数据库,其中队列管理器一定要和代理在同一台机器上,而数据库可以与 Broker 部署在不同的机器上,即 Broker 通过远程连接访问数据库。如图 2 所示 :
图 2. WMB 运行时依赖关系
在本次的环境中,数据库和 Broker 安装在同一台机器上。
HA 配置规划
在上文所述的 HA 环境中,我们要在 asup1,asup2 中都安装 DB2,WMQ 以及 WMB。而将 DB2 的实例,队列管理器的用户数据以及日志,WMB 的组件以及注册信息放在共享存储上。
在本文档中,我们将创建一个 DB2 的实例(db2iesb),队列管理器(esbqm)和一个代理(BRK01),所以我们的工作项如表 2 所示:
表 2. HA 配置工作项
asup1 | asup2 | Shared Disk | |
DB2 | 创建 DB2 实例使用的共享文件系统 | ||
创建用户 | 同步用户 | ||
安装 DB2 | 安装 DB2 | ||
同步其他配置文件 | |||
创建实例 | 连接实例 | ||
建库并测试并验证 DB2 成功部署 | 连接到 asup1 中所建的库,并进行测试 | ||
WMQ | 创建 MQ 的队列管理器所需要的共享文件系统 | ||
创建 WMQ 用户 | 同步用户 | ||
安装 WMQ | 安装 WMQ | ||
创建 QM | 连接 QM | ||
测试 QM | 测试 QM | ||
WMB | 创建 MB 所使用的共享文件系统 | ||
创建 WMB 用户 | 同步用户 | ||
安装 WMB | 安装 WMB | ||
创建 Broker 使用的数据库及 ODBC 设置 | 连接数据库并同步 ODBC 设置 | ||
创建代理 | 连接代理 | ||
测试代理 | 测试代理 | ||
HACMP | 配置 Cluster | 同步 | |
配置 ServiceIP | 同步 | ||
配置应用服务器 | 同步 | ||
创建应用服务器起,停脚本 | 同步 | ||
配置资源组 | 同步 | ||
启动 | 启动 | ||
切换资源组并测试 | 切换资源组并测试 |
创建共享存储及文件系统
本文档创建了两个 VG,在每个卷组上创建了一个 LV 以及一个文件系统。如表 3 所示
表 3. 共享存储以及文件系统的设置
VG 名称 | LV 名称 | 文件系统 | 用途 |
db2vg1 | db2fs1 | /dbinst1 | DB2 实例所在的文件系统 |
mbvg1 | mbmqlv | /mqhafs | QM 的数据和日志以及 Broker 的 component 以及 registry 所存在的文件系统 |
在这里,我们没有单独建立为 Broker 建立共享文件系统,因为 Broker 所使用的共享文件目录将存在于 QM 的共享文件目录之下,下节将对此详细介绍。
下面我们在 MQ 的文件系统之上创建 MQ 所需的数据(data)和日志(log)目录,在创建之前,先需要将该文件系统 mount 到一个节点之上,比如 asup1 中,然后创建目录,具体步骤参见后文。
注意:不需要为DB2和Broker创建进一步的子文件夹。
对于 DB2,我们只需要将创建实例的 DB2 用户的 home 目录指定到 /dbinst1 上,在创建实例的过程中,会自动在该文件系统上建立数据库实例。请注意后面创建 DB2 用户部分的脚本。
对于 Broker,我们将在后面介绍 IBM 提供的用于创建 MQ、MB 的 HA 的辅助工具 MC91 和 IC91,在 IC91 的创建 Broker 的脚本中,会自动找到 Broker 对应的 QM 的 data 目录,然后在这个目录下面建立 /component 和 /registry 目录。
规划用户和组
在这次部署中,一共需要创建 5 个用户,5 个用户组。如表 4,表 5 所示:
表 4. 用户组表
用途 | 组名 | 组 ID |
MQ 管理员组 | mqm | 914 |
WMB 管理员组 | mqbrkrs | 915 |
DB2 管理员组 | db2igesb | 901 |
DB2 Fence 用户组 | db2fgesb | 902 |
DAS 用户组 | db2vgesb | 903 |
表 5. 用户表
用途 | 用户名 | 组 ID | 用户 ID |
MQ 管理员用户 | mqm | 914 | 914 |
WMB 管理员 | esbadmin | 914/916 | 915 |
DB2 管理员用户 | db2iesb | 901 | 901 |
DB2 Fence 用户 | db2fesb | 902 | 902 |
DAS 用户 | dasuser | 903 | 903 |
MC91 和 IC91 简介
MC91 和 IC91 是 IBM 提供的实施 WMQ 和 WMB HA 的 SupportPac,这两个 SupportPac 提供了配置 HA 的脚本示例辅助我们进行 WMQ 和 WMB 的 HA 环境的配置,从以下位置可以找到最新的文档和软件包:
IC91: http://www-306.ibm.com/software/integration/support/supportpacs/product.html
MC91:http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24011869&loc=en_US&cs=utf-8&lang=en
下载到的包是:mc91.tar.Z 和 ic91.tar.Z,将它们通过 ftp 方式传到 asup1 和 asup2 之上,建立一个 /MQHA/bin 目录,并解压缩这两个文件,如下列清单所示 mc91.tar.Z 的解压缩:
清单 1. 解压 MC91 的过程
# mkdir -p /MQHA/bin
#
# cd /opt/software/mq
# uncompress mc91.tar.Z
# tar -xvf mc91.tar ./hacmp
x ./hacmp
x ./hacmp/hacrtmqm, 4214 bytes, 9 media blocks.
x ./hacmp/hadltmqm, 2453 bytes, 5 media blocks.
x ./hacmp/halinkmqm, 4217 bytes, 9 media blocks.
x ./hacmp/hamqproc, 180 bytes, 1 media blocks.
x ./hacmp/hamqm_stop_su, 5067 bytes, 10 media blocks.
x ./hacmp/hamqm_stop, 803 bytes, 2 media blocks.
x ./hacmp/hamqm_start_su, 3499 bytes, 7 media blocks.
x ./hacmp/hamqm_start, 806 bytes, 2 media blocks.
x ./hacmp/hamqm_running, 1777 bytes, 4 media blocks.
x ./hacmp/hamqm_qm_directory, 2353 bytes, 5 media blocks.
x ./hacmp/hamqm_applmon_su, 1974 bytes, 4 media blocks.
#
#mv hacmp/* /MQHA/bin
#
#rm -rf hacmp
#
#chmod 755 /MQHA/bin/ha*
#
#chown -R mqm.mqm /MQHA/bin
#
在两个节点上安装配置 DB2
节点 1(asup1)
本节介绍在 asup1 上执行 DB2 安装的全过程
创建用户和组
使用如下代码清单创建 DB2 运行过程中需要使用的用户和组:
清单 2. 创建 DB2 用户和组
# mkgroup id='901' db2igesb
# mkgroup id='902' db2fgesb
# mkgroup id='903' db2vgesb
# mkuser pgrp=db2igesb groups=db2vgesb,db2igesb home=/dbinst1/db2iesb id='901'
db2iesb
# mkuser pgrp=db2fgesb home=/dbinst1/db2fesb id='902' db2fesb
# mkuser pgrp=db2vgesb home=/dbinst1/dasuser id='903' dasuser
然后,为用户设置密码。
挂接卷组和文件系统
执行如下清单 3 所示的命令 :
清单 3. 为节点 1 挂接文件系统
#varyonvg db2vg1
#mount /dbinst1
安装 DB2
Developerworks 上已经有很多介绍 DB2 安装的文档,本文不再赘述。欲了解详细安装过程,请参考 DeveloperWorks 相应文章。不过,要注意的一点是,安装过程中不要创建 DB2 的实例,而是在产品安装完毕后手动创建实例,下一节中会介绍该信息。安装成功后,还需要做一件事情,即关掉默认监控,如下图所示:
图 3. 关闭 DB2 实例的默认监控
创建DB2实例并测试
通过如下代码清单创建 DB2 的实例。创建完成实例后,再启动该实例之前,需要在 /etc/services 文件中加入如下一行,指定 db2iesb 的服务端口
db2c_db2iesb 50000/tcp
清单 4. 创建 DB2 实例并测试
#cd /usr/IBM/db2/V9.1.01/instance/db2icrt -a SERVER -s ese -u db2fesb -w 32
-p db2c_db2iesb db2iesb
#su - db2inst1 # become the instance owner
db2start
db2sampl # create the sample database
db2 'connect to sample' # test with the default sample db
db2 'select * from staff where dept=20'
db2 terminate
db2stop
exit
卸除卷组和文件系统
通过如下命令卸除文件系统。
清单 5. 卸除文件系统
#umount /dbinst1
#varyoffvg db2vg1
节点 2(asup2) 安装 DB2
本节介绍在 asup2 上进行 DB2 的安装配置过程。
同步用户
同步用户有两种方法 :
使用在 asup1 种相同的脚本执行一遍 , 最好需要保证在两个节点上的 id 都是一样的 .
将 asup1 中以下文件中的通过 3.1.1 过程中增加的条目拷贝到 asup2 中相应的文件中
/etc/passwd
/etc/group
/etc/security/passwd
/etc/security/group
/etc/security/user
挂接卷组和文件系统
同节点 1 的做法相同。
DB2 产品安装
与节点 1 相同,注意要保证安装目录在两台机器上完全一致,这样才能保证很多环境变量在两个节点上的一致性。
链接实例并测试
打开 asup1 的 /etc/services 文件,将最下面的如下几行拷贝到 asup2 种相应的文件中。
DB2_db2inst1 60000/tcp
DB2_db2inst1_1 60001/tcp
DB2_db2inst1_2 60002/tcp
DB2_db2inst1_END 60003/tcp
db2c_db2iesb 50000/tcp
在连接测试之前,需要查看 db2nodes.cfg 文件,要确保中间一列的 hostname 和本机的 hostname 一致,由于该实例是在 asup1 中创建的,所以这里的值应该是 asup1 的 hostname,将其修改成 asup2 的 hostname。
连接共享数据库实例并进行测试,使用与节点 1 中相同的测试方法即可。
卸除卷组和文件系统
在两个节点上安装配置 WMQ
节点 1(asup1)
创建用户
创建 MQ 的用户和组,请参考 规划用户和组一节。
挂接卷组和文件系统
安装 WMQ
DeveloperWorks 及其他文档都有详细的 WMQ 的安装过程的介绍,故在此省略,其安装过程同在单节点上的安装无异。欲了解详细安装过程,请参考 developerWorks 相应文章。
创建 QM 并测试
在这里,将要通过 MC91 的脚本创建供 Broker 使用的 QM,创建过程如下:
用 root 用户进入 /MQHA/bin 目录下(已经创建和解压缩相应的 MC91 和 IC91 的脚本)
执行如下命令创建 QM(名字是 esbqm),需要注意的是在运行命令之前先用 export 命令传入两个环境变量:MQHAFSDATA 及 MQHAFSLOG,它们分别是队列管理器的数据目录和日志目录,应该存放在共享存储上。代码清单 6 如下:
测试步骤 2 中创建的队列管理器,清单 7 如下:
清单 6. 使用 MC91 脚本创建高可用队列管理器
# cd /MQHA/bin
#
# export MQHAFSDATA="/mqhafs/esbqm/data"
# export MQHAFSLOG="/mqhafs/esbqm/log"
#
# ./hacrtmqm esbqm
WebSphere MQ queue manager created.
Creating or replacing default objects for esbqm.
Default objects statistics : 40 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
The halinkmqm script will now be run on this machine. On other
machines which will potentially takeover this queue manager you
must run the following command while logged on as "mqm".
halinkmqm esbqm esbqm /mqhafs/esb/data
#
清单 7. 测试队列管理器
# su - mqm
$
$ dspmq
QMNAME(esbqm) STATUS(Ended immediately)
$
$ strmqm esbqm
WebSphere MQ queue manager 'esbqm' starting.
5 log records accessed on queue manager 'esbqm' during the log replay phase.
Log replay for queue manager 'esbqm' complete.
Transaction manager state recovered for queue manager 'esbqm'.
WebSphere MQ queue manager 'esbqm' started.
$
$ dspmq
QMNAME(esbqm) STATUS(Running)
$
$ runmqsc esbqm
5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED.
Starting MQSC for queue manager esbqm.
def ql(ql.test) replace
1 : def ql(ql.test) replace
AMQ8006: WebSphere MQ queue created.
end
2 : end
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.
$endmqm esbqm
卸除卷组和文件系统
节点 2(asup2)
本节介绍在 asup2 上 WMQ 的链接及验证。
同步用户
参考 DB2 在节点 2 上进行的操作。
挂接卷组和文件系统
安装 WMQ
连接 QM 并测试
在节点 1 创建共享队列管理器的过程中,执行 ./hacrtmqm esbqm 命令成功之后, 最下面有一句话:
halinkmqm esbqm esbqm /mqhafs/esbqm/data
这里首先需要链接共享队列管理器,在 asup2 上切换到 mqm 用户下执行该行命令进行 QM 在 asup2 上的链接,链接成功后使用节点 1 中相同的步骤进行测试。
卸除卷组和文件系统
在两个节点上安装配置 WMB
节点 1(asup1)
本节介绍在 asup1 上进行 WMB 的安装,创建 Broker,及验证。
创建用户和组
创建 Broker 所需的用户和组, 请参考 规划用户和组一节。
挂接卷组和文件系统
安装 WMB
DeveloperWorks 及其他文档都有详细的 WMB 的安装过程的介绍,故在此省略,安装过程同在单节点上的安装无异。欲了解详细安装过程,请参考 developerWorks 相应文章
创建 Broker 数据库及 ODBC 数据源
Broker 要使用一个配置数据库,Broker 对该数据库的连接是通过 ODBC 配置完成的,详细的介绍请参考 WMB 相关文档。数据库可以存在于本机,也可以是一个远程数据库。在本文的场景中,数据库和 Broker 位于同一台机器。对于远程数据库的情况,需要在本地创建一个客户端类型的实例,并将远程数据库 catalog 到本地,然后再配置 ODBC 数据源,若要了解远程数据库连接要做的工作,请参考相应的 WMB 文档。
创建数据库,使用具有 DB2 系统管理权限的用户来创建数据库
db2 CREATE DB BRK1DB USING CODESET UTF-8 TERRITORY US
为 esbadmin 设置权限
在创建数据库之后,需要进行一些设置,让 Broker 的管理员(esbadmin)可以使用 DB2 的命令,这是通过如下方式实现的:
修改 esbadmin 用户的 .profile 文件
#su - esbadmin
复制如下三行到 esbadmin 用户的 .profile 下
if [ -f /dbinst1/db2iesb/sqllib/db2profile ]; then
. /dbinst1/db2iesb/sqllib/db2profile
fi
注意,这行命令的作用是让 esbadmin 用户执行 db2profile 使其能够找到执行 DB2 的命令,一定要确保“/db2inst1/db2iesb/sqllib/db2profile”该文件路径正确无误。
接下来,为 esbadmin 用户授权使用某些 DB2 的命令
db2 grant connect, createtab, bindadd, create_external_routine on database \
to user esbadmin
创建 ODBC
创建 ODBC 通过更新 odbc64.ini 文件实现。odbc64.ini 位于 /opt/IBM/mqsi/6.1/ODBC64/V5.3/ 下。
下面将 odbc.ini 添加到环境变量中
更改 /etc 下的 profile 文件
添加此行:ODBCINI=/opt/IBM/mqsi/6.1/ODBC64/V5.3/odbc64.ini
更改此行 export LOGNAME MAIL MAILMSG TERM ODBCINI(其中 ODBCINI 对应于上面的定义。)
创建 Broker 并测试
用 IC91 中的脚本创建 Broker,在创建 Broker 之前,需要确保下列前提条件:
esbadmin 用户已经存在。
数据库已经创建,配置好了 ODBC 数据源,且 esbadmin 有执行 DB2 命令的权限。
QM 已创建 (esbqm)。
执行下列脚本创建 Broker,参数和在单机环境下的参数一致。脚本如下清单 8 所示,用 esbadmin 用户执行 mqsistartbroker BRK01 测试,确保能够成功启动。
清单 8. 创建高可用代理(broker)
# cd /MQHA/bin
#
# ./hamqsicreatebroker – i esbadmin – a esbadmin – q esbqm – n BRK1DB
– u db2iesb – p db2iesb
卸除卷组和文件系统
节点 2(asup2)
本节介绍在 asup2 中安装 WMB,链接 Broker 以及测试。
同步用户
挂接卷组和文件系统
安装 WMB
连接 Broker 数据库,同步 ODBC 数据源
同节点 1 中的内容,除了不需要创建数据库之外,其他步骤都需要执行。
连接 Broker 并测试
执行如下清单所示的脚本,连接上文中创建的 Broker,hamqsiaddbrokerstandby 的三个参数依次是代理名字,QM 的名字和 Broker 管理员的名字。用 esbadmin 用户执行 mqsistartbroker BRK01 并进行测试,确保能够成功启动。
清单 9. 连接高可用代理
# cd /MQHA/bin
#
# ./hamqsiaddbrokerstandby BRK01 esbqm esbadmin
卸除卷组和文件系统
HACMP 的配置及测试
配置 HACMP 的过程分成以下几个步骤:
建立一个 HA 集群(Cluster),该步骤包含定义集群的名字,并设定集群保护那些节点,本里中是(asup1 和 asup2)
建立服务 IP,该服务 IP 是集群对外暴露的 IP 地址,当集群启动时,客户端通过该 IP 访问正在运行的 DB2,WMQ 及 BROKER 的服务。
配置应用服务器,应用服务器主要管理两个几点的启动和关闭的脚本。动脚本中包含所有在节点启动时,启动所有响应服务所需的命令;关闭脚本包含在节点切换时,关闭所有相关服务所需的命令。
配置资源组,资源组对于与该集群进行切换时,在两个节点间切换的资源,它包括共享磁盘(包括卷组,文件系统等)、服务 IP 地址、及应用服务器等。在集群切换的过程中,集群会自动完成共享磁盘及 IP 地址的切换,并执行相应的应用服务器的起、停脚本。
在两个节点上同步 HA 配置。
配置 HA 集群步骤
使用 smitty hacmp 进入配置
选择 Initialization and Standard Configuration
再选择 Add Nodes to an HACMP Cluster,在此新增一个集群拓扑。
在 Add/Change/Show an HACMP Cluster 页面
* Cluster Name [asupha] 键入集群名
Currenttly configured nodes [asup1 asup2] 选择要加入该集群的节点名。
按 F4 选择两节点 boot 地址 , 如图 4 所示
图 4. 配置集群拓扑
配置服务 IP
在 asup1 和 asup2 上定义 service IP 地址 :
使用 smitty hacmp 进入配置:
选择 Initialization and Standard Configuration
选择 Configure Resources to Make Highly Available (服务 IP 是高可用资源之一)
选择 Configure Service IP Labeles/Addresses
选择 Add a service IP Labeles/Addresses 添加一个服务 IP
在图 5 所示的 Add a Service IP Label/Address (standard) 页面
[ 输入字段 ]
* IP Label/Address [db2ser] + 键入服务 IP 的名字
* Network Name [net_ether_02] + 选择网络类型
【注意:网络类型分为 IP 网络和非 IP 网络,这里的 net_ether_02 是由 AIX 系统管理员实现配好的 IP 网络地址】
图 5. 配置服务 IP
配置应用服务器
下面定义应用服务器,该应用服务器也是高可用资源的一部分。
使用 smitty hacmp 进入配置
选择 Initialization and Standard Configuration
选择 Configure Resources to Make Highly Available
选择 Configure Application Servers
选择 Add an Application Server,在此新建一个应用服务器
在图 6 所示的 Add Application Server 页中
* Server Name [db2app] 键入应用服务器名
* Start Script [/usr/IBM/db2/script/mbclsstart.sh] 启动脚本的位置
* Stop Script [/usr/IBM/db2/script/mbclsstop.sh] 停止脚本的位置
【注意,起停脚本要在两个 Node 上都存在,起停脚本用书启动和停止高可用环境中所管理的应用程序,如消息队列,代理和数据库服务】
图 6. 配置应用服务器
配置启动脚本
简单起见,这里只给出启动 MQ,DB2,和 Broker 三个服务的脚本,实际的脚本要考虑一些异常情况,必要时杀掉相关进程。请参考 MC91 和 IC91 下相应的启动和停止脚本示例,简单的方法就是在指定的启动停止脚本中引用 MC91 和 IC91 中的相应脚本。以下清单显示了示例的启动脚本:
清单 10. 示例启动脚本
su - dasuser -c 'db2admin start'
su - db2iesb -c 'db2start'
su - esbadmin -c 'mqsistart BRK01'
配置停止脚本
以下清单为示例停止脚本
清单 11. 示例停止脚本
su - dasuser -c 'db2admin stop'
su - db2iesb -c 'db2stop'
su - esbadmin -c 'mqsistop BRK01 -q'
配置资源组
下面定义共享资源组:
使用 smitty hacmp 进入配置
选择 Initialization and Standard Configuration
选择 Configure HACMP Resource Group
在选择 Add a Resource Group 在此添加一个资源组,将所有高可用资源包含进来
在下图所示的 Add a Resource Group 页面中
*Resource Group Name [db2_RG] 填入资源组的名字
*Participating Node Names (Default Node Priority) [asup1 asup2] + 选择参与节点
图 7. 配置资源组
配置完毕后查看一下配置是个好习惯 .
选择 Initialization and Standard Configuration
进入 Configure HACMP Resource Group
进入 Change/Show Resources for a Resource Group (standard)
在两节点间同步 HA 配置
使用 smitty hacmp 进入配置
选择 Initialization and Standard Configuration
选择 Verify and Synchronize HACMP Configuration
确认并等待其正确完成。
测试
在测试过程中,我们可以通 HACMP 提供的命令去模拟两个节点之间的接管。本次进行的高可用配置共涉及的应用程序包含 DB2,MQ 及 Broker,共享磁盘有两个文件系统 /mqhafs 及 /dbinst1,服务 IP 有一个 db2ser,在测试切换的过程中,我们需要检查:
磁盘资源是否切换
服务 IP 是否切换
应用程序是否切换,并已在接管节点上启动。
在两个节点使用如下命令启动 HA,smitty clstart
由于 asup1 为主节点,所以,默认情况下文件系统和资源应挂接在 asup1 之上。通过如下方式验证正确挂接上。
查看卷组是否在本节点上处于 active 状态。
查看文件系统是否加载
查看数据库是否已启动,检查其监听端口是否开启
查看 QM 是否已启动,可以用 mqm 用户执行 runmqsc esbqm 验证。
查看 Broker 是否已启动,Broker 启动以后会启动三个进程 httplistener, bipbroker 和 bipservice.
查看服务 ip 地址是否已经漂移到本节点
验证无误后,通过使 asup1 的资源组 offline 的方式模拟 asup1 故障,步骤如下:
由 smitty hacmp 进入配置
进入 system management(C-SPOC)
选择 HACMP Resource Group and Application Management
选择 Bring a Resource Group offline
选择 db2_RG
再选择 asup1
按 Enter 并等待其正确结束。
通过类似于上文的检查,判断资源组是否成功从 asup1 中移除。
下面通过让资源组 online 的方式手动启动 asup2 的资源。
注:在真实故障发生时,是通过心跳检测,自动接管的。
让 asup2 上的资源 online
由 smitty hacmp 进入
进入 system management(C-SPOC)
选择 HACMP Resource Group and Application Management
选择 Bring a Resource Group Online
选中要 online 的 RG
等待其完成后,使用本节中验证 asup1 成功挂接的 5 个步骤验证 asup2 是否已成功接管 asup1。
至此,WMB 的安装配置及测试过程完毕。由于文体的限制,不能详细给出具体的配置步骤,读者若需要详细配置手册,请通过电子邮件与作者联系,maguoyao@cn.ibm.com。
更多精彩
赞助商链接