![[Linux]](nglinux.gif)
RDQM DR 解决方案的需求
在配置 RDQM 灾难恢复 (DR) 队列管理器对之前,必须满足许多需求。
系统需求
在配置 RDQM DR 之前,必须在要托管 RDQM DR 队列管理器的每个服务器上完成一些配置。
- 每个节点都需要一个名为
drbdpool的卷组。 每个灾难恢复复制数据队列管理器 (DR RDQM) 的存储器将作为此卷组中每个队列管理器的两个单独逻辑卷进行分配。 (每个队列管理器都需要两个逻辑卷来支持还原为快照操作,因此每个 DR RDQM 分配的存储空间仅为您在创建时指定的存储空间的两倍。) 为了获得最佳性能,此卷组应由一个或多个对应于内部磁盘驱动器 (最好是 SSD) 的物理卷组成。 - 创建
drbdpool卷组后,请不要对其执行任何其他操作。 IBM® MQ 管理在drbdpool中创建的逻辑卷以及安装这些逻辑卷的方式和位置。 - 每个节点都需要一个用于数据复制的接口。 考虑到所有复制的数据队列管理器的预期工作负载,这应该有足够的带宽来支持复制需求。
对于最大容错,此接口应该是独立的网络接口卡 (NIC)。
- DRBD 要求用于 RDQM 的每个节点都具有有效的因特网主机名 (
uname -n返回的值) ,如 RFC 1123 修正的 RFC 952 所定义。 - 如果用于 DR RDQM 的节点之间存在防火墙,那么防火墙必须允许用于复制的端口上的节点之间的流量。 提供了样本脚本 /opt/mqm/samp/rdqm/firewalld/configure.sh,用于在 RHEL 中运行标准防火墙时打开必需的端口。 必须以
root用户身份运行脚本。 如果您正在使用其他一些防火墙,请检查服务定义/usr/lib/firewalld/services/rdqm*以查看需要打开哪些端口。 该脚本为 DRBD 和 IBM MQ 添加以下永久 firewallD 服务规则 (如果您未使用 HA ,那么可以编辑该脚本以省略 Pacemaker 端口):- MQ_INSTALLATION_PATH/samp/rdqm/firewalld/services/rdqm-drbd.xml 允许 TCP 端口 7000-7100。
- MQ_INSTALLATION_PATH/samp/rdqm/firewalld/services/rdqm-mq.xml 允许 TCP 端口 1414 (如果需要其他端口,必须编辑脚本)
- 如果系统以非许可方式使用 SELinux ,那么必须运行以下命令:
semanage permissive -a drbd_t
网络要求
建议您在不同的数据中心内找到用于灾难恢复的节点。
您应该了解以下限制:
- 随着数据中心之间等待时间的增加,性能会快速下降。 对于同步复制, IBM 将支持最长为 5 毫秒的等待时间,对于异步复制,将支持最长为 100 毫秒的等待时间。
- 通过复制链路发送的数据不受使用 IBM MQ AMS 时可能存在的任何其他加密的限制。
- 配置 RDQM 队列管理器以进行灾难恢复会产生开销,因为需要在两个 RDQM 节点之间复制数据。 与异步复制相比,同步复制会产生更大的开销。 使用同步复制时,将阻塞磁盘 I/O 操作,直到将数据写入两个节点。 使用异步复制时,必须先将数据写入主节点,然后才能继续处理。
复制和网络容量
您可以在主队列管理器和辅助队列管理器之间选择同步或异步复制数据(DR/HA 队列管理器的 DR 复制始终是异步的)。 使用异步复制时,在 DR 主队列管理器实例上写入的任何数据都必须写入 DR 主实例的本地磁盘,并在 DR 主实例完成写入之前复制到 TCP 连接的发送缓冲区。 DR 网络的任何拥塞都会限制 DR 主实例的写入完成时间,从而限制队列管理器的性能。 这种拥塞可能导致发送缓冲区被填满,无法向其中复制新数据,队列管理器将暂停持续消息传递操作,直到发送缓冲区的容量耗尽,可以向其中复制等待的数据。
一旦 sendbuffer 可以接受数据,异步复制就会照常进行(因此不会变成真正的同步复制)。 必须确保可用的灾难恢复网络容量足以满足报文传送工作量的需要。
使用队列管理器的用户需求
要创建,删除或配置复制的数据队列管理器 (RDQM) ,您必须是 root 用户,或者具有属于
mqm 组的用户标识,该用户标识被授予对以下命令的 sudo 权限:- crtmqm
- dltmqm
- rdqmdr
属于
mqm 组的用户可以使用以下命令来查看 DR RDQM 的状态和状态:- dspmq
- rdqmstatus
mqm 用户在两台服务器上都必须具有相同的 UID ,而 mqm 组在两台服务器上都必须具有相同的 GID。