ASR9K 的MOD160卡自动重启,表现为MOD160子卡上的MPA子卡上的端口均不通,出现中断。
自动重启的原因可能是由于Parity error 奇偶校验错误。
检查ASR9K 的系统log,会发现如下日志:
LC/0/2/CPU0:May 9 06:05:19.776 : prm_server_ty[316]: %PLATFORM-NP-3-ECC : prm_ser_check: Parity error detected: NP 0, block 0x15 (RSV), offset 67, memid 557, name KMEM_HIGH9, addr 0x00000002, bit 2147483648, ext info 0xffffffff 0xffffffff 0xffffffff 0xffffffff, action 2 (Reset)
LC/0/2/CPU0:May 9 06:05:19.781 : pfm_node_lc[304]: %PLATFORM-NP-0-NON_RECOVERABLE_SOFT_ERROR : Set|prm_server_ty[168017]|0x1008000| A non-recoverable soft error has been detected on NP0. The linecard will be rebooted.
LC/0/2/CPU0:May 9 06:05:19.787 : pfm_node_lc[304]: %PLATFORM-PFM-0-CARD_RESET_REQ : pfm_dev_sm_perform_recovery_action, Card reset requested by: Process ID: 168017 (prm_server_ty), Fault Sev: 0, Target node: 0/2/CPU0, CompId: 0x1f, Device Handle: 0x1008000, CondID: 1034, Fault Reason: A non-recoverable soft error has been detected on NP0. The linecard will be rebooted.
LC/0/2/CPU0:May 9 06:05:19.787 : syslog_dev[89]: pfm_node_lc[304]: Request Graceful Reboot via Sysmgr: Reason: pfm_dev_sm_perform_recovery_action, Card reset requested by: Process ID: 168017 (prm_server_ty), Fault Sev: 0, Target node: 0/2/CPU0, CompId: 0x1f, Device Handle: 0x1008000, CondID: 1034, Fault Reason: A non-recoverable soft error has been detected on NP0. The linecard will be rebooted.
此类Parity error 的问题在很多设备上都会出现,所有的硬件厂商都会遇到此类问题。
这类问题的原理,板卡芯片的存储芯片由于硬件问题,或者背景辐射(包括宇宙射线,电磁干扰等因素),导致某些存储区域数据异常。
这些数据异常有些不重要而被系统忽略,或者可以被软件自动修复,但不是所有这类问题都能被修复和忽略。如果异常的数据区块是硬件故障引起的,或者该区块处于软件系统无法修复而且又不能忽略的情况,操作系统会重启该芯片,或者该板卡以尝试修复这个问题。如果是硬件问题,那无论软件怎么处理都不会解决该问题,只能换掉硬件,但如果不是硬件本身有问题,比如背景辐射触发的,重启则可以修复问题。
随着软件技术的增强,可以抵抗一部分Parity error造成的影响,但部分无法修复的错误仍是需要硬件重启可以解决。
此类问题的处理:
自动重启之后观察几天,若现象再次出现,则归结为是硬件问题,需要做RMA;若没有重现,则认为是出发的一次性问题,接着使用就好;另外可以更新软件以增强抵抗Parity error问题的能力。
对ASR9K来说,仍是第一时间开出case,需要收集的信息如下:
show version brief
show install active sum
admin show platform
admin show inventory
admin show diag
admin show redundancy
admin show context
show reboot history location X/X/CPU0 <<<<<故障板卡
show asic-error location X/X/CPU0 <<<<<故障板卡
show logging
将信息交给cisco TAC分析即可。