现在要求,
调查原因!
客户进行SAN网络维护,由于只是对多路径中的一路进行操作,所以选择在线操作,操作完成后,意外发现RAC群集中的一个数据库实例竟然宕了,并且怎么也拉不起来,重启节点服务器后,解决了,要求事后调查原因。
这是套运行在linux环境上的RAC,ASM磁盘基于asmlib。问题的定位并不困难,主要是两方面的原因,更换sfp模块触发问题,而实施的时候asmlib可能没有关联到多路径盘上面,导致单条路径的失败引起asmlib识别的虚拟设备丢失是根本原因。
让一线取回/etc/sysconfig/oracleasm和/var/log/oracleasm文件的内容,以及ls -l dev/oracleasm/disks的输出。
oracleasm配置
ORACLEASM_SCANORDER=""是空的,这样的话,oracleasm扫描磁盘的时候不会只选择多路径化后的设备,而是会包括那些单路径磁盘。这种情况下,在线维护SAN链路就讲究手气了,如果维护的那条链路刚好是asmlib识别的设备,那么就会导致asm文件无法访问,而关闭数据库实例。事实上,客户SAN维护影响到2个RAC节点,结果是一个节点保持存活,另一个节点牺牲。
由于linux内核将故障链路对应的磁盘置于不可访问后,不经过重新扫描或者重启,不会置回活动状态,所以即使SAN链路恢复后,重启数据库实例仍然无法成功。
获取Is命令输入
次日客户获取的ls命令输出确认了,报故障的ASM磁盘DATA2确实是指向了单路径,这样一旦所涉及的路径失败,将导致ASM磁盘组的不可访问。
下面引用解决过程中找到的不记得出处的一段文字,说明asmlib关于多路径的配置方法:
“在多路径环境下使用 ASMLib时,确保已正确配置 ASMLib,以便多路径设备可用于访问对应的设备。通过编辑 /etc/sysconfig/oracleasm配置文件和修改 ORACLEASM_SCANORDER以包括 /proc/partitions中的有效前缀条目(如“dm”、“emcpower”),即可实现这一点。”
作者简介
慕容荃
银信科技AIX/Oracle/TSM/Informix方面的资深技术专家。年少轻狂时致力于成为走过的每一个领域的专家;随着岁月老去,更看重在分享中寻获的快乐,从早年的aixchina.com到现在的银信微讲堂,一直在路上。工作之余,喜欢打牌,看电影,看科幻小说,也不排斥跑步打球出一身汗。
银信科技
IT运维整体解决方案提供商











