如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx

上传人:夺命阿水 文档编号:908819 上传时间:2024-01-12 格式:DOCX 页数:10 大小:79.31KB
返回 下载 相关 举报
如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx_第1页
第1页 / 共10页
如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx_第2页
第2页 / 共10页
如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx_第3页
第3页 / 共10页
如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx_第4页
第4页 / 共10页
如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx》由会员分享,可在线阅读,更多相关《如何在UNIX操作系统的HA-集群(CLUSTER)环境配置MQ的高可用性.docx(10页珍藏版)》请在课桌文档上搜索。

1、如何在UNIX操作系统的HA集群(CLUSTER)环境配置MQ的高可用性?内容提要:本文详细介绍了如何在HA的集群(CIUStCr)环境下创立和配置MQ队列管理器,也介绍了如何配置HA产品,以支持MQ的高可用性配置.本文提到的HA环境为Solaris,AIX,HP的高可用软件;也可适用其他UNIX系统包括IinUX操作系统.此文内容来自MQsupportpacMC91.说明:MQ产品本身提供了很多有助于高可用性的功能,比方mq集群.MQ集群主要用于简化管理和负载均衡,同时也提供了比单一的MQ队列管理器更好的高可用性.比方,一个队列管理器发生故障,消息仍然可以发到cluster中配置了相同的队列

2、实例的队列管理器上.但WMQ的集群无法提供队列管理器故障的自动检测和恢复,而借助操作系统的HA集群CLUSTER,那么可以实现这些功能.将MQ和操作系统HA产品的结合,可以进一步提供WMQ队列管理器的高可用性.通过一个正确配置的HAcluster,可以检测到电源,节点,磁盘控制器,网络,网络适配器和队列管理器进程的故障,并自动触发恢复的程序,让受到影响的MQ队列管理器尽快恢复工作.注释:1)本文中提到的HAcluster专指节点和资源的集合,用于提供ClUSter内部效劳的高可用性,与MQ的ClUSter概念不同.2)高可用性软件名称:AIX平台:HACMPSolaris平台:VCSHP平台:

3、serviceguard正文:下面将详细介绍如何配置MQ在HA集群CLUSTER环境的高可用性.预先要求是操作系统,HA产品已经成功安装.下列图为配置的示意图:ClusterDiagram-htkM8Ml0Nh*M3PMfU&iCMidpMCiXfMoftXJM*5dMSMQ在HACIUSter环境配置的中心问题就是将MQ队列管理器的互斥数据放在各自独立的文件系统中,而把队列管理器的其它数据放在共享文件系统上。(一)安装L安装MQ产品在HACLUSTER的每个节点上按照常规安装MQ,多个节点无法共享一个MQ安装.安装MQ的考前须知如下:DMQ要安装在每个节点机器内盘上,不要安装在共享盘上所有节

4、点的MQ版本要相同,除非在做版本升级的过程中.2)安装mq时,注意不要如MQ信息中心所述,创立独立的varmqm和varmqmIog文件系统.3)所有节点定义的mqm用户和mqm组对应的id号要全部相同.2.安装MQsupportpacMC91Supportpac下载网址:在每个cluster中的节点,以mqm或root登录.对于HACMP和serviceguard软件,创立MQHAbin目录.对于VCS软件,创立optVRTSvcsbinMQM目录.此为例子脚本指定的工作目录.也可以把脚本放到不同的目录,但需要相应的修改脚本.将下载的Supportpac文件解压缩后放到所选目录.确保所有此目

5、录下的脚本具有执行权限:AIX平台和HP平台:# Chlnod755ha*Solaris平台:# ChnIOd+xonlineofflinemonitorcleanha*explain另外,对于Solaris平台,Agent的方法是由perl语言写的.需要拷贝或链接ScriptAgent的二进制到MQM的代理目录.# CPoptVRTSvcsbinScriptAgent/opt/VRTSvcs/bin/MQMMQMgentMQM的资源类型需要被加到cluster的配置文件:当cluster运行时,可以使用VCCS图形配置或HA命令实现.当CIUSter停止时,编辑.Cf类型的文件.详细情况请参

6、考mc91.pdf的附录A.配置和重新启动cluster,确认新的资源已经被认可:hatype-displayMQM(二)配置所有的HA产品都有一个切换单元(Unitoffailover)的概念.这是一套包含用于完成高可用效劳的相关所有进程和资源的一套定义.这个方法最大化了每个效劳的独立性,提供了灵活性和最小化故障发生的影响.在HACMP环境,切换单元名称为资源组.VCS环境名为效劳组.HPserviceguard名为Package.MQ的最小切换单元为一个队列管理器.最优化的配置是把每个队列管理器放在不同的资源组中,资源组包含由队列管理器使用的共享磁盘(可以是卷组或磁盘组);用于连接队列管理

7、器的ip地址和队列管理器.可以把多个队列管理器放在相同的资源组中,但是,如果这样,多个队列管理器在发生切换时,将一起切换.这可能导致不必要的应用中断;另外,如果要使用应用监控,资源组中只有一个队列管理器可以被监控.如果要检测多个,需要自己编写监控程序.1 .配置HAcluster,这里只是简要描述,详细情况需要参考相应HA高可用软件的说明.HACMP:1)在CIUSter节点配置TCP/IP.2)配置cluster,cluster节点,和适配器3)同步CIUStertopology.VCS:1)参照VCS文档,配置VCSCluser2)创立一个cluster,按照常规配置网络和系统Serivi

8、ceGuard:1)创立和配置ASCnpackage的配置文件模板.设置PACKAGE,NAME设置N0DE_NAME设置RUN_SCRIPT设置HALT,SCRIPT设置SERVER,NAME设置SUBNET2)创立和配置PaCkage控制脚本设置VG,LV和IP设置SUBNET设置SERvlCE_NAME3)使用提供的hamqm_start脚本,建立customer_define_runcmds功能4)使用提供的hamqmstop脚本,建立customerdefinestopcmds功能5)禁止使用nodefai1fast.-翻开package切换功能针对所有平台:确认初始的配置功能正确.

9、比方可以创立一个独立的文件系统,测试它可从一个系统切换到另外一套系统.2 .创立共享卷组.在共享卷上创立队列管理器需要的数据和日志存放的文件系统.参考下列图:FilesystemorganisationThgrttxftr.3q.ueEeQercienacsciMQHAdata用于存放队列管理器的数据MQHAIOg用于存放队列管理器的日志var/mqm不能建成一个文件系统,而应该为每个队列管理器建立如上的文件系统,这是因为安装补丁有时需要访问varmqm目录,如果只有活动节点可以访问此目录,那么standby机器将无法安装补丁;另外也可保证halinkmqm脚本可以更新备份节点的mqs.ini

10、.3 .创立MQ队列管理器使用脚本hacrtmqm脚本创立队列管理器,此脚本会调用halinkmqm脚本,会对MQ队列管理运行需要的互斥数据保存在本地,并创立如下图的目录和链接.确认队列管理器可以正常启动,定义所需的object,确认其他节点可以使用halinkmqm脚本启动队列管理器.4 .配置可移动的资源.资源组将IP地址作为效劳的标签.这是客户端和通道连接队列管理器的IP地址.可以为cascading或rotating.HACMP:1)创立一个资源组,自己选择配置种类2)配置资源组,添加serviceIP标签,卷组,文件系统资源.3)同步CIUSter资源4)在每个CIUSter节点启动

11、HACMP.确保cluster稳定性.各自的卷组已经切好,文件系统正确安装.VCS:1)创立一个SerViCegoup,注意选择适宜的SyStemLiSt,Parallel,OnlineRetryLimit,OnlineRetrylnterval,FailoverPolicy,AutoStart,AutoRestart,和AutoFailover属性2)添加磁盘组和IP地址到效劳组3)确保效劳组可以在节点间正常切换,并且符合属性设置.SCrViCCGUard:(详细步骤由HP提供)1)配置clusterLl)创立ascii模板文件Cmquerycl-v-Cetccmclustercluster

12、.ascii-nptaca2-11ptaca31.2)修改模板,反映环境的改变,确认cluster配置cmcheckconf-v-C/etc/cmcluster/cluster,ascii1. 3)应用配置文件,这将创立cluster,自动在cluster中分发Cmclconfig文件1. 4)启动和停止clustercmruncl-v-nptaca2-nptaca3cmviewcl-vcmhalt-f-vcmruncl-nptaca2-nptaca32)在第一个节点配置被称为mql的SCrViCeGUardpackage2. 1)创立和修改mql的packagecdetccmclusterm

13、kdirmqlCmmakepkg-smql.conf2. 2)编辑mql.conf文件2. 3)进到新创立的mql目录,执行命令Cmmakepkg-Smqltl2. 4)停止CIUStercmhaltcl-f-v2. 5)散发配置文件cmapplyconf-v-Cetccmclustercluster.ascii-P/etc/cmcluster/mql/mql.conf3)测试cluster和package启动3. 1)停止所有队列管理器3. 2)unmount所有卷组中的逻辑卷3. 3)deactivate卷组3. 4)启动clustercmruncl3. 5)检查package已经启动Cm

14、viewcl-v4)分配package的动态IP地址4. 1)暂停packageCmhaltpkgmql4.2)编辑mqltl脚本,添加package的ip地址4. 3)重新启动packageCmrunpkg-vmql4. 4)检查package己经启动,并且有客户端Cmviewcl-v5)添加第2个节点到cluster5. 1)编辑mq.conf文件,添加下面一行NODE_NAMEptaca25. 2)应用新配置cmapplyconf-V-Cetccmclustercluster.ascii-Pmq1.ascii5. 3)暂停clustercmhaltcl-f-v5. 4)重新启动CIUSt

15、ercmruncl-v6. 测试package切换6.1)停止mqlpackageCmhaltpkgmql6.2)machinePtaCa3上启动mqlpackagecmrunpkg-nptaca2mql6.3)在ptaca3上给mqlpackage的翻开package转换.6.4)暂停mqlpackageCmhaltpkgmql6.5)在机器ptaca2上启动mqlpackagecmrunpkg-11ptaca2mql6.6)在ptaca2上给mqlpackage翻开package转换cmmodpkg-emql5.配置应用效劳器或agent在HAClUStCr环境的资源组中,队列管理器由应用

16、效劳器或agent代表.MQ的Supportpac中包含了例子效劳器启停方法,允许HA产品在对应cluster事件和命令时,启动和停止mq队列管理器.对于HACMP和ServieGuard,脚本hamqm_start,hamqm_stop,hamqm-applon程序为ksh脚本对于VCS,由online,offline,monitor,clean的perl程序提供HACMP:1)定义启动和停止队列管理器的应用效劳器.启动和停止脚本包含在Supportpac中.可以客户化后使用,也可以不修改.脚本名称为hamqni_start和hamqm_stop2)添力口applicationserver到

17、资源组的定义中.3) .同步cluster配置4) .测试系统可以通过将资源组online或offline,成功启停队列管理器.VCS:1)在etcVRTSvcsCOnf/config/main.cf文件中添加一个资源entry.参考文档的附录A,看完整的main,cf文件内容.客户化此文件中的属性2)在队列管理器资源,文件系统和IP地址间创立资源的依赖性.3)启动效劳组,检查可以成功启动队列管理器.4)停止效劳组,检查是否停止了MQ队列管理器.Serviceguard:1)定义start命令,这样用户可以在SCrViCegUard的控制下,使用mqm用户启动mq队列管理器.sumqm-czz

18、MQHbin/hamqmstartsuSqmgrzz定义stop命令这样可以在Serviceguard的控制下使用mqm用户停止mq队列管理器.在脚本/etc/cmc1uster/mq1mq1tl中添加下面一行,创立WraPPer功能.#SUmqm-czz/MQHA/bin/hamqm_stop_su$qmgr306.配置应用监控器HACMP如果您使用HACMP/ES,你不仅可以配置节点或网络故障恢复,也可以配置应用监控器监控队列管理器的健康和触发恢复措施,恢复的措施包括启动本地队列管理器或者将资源组切换到另外一个节点上.当使用hacrtmqm脚本创立队列管理器,就会在MQHAbin目录夏创立

19、一个名为hamqm_app1mon$qnigr.例子的应用监控器会监控MQ队列管理器是否在启动,或是否认为自己已经被启动.由于队列管理器的启动时间不同,取决与有多少IOg记录需要重放.如果用户自己编写应用监控器,需要考虑稳定期,以确保一个有效的mq队列管理器不被中断或错过问题的检测.1)翻开队列管理器监控.定义客户化的应用监控.提供监控脚本的名字.告诉HACMP多长时间调用一次.设置稳定间隔为10秒(除非你的队列管理器需要很长时间才能启动).2)同步cluster资源3)测试应用监控器的操作.特别要确认本地启动的功能已经配置.一个方便的测试方法是杀掉amqzxma进程做测试VCS:不需特别配置

20、.监控功能已经被自动调用Serviceguard:1)创立一个监控脚本.这个脚本为Supportpac中提供的/MQHA/bin/hamqm_app1mon_su脚本.它将通过使用)ingqmgr命令监控队列管理器的健康状况.监控脚本将由针对队列管理器的packagecontrol脚本调用(etc/cmcluster/mql/mqltl).具体方法是通过添加下面几行到mqltl文件.SERVICEeNAMEn=mqlSERVICE_CCMMAND(n=*su-cwetccmclustermql:wheremql.moniaro11AmQdversionofhamcp:_applmoncripmqlisthenameofthpackagebeingmonitoredQMAisthenaxneofzhequeuemanagertomonitornisthenumberoftheservicebeingmonitored.对于所有平台:当stop脚本被调用后,如果mq队列管理器无法停止所有进程,将强制杀掉所有与此队列管理器相关的mq进程,关于如何将cluster中的队列管理器移走或删除,本文就不再讲述.如果用户有此需要,可参考mc91.pdf一书.I1021I是否有帮助I反馈成功br反馈失败2607038119000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号