因ROUTER ID冲突导致业务中断的故障处理

发布时间:  2014-12-08 浏览次数:  416 下载次数:  0
问题描述
某大学新建一台S7700交换机作为片区的汇聚交换机,全网启用OSPF协议,进程为1;全校的业务核心为两台做双机的ME60-X8,ME60-X8直接下挂S7700。
为新建交换机所分配作ROUTER ID的LOOPBACK(10.0.0.1)地址是经过现网确认的,现网中没有该地址的路由信息。
在S7700设备入网时,OSPF邻居经过5、6分钟后才打到FULL状态,稍后又断掉,此时维护人员打电话称本校的宽带业务中断。将该S7700断开后,故障恢复。
告警信息
1、EntPhysicalContainedIn=67371017, EntPhysicalName="GigabitEthernet1/0/12", RelativeResource="", ReasonDescription="Overlow receiving power of fabric module, detail information is as follows: Now power is -23.8799992; Set lower threshold is -23.0200005; Default lower threshold is -23.0200005;")
2、Jun 21 2014 15:14:50 XXXXX-PJ.HW7700 %%01OSPF/6/CONFLICT_RTID_INTER(l)[819]:OSPF router ID conflict maybe occur on the inter-area. (ProcessId=1, RouterId=10.0.0.1)
3、Jun 21 2014 15:20:43 XXXXX-PJ.HW7700 %%01DEFD/6/CPCAR_EXCESS_LPU(l)[860]:Rate of packets exceeded the CPCAR on the LPU in slot 1. (Protocol=ospf, ExcessPacketCount=0104)
Jun 21 2014 15:20:43 XXXXX-PJ.HW7700 %%01DEFD/6/CPCAR_EXCESS_LPU(l)[861]:Rate of packets exceeded the CPCAR on the LPU in slot 1. (Protocol=bgp, ExcessPacketCount=024)
Jun 21 2014 15:20:43 XXXXX-PJ.HW7700 %%01DEFD/6/CPCAR_EXCESS_LPU(l)[862]:Rate of packets exceeded the CPCAR on the LPU in slot 1. (Protocol=ttl-expired, ExcessPacketCount=034917)
处理过程
1、查看链路闪断相关的告警,在入网过程中链路闪断的情况约为3分钟每次,继续了4、5次,该频率的闪断还不足以造成全网的业务中断,所以判断该问题不是主要原因;
2、因为设备上存在明显的OSPF ROUTER ID冲突告警,所以判断是因为ROUTER ID冲突造成的路由震荡,该问题应该才是造成业务中断的主要原因。但是维护人员在设备上没有找到S700 ROUTER ID的路由信息,所以推测原因是在该OSPF网络中前期有设备使用了该地址,并且该地址当时被选举为了本设备的ROUTER ID,后期该地址不再使用,被替换后指定了新的ROUTER ID,但是没有reset OSPF进程,导致新指定的ROUTER ID没有生效。所以就从这方面入手进行排查。
根因
1、链路质量不好,闪断造成路由震荡;
2、OSPF ROUTER ID冲突。
解决方案
一、在其他节点上查找此时所分配的ROUTER ID生成的路由信息(此时新入网的S7700已经断开),看到有相关的路由信息
二、查找该router id的来源
三、登陆到tracert路径的最后一跳的设备上查看OSPF的邻居信息
四、在冲突设备上查看配置,发现OSPF进程生效的ROUTER ID和手工指定的ROUTER ID不一致
五、在冲突设备上复位OSPF进程,确认生效的ROUTER ID为手工指定的ROUTER ID;
六、确认现网上已经没有原先冲突的ROUTER ID生成的路由信息
问题处理完成,此时新建的S7700已可以安全入网。
建议与总结
在运行OSPF协议的网络中,对于分配的ROUTER ID(即LOOPBACK地址),除了要在现网中通过第一步执行display ip rout  x.x.x.x确认没有该地址的路由信息,还需要通过第二步执行disp ospf lsdb originate-router x.x.x.x确认没有该地址作为router id生成的路由信息,实际工程中我们经常会执行第一步但忽略了第二步检查,而在分配ROUTER ID时,进行第二步的确认才是最关键的。

END