简介
多实例队列管理器特征是 MQV7.0.1 版本之后引进的新特征,它是 MQ 产品
的内置功能,丰富了 MQ 高可用性的解决方案。
用户可以在不同机器上定义并启动此队列管理器的多个实例,包括一个活动实例
和一个备用实例。 激活的队列管理器实例可以处理信息并接受来自应用程序和
其他队列管理器的连接。它可以锁定队列管理器数据,确保 队列管理器中只有
一个活动实例。备用队列管理器实例定期查看活动实例是否正在运行。
如果活动队列管理器实例发生故障或不再是连接的,备用实例在它释放后需
尽快将队列管理器中的数据锁定,执行队列管理器重启处理,使其成为活动的队
列管理器实例。
多实例队列管理器的信息和数据是通过网络文件系统协议(NFS), 存储
在网络存储设备上,但这些实例是属于同一个队列管理器。
多实例队列管理器很重要的一点是能够与客户端重连的特性结合,提高客户
端应用的高可用性。客户端可在配置文件 mqclient.ini 中,配置 connection name
包含活动和待命的队列管理器的 instance 所在 IP 地址和侦听端口配置,这样客
户端就可以在队列管理器发生故障后,切换到活动的队列管理器实例。
IBM® WebSphere® MQ V7 可以在无需专门技能或额外硬件的情况下帮助
您提高信息的可用性。 在发生计划外停机或计划内停机的控制切换(比如应用
软件维护) 时,它通过多示例队列管理器来提供自动故障转移。
有了这个新的可用性选项,多实例队列管理器的信息和数据通过网络文件系统协
议(NFS),比如 NFS V4, 存储在网络存储设备上。之后您可以在不同机器
上定义并启动此队列管理器的多个实例,包括一个活动实例和一个备用实例。激
活的队列管理器实例可以处理信息并接受来自应用程序和其他队列管理器的连
接。它可以锁定队列管理器数据,确保 队列管理器中只有一个活动实例。备用
队列管理器实例定期查看活动实例是否正在运行。 如果活动队列管理器实例发
生故障或不再是连接的,备用实例在它释放后需尽快将队列管理器中的数据锁定,
执行队列管理器重启处理,使其成为活动的队列管理器实例。
这是多实例队列管理器和客户端自动重连接的说明:
图 1.1
图 1.2
图 1.3
先决条件
V7.0.1。
根据信息中心的指南和说明,在服务器和客户端机器上安装 Websphere MQ
这两台机器上应有属于 mqm 组的 mqm 和 mqtest 用户。
两台机器上 mqm 和 mqtest 的用户 id 和组 id 应该是相同的。
机器 1:
o
id mqm: uid=301(mqm), gid=301(mqm)
id mqtest: uid=501(mqtest), gid=301(mqm)
o
机器 2:
o
o
id mqm: uid=301(mqm), gid=301(mqm)
id mqtest: uid=501(mqtest), gid=301(mqm)
在 HP-UX 上安装 NFS
本例中,NFS 服务器为:hpate1,导出路径为:/HA,NFS 客户端为:hostile.
HP-UX 上的 NFS 服务器配置
1. 以 root 身份登录服务器并进行配置。
2. 编辑文件 /etc/rc.config.d/nfsconf,
将 NFS_SERVER 和 START_MOUNTD 的值改为 1:
#more /etc/rc.config.d/nfsconf
NFS_SERVER=1
START_MOUNTD=1
3. 启动 nfs.server 脚本:
/sbin/init.d/nfs.server start
4. 编辑 /etc/exports 为每一个将要导出的目录添加一个条目:
# more /etc/exports
/HA
#
5. 强迫 NFS daemon nfsd 重读 /etc/exports :
#/usr/sbin/exportfs -a
6. 使用 showmount -e 验证 NFS 的安装:
# showmount -e
export list for hpate1:
HA (everyone)
#
HP-UX 上的 NFS 客户端设置
1. 以 root 身份登录。
2. 检查 NFS 客户机上您将要导入的目录是否为空或不存在。
3. 如果目录不存在,创建一个目录:
#mkdir /HA
4. 添加一个条目 /etc/fstab 这样文件系统将会在启动时自动安装:
nfs_server:/nfs_server_dir /client_dir nfs defaults 0 0
# more /etc/fstab
hpate1:/ha /ha NFS DEFAULTS 0 0
5. 安装远程文件系统:
#/usr/sbin/mount -a
6. 验证 NFS 安装:
# mount -v
hpate1:/HA on /HA type nfs rsize=32768,wsize=32768,NFSv4,dev=4000004
on Tue Aug 3 14:15:18 2010
#
在 AIX 上安装 NFS
本例中,NFS 服务器为:axion,导出路径为:/HA,NFS 客户端为:hurlqc.
AIX 上的 NFS 服务器配置
1. 以 root 身份登录。
2. 在命令行上输入 smitty mknfsexp,并指定要导出的目录:
#smitty mknfsexp
[-2]
no
[/HA]
Pathname of directory to export
Anonymous UID
Public filesystem?
* Export directory now, system restart, or both? Both
[]
Pathname of alternate exports file
[]
Allow access by NFS versions
External name of directory (NFS V4 access only)
Referral locations (NFS V4 access only)
[]
[]
[]
Yes
No
None
[sys,krb5p,krb5i,krb5,dh]
Read-write
[]
[]
[]
[]
[]
Replica locations
Ensure primary hostname in replica list
Allow delegations?
Scatter
* Security method 1
* Mode to export directory
Hostname list. If exported read-mostly
Hosts and netgroups allowed client access
Hosts allowed root access
Security method 2
Mode to export directory
3. 没有问题的话,您应该能看到一个 “OK”。
4. 验证服务器安装:
# showmount -e
export list for axion:
/HA (everyone)
#
AIX 上的 NFS 客户端配置
1. 以 root 身份登录。
2. 检查 NFS 客户机上您要导入的目录是否为空或不存在。
3. 如果目录不存在,创建一个目录:#mkdir /HA
smitty mknfsmnt
Type or select values in entry fields.
[Entry Fields]
[/HA]
[/HA]
[axion]
Press Enter AFTER making all desired changes.
[TOP]
* Pathname of mount point
* Pathname of remote directory
* Host where remote directory resides
Mount type name
* Security method
* Mount now, add entry to /etc/filesystems or both? Both
* /etc/filesystems entry will mount the directory
[]
[sys]
Yes
on system restart.
* Mode for this NFS file system
* Attempt mount in foreground or background
* Number of times to attempt mount
* Buffer size for read
* Buffer size for writes
[MORE...26]
[]
[]
Read-write
Background
[]
F1=Help
F5=Reset
F9=Shell
F2=Refresh
F6=Command
F10=Exit
F3=Cancel
F7=Edit
Enter=Do
F4=List
F8=Image
4. 如果收到消息 “OK”,表示它正常运行。您应该能看到并连接上安装的 NFS。
在 Solaris 上安装 NFS。
本例中, NFS 服务器为:stallion.in.ibm.com,导出路径为:/HA,NFS 客
户端为:saigon.in.ibm.com
Solaris 上的 NFS 服务器配置
1. 以 root 身份登录。
2. 检查 NFS 客户机上您要输入的目录是否为空或不存在。
3. 如果目录不存在创建一个目录并更改相应的权限:
#mkdir /HA
#chmod 777 HA
4. 编辑 /etc/dfs/dfstab 来添加一个入口用于和 NFS 客户端分享 HA 目录。
# more /etc/dfs/dfstab
share -F nfs -o rw /HA
5. 启动 NFS 服务器:
#/etc/init.d/nfs.server start
6. 使用 showmount 命令验证安装:
#showmount -e
export list for stallion:
/HA (everyone)
#
Solaris 上的 NFS 客户端配置
1. 以 root 身份登录客户机。
2. 创建一个目录并授予适当权限:
#mkdir /HA
#chmod 777 HA
3. 输入:
mount -f nfs stallion.in.ibm.com:/ /HA
4. 使用 mount -v 命令验证安装:
#mount -v