APP下载

OracIe 高可靠并行集群安装排错

2019-12-16西安王金国解宝琦

网络安全和信息化 2019年12期
关键词:系统集成网卡日志

西安 王金国 解宝琦

企业核心系统如何能够持续保持7×24小时的高可靠性运行,是作为企业级应用系统的一项重要技术指标和研究方向,尤其是在实时性要求更高的应用领域内,这样的系统集成能力直接考验着系统设计者、建设者的技术能力。

系统集成过程具有更多的工程化特点,系统组件间的搭配和组装,耦合部分的嵌套与装配都需要很多打磨和耐心仔细调试,这样才可能使系统应用于高可靠、高可用、高安全性的重要生产环境。系统集成过程中,可能会面临很多具体的问题,这需要集成工程师们逐步排错并消除,否则可能导致本来是用于增加系统容错或高可靠性的设计反而成为系统中最不稳定的结构和部分。

本文结合构建这样的并行集群系统可能存在的隐性问题给出一些具体的排错过程,希望能为企业级用户构建自己的高可靠并行集群数据库系统给出一点建议。

系统组成

集成系统描述:

采用小型机并安装AIX作为操作系统,并在其上安装了Oracle 数据库系统,版本号为12.1.2.0,使用SAN网络提供的存储LUN 映射并组建了GPFS 文件系统卷组挂载点。并行集群内部交换机使用两台交换机进行堆叠处理后形成一台高可用逻辑交换机,每台小机节点使用两个万兆网口作为Oracle并行集群RAC 心跳监测网口,使用两组千兆网口绑定分别作为业务服务网口和GPFS并发文件系统通信网口。拓扑图如图1 所示。

集成过程遇到的主要问题及排错

图1 集成系统拓扑图

AIX 系统初始安装“AIX7100-05-03-1837”版本,按照Oracle 提供的最低安装环境要求进行了相关参数配置并安装了“Oracle12C 12.1.2.0”数据库RAC环境。

集成完成后,虽然各软件组件都成功的进行了安装,但通过操作系统警告日志以及Oracle警告日志发现很多严重错误,并且呈现出随机性错误,既有Oracle 的ORA-600 内部错误,也有系统自身产生的系统性错误,系统无法上线运行。

错误之多让系统集成工程师一时没了头绪。经过几天的观察和项目组的共同协商,项目集成组决定按照“先系统后应用”的原则以模块化功能为问题域,以问题时域为排序,逐一进行排错和解决。

1.系统出现的第一个问题是AIX 系统的1GB 和10GB 混装网卡(型号:ENOS PCIe24-Port(10Gb+1GbE)SR+RJ45 Adapter),通过AIX 的系统警告日志报出如图2 所示信息。

图2 AIX 系统警告日志报错信息

图3 网卡上启用端口的另一个临时性错误

图4 通过“errpt -aj 6B877D80”命令查看报错信息

并且在这个网卡上的所有启用的网络接口都会报该错误,通过错误我们可以看到,网络接口会随机性出现重启的问题,这给上层GPFS以及Oracle 的心跳监测状态带来不确定性。更让人担心的是在测试实验中我们无意中发现,如果手工拔掉某一启用网络接口的网线,那么该混装网卡上的所有接口都会被重置连接。

经过与IBM 原厂工程师的联系以及现场日志收集等工作,最终确定为AIX 操作系统级BUG,将操作系统升级到“AIX7100-05-04-1914”后,该问题得到彻底解决。

2.操作系统升级完成后,混装网卡不再出现重置现象,但日志里依然会随机性报出该混装网卡上的启用端口存在的另一个临时性错误,错误信息如图3 所示。

通过命令“errpt-aj 6B877D80”查看详细信息中的描述部分如图4 所示。

伴随该问题出现的同时依然有“F22A8688 0508223219 P H ent3 Hardware error”硬件错误,此时系统补丁已经升级到厂商提供补丁集的最新版本。

为了保证该生产系统更好的稳定性,避免系统隐患带来的重大问题,项目集成组通过配合原厂工程师进行了认真的系统日志追踪和排查,并通过IBM 原厂工程师最终确认该问题是此款混装网卡自身微码BUG,经原厂工程师对该款混装网卡进行了紧急补丁修补后,故障才得以彻底解决。

该问题属于此款网卡特定隐性BUG,因为其在国内使用量较少,所以该问题也相当少见,用户在选型时需要特别注意。

3.经过前两个故障的问题排查和处理,系统报错日志明显减少,基本只有“FE2DEE00 0726213218 P S SYSXAIXIF DUPLICATE IP ADDRESS DETECTED IN THE NET”报错,通过命令“errpt-aj FE2DEE00”查看详细信息有如图5 报错。

经核对多条该报错信息中的MAC 地址发现网络接口均为Oracle 并行集群RAC心跳监测万兆网口的MAC 地址,联想到安装Oracle 并行集群RAC 时使用了两组心跳监测地址,问题应该于此有关。

于是通过了解和询问Oracle 以及通过上网查询类似问题,发现原来在安装Oracle 并行集群RAC 的过程中,Oracle 通过算法生成一个169.254 网段的IP 地址,然后通过ARP 方式向局域网内发送广播,判断当局域网内无此IP 时,就会正式分配此IP 给RAC。此地址是分配之后无法更改的,即使修改了私网IP 地址,此IP 都不会发生变化。

图5 查看详细报错信息

因为使用了两组Oracle并行集群RAC 心跳监测,这导致了算法生成一个169.254 网段的IP 地址在两组万兆网口间出现了IP 地址争抢和漂移,导致出现该问题,通过在堆叠交换机中使用VLAN 将两组Oracle 并行集群RAC 心跳监测万兆网口进行隔离后,该报错信息消失。

4.经过以上排错和处理,系统报错全部的到了解决。剩下就只有Oracle 警告日志中的内部错误了,错误信息如图6 所示。

图6 OracIe 警告日志中的内部错误

经项目集成组通过Oracle 技术支持服务确认是“bug 21283337”导致了此ORA-600 错误,需要使用“patch 21283337”来修复此问题。下载补丁p21283337_12102180417_AIX64-5L.zip,并参照补丁中提供的README 安装此补丁后,Oracle 内部错误消失。

通过以上的排错和系统修补及优化,经过一周的测试以及人为制造各种链路中断试验后,系统正式上线运行。

结语

系统集成碰到的问题可能是多方面的,可能是一个设备的多个问题,可能是一个问题相关了N个设备。系统集成工程师们需要有剥丝抽茧的耐力和善于发现的能力,逐步从繁杂的事物中抽取出真正的问题域和发现。这需要长期的习惯养成和自我能力的提升,同时也需要项目集成团队里成员间的良好协作和沟通。

猜你喜欢

系统集成网卡日志
一名老党员的工作日志
加氢站与调压站能源供应系统集成技术及应用
联网全靠它 认识笔记本的无线网卡
扶贫日志
试析汽车产业智能制造中的信息化系统集成
Server 2016网卡组合模式
雅皮的心情日志
雅皮的心情日志
基于NI的硬件在环仿真系统在整车系统集成测试中的应用
我国系统集成的发展与展望