分享一个我们同事遇到的“血案”:
系统日常运维中,我们经常要对重要AIX生产系统的操作环境进行mksysb备份,但是同事在一次例行的mksysb备份过程中,意外导致了 EDGE系统应用停止服务。
问题描述:
Edge server系统通过HA方式运行IBM P570小型机上的两个分区A和B上,但每个小型机上还有其他2个分区。当天需要执行mksysb备份A机分区,但备份的磁带机没在A机上,而在其他分区D机上,因此变更的步骤中包括了如下操作:
1、 在D机上通过命令找到磁带机所处属的scsi设备
lsdev –C|grep tape
2、 在D机上删除scsi设备
rmdev –dl sissas0 –R
3、 通过动态Lpar将磁带机设备move至A机
4、 在A机上执行cfgmgr命令扫描磁带机设备
cfgmgr
5、 在A机上进行操作系统mksysb备份
smitty mksysb
但是就在mksysb的时候,我们发现A机系统交易异常,进而查到A机上的EDGE server服务异常:
1、 无法连接EDGE服务器,端口不通。
2、 从A机的EDGE HA日志中可以看到:
Wed Aug 5 02:20:48 BEIST 2015 >>>goActive 192.18.12.68
aliasing for cluster A
Wed Aug 5 02:20:48 BEIST 2015 -------------------- goActive
3、 从B机的EDGE HA日志中可以看到
Wed Aug 5 20:20:34 BEIST 2015 << removing aliases for cluster A Wed Aug 5 20:20:34 BEIST 2015 -------------------- goStandby 4、 通过dscontrol可以确认A机的EDGE服务已经切换至B机 5、 虽然服务切换至B机,但是交易却显示不正常,而且无法正常停止EDGE服务。 问题处理: 1、B机重启系统 2、B机通过dsserver重新启动edge服务后,交易恢复正常 3、A机重启系统 4、A机通过dsserver启动edge服务,接管回BGSP的服务 问题分析: EDGE HA切换的标准是: 依据1:如果心跳在指定时间(3秒钟)没有收到回应,则一定会进行HA切换; 而cfgmgr命令会扫描当前操作系统所挂载的所有硬件设备,包括网卡。本次变更进行cfgmgr扫描的时候,造成了网卡有3秒钟的中断,因此触发了EDGE HA切换,但这并不是必然的结果,只是有概率发生。
依据2:如果心跳已经在指定时间收到了回应,心跳中包含了发送心跳方可以REACH的目标数量,如果自己可以REACH的数量超过了对方的数量,则设置自己为ACTIVE。如果这个现象发生在备机上,就会出现HA切换。
对于这种情况,一般需要修改I/O pacing参数和syncd参数,来分散大IO对timeouts的影响,
在HACMP的两节点执行如下操作:
# smittyhacmp
ExtendedConfiguration à
ExtendedVerification and Synchronization à
修改I/O pacing参数:
Change/Show I/O pacing à
* HIGHwater mark for pending write I/Os per file [xxxx] +#
* LOW water mark for pending write I/Os perfile [xxxx] +#
修改syncd参数:
Change/Showsyncd frequency à
*syncd frequency (in seconds) [10] #
收起