A机、B机HACMP不能相互接管,一般主要表现在两个方面:
1、 双机的HACMP参数配置、某些系统参数的配置以及双机应用环境设置是否符合实际需求; 2、 接管时,占有资源的机器是否能合理地释放资源 HACMP为我们测试高可用性环境提供了一个很有用的工具, 这就是停止hacmp的一种方式-----graceful with takeover(正常关闭并让另一方接管),要测试双机,可以按照如下面步骤进行: 一、隔离应用测试 1、 检查双机卷组状态(lsvg -o),文件系统情况(df),网卡状态及IP(netstat -in),/etc/hosts表; 2、 隔离应用。为了不改变原有HACMP配置,可将应用脚本中的命令注释掉,或者将这些应用脚本的执 行权限取消掉(chmod a-x filename),或将原有文件备份,将原有文件清空,增加一banner提示; 3、 在A机、B机启动HACMP(smitty clstart); 4、 跟踪/tmp/hacmp.out(tail -f /tmp/hacmp.out),直到node_up_complete事件完毕。检查双机 hacmp状态(clstat),卷组状态(lsvg -o),文件系统状态(df),网卡及路由状态 (netstat), cluster进程状态(lssrc -g cluster)。如果不能得到预期的结果,则需要检查 hacmp及系统配置; 5、 在A机执行smitty clstop, 选择graceful with takeover; 6、 跟踪双机的/tmp/hacmp.out(tail -f /tmp/hacmp.out),检查双机hacmp状态(clstat),卷组状态 (lsvg -o),文件系统状态(df),网卡及路由状态(netstat) ,cluster进程状态 (lssrc -g cluster)。如果不能得到预期的结果,则hacmp.out文件中应有相应的FAILURE EVENT的 提示,可依此对hacmp及系统进行检查; 7、 如果情况正常,A机的资源被B机接管,则回到A机,执行smit clstart启动HACMP; 8、 跟踪双机的hacmp.out(tail -f /tmp/hacmp.out),检查双机cluster状态(clstat,lssrc -g cluster),卷组状态(lsvg -o),文件系统状态(df),网卡及路由状态(netstat) 。如果A机不能取 回资源,检查hacmp.out文件,查找FAILURE EVENT信息,然后hacmp及系统进行检查; 9、 如果以上情况都正常,则说明hacmp在没有应用干预的情况下,双机工作正常。可停止双机hacmp (smitty clstop)进行如下的测试。 二、加载应用测试 10、 检查双机卷组状态(lsvg -o),文件系统情况(df),网卡状态及IP(netstat -in),检查应用脚本权 限、属主,内容(将原先脚本复原)。 11、 在A机执行smitty clsart,。 12、 跟踪hacmp.out,检查是否被正常启动,检查卷组、文件系统、应用进程、网卡ip地址,同时还可 以进行简单的应用测试。如果应用没被启动,则需要检查应用启动脚本以及应用环境。 13、 如应用正常,则执行smitty clstop,选择graceful; 14、 检查hacmp.out、卷组、文件系统、cluster进程、网卡IP地址。如果其中出现以下情况将不能停止: 1) 文件系统没有被unmount,检查还有哪些进程在使用它(fuser -u filesystem),然后对应用脚 本进行优化。 2) 文件系统被unmount,但卷组没被varyoff,检查lsvg -l vgname,查看是不是还有lv是open状 态,检查还有哪些进程在使用它(fuser -u /dev/lvname),然后对应用脚本进行优 化。 * 如果以上方法都无效,可尝试如下方法,在停止应用脚本未尾增加如下几行: sleep 30 fuser -ku /filesystem(将正在使用文件系统的进程强迫杀掉) fuser -ku /dev/lvname(将正在使用逻辑卷的进程强迫杀掉) 15、 如果上述情况正常,则证明机器A机应用脚本没有问题。现在开始启动双机的HACMP(smitty clstart); 16、 在A机执行smitty clstop, 选择graceful with takeover; 17、 跟踪双机的/tmp/hacmp.out(tail -f /tmp/hacmp.out),检查双机hacmp状态(clstat),卷组状态 (lsvg -o),文件系统状态(df),网卡及路由状态(netstat) ,cluster进程状态(lssrc -g cluster)。 出现问题的原因可能有两种: 1) A机cluster进程一致处在stopping状态(lssrc -g cluster),A机hacmp.out有fail event信 息,这时可考虑在A机停止脚本后加一时间延迟,如sleep 100。 2) A机资源正常释放,B主机卷组、文件系统、网卡地址都正常接管,但应用未启动,此时应检 查B机应用启动脚本属性、内容以及应用环境。 18、 如果情况正常,则说明B机接管A机的资源正常。再在A机,执行smit clstart启动HACMP; 19、 跟踪双机的hacmp.out(tail -f /tmp/hacmp.out),检查双机cluster状态(clstat,lssrc -g cluster),卷组状态(lsvg -o),文件系统状态(df),网卡及路由状态(netstat) 。如果A机不能取回 资源,参考14和17; 以上测试只是针对资源组是casscading方式,并且A机的优先级比B机高。要测试以B机为主的资源组,同样可参照 上述方法。检查HACMP常用命令:1、 检查文件系统状态#df
2、 检查网卡及IP地址状态# netstat -in
3、 查看路由表#netstat -rn
4、 检查卷组# lsvg# lsvg -o 检查激活的卷组# lsvg vgname 检查卷组的属性,卷组的有效空间、利用空间、空闲空间,卷组是否启动激活# lsvg -l vgname 检查卷组包含的逻辑卷
5、 检查物理卷# lspv# lspv pvname 检查物理卷属性,空间使用情况
6、 性能分析检查# vmstat m n (m表示显示行数,n表示间隔时间)
7、 页空间使用情况# lsps -a# lsps -s
8、 进程状态检查# ps -ef# ps aux
9、 HACMP CLUSTER进程状态检查# lssrc -g cluster# ps -ef | grep cluster
10、 检查双机节点运行状态# /usr/sbin/cluster/clstat (clinfo进程必须启动)
11、 启动、停止HACMP# smitty clstart(推荐) & # rc.cluster & # startsrc -g cluster# smitty clstop(推荐) & # clstop & # stopsrc -g cluster
12、捕获hacmp启停事件状态信息 tail -f /tmp/hacmp.out